Fix some problems found while compiling and linking Wine under Cygwin

Dmitry Timoshkov dmitry at baikal.ru
Sun Oct 12 06:51:50 CDT 2003


Hello,

Changelog:
    Dmitry Timoshkov <dmitry at codeweavers.com>
    Fix some problems found while compiling and linking Wine under Cygwin.

diff -up cvs/hq/wine/configure.ac wine/configure.ac
--- cvs/hq/wine/configure.ac	Sat Oct 11 12:11:46 2003
+++ wine/configure.ac	Sun Oct 12 10:54:02 2003
@@ -969,6 +969,7 @@ AC_CHECK_FUNCS(\
 	popen \
 	pread \
 	pwrite \
+	res_init \
 	rfork \
 	select \
 	sendmsg \
@@ -1020,6 +1021,7 @@ AC_CHECK_HEADERS(\
 	netinet/tcp.h \
 	netinet/tcp_fsm.h \
 	openssl/ssl.h \
+	process.h \
 	pty.h \
 	pwd.h \
 	regex.h \
@@ -1148,7 +1150,7 @@ dnl **** Check for types ****
 
 AC_C_CONST
 AC_C_INLINE
-AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t])
+AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, struct __res_state])
 AC_CHECK_SIZEOF(long long,0)
 
 AC_CACHE_CHECK([whether linux/input.h is for real],
diff -up cvs/hq/wine/dlls/gdi/Makefile.in wine/dlls/gdi/Makefile.in
--- cvs/hq/wine/dlls/gdi/Makefile.in	Sat Oct 11 12:11:48 2003
+++ wine/dlls/gdi/Makefile.in	Sun Oct 12 09:00:00 2003
@@ -4,7 +4,7 @@ TOPOBJDIR = ../..
 SRCDIR    = @srcdir@
 VPATH     = @srcdir@
 MODULE    = gdi32.dll
-IMPORTS   = advapi32 kernel32
+IMPORTS   = advapi32 kernel32 ntdll
 ALTNAMES  = gdi.exe dispdib.dll wing.dll
 EXTRAINCL = @FREETYPEINCL@
 EXTRALIBS = $(LIBUNICODE) @ICULIBS@
diff -up cvs/hq/wine/dlls/iphlpapi/ifenum.c wine/dlls/iphlpapi/ifenum.c
--- cvs/hq/wine/dlls/iphlpapi/ifenum.c	Sat Sep 06 03:24:44 2003
+++ wine/dlls/iphlpapi/ifenum.c	Sun Oct 12 09:38:16 2003
@@ -565,34 +565,48 @@ DWORD getInterfacePhysicalByName(const c
 
       switch (ifr.ifr_hwaddr.sa_family)
       {
+#ifdef ARPHRD_LOOPBACK
         case ARPHRD_LOOPBACK:
           addrLen = 0;
           *type = MIB_IF_TYPE_LOOPBACK;
           break;
+#endif
+#ifdef ARPHRD_ETHER
         case ARPHRD_ETHER:
           addrLen = ETH_ALEN;
           *type = MIB_IF_TYPE_ETHERNET;
           break;
+#endif
+#ifdef ARPHRD_FDDI
         case ARPHRD_FDDI:
           addrLen = ETH_ALEN;
           *type = MIB_IF_TYPE_FDDI;
           break;
+#endif
+#ifdef ARPHRD_IEEE802
         case ARPHRD_IEEE802: /* 802.2 Ethernet && Token Ring, guess TR? */
           addrLen = ETH_ALEN;
           *type = MIB_IF_TYPE_TOKENRING;
           break;
+#endif
+#ifdef ARPHRD_IEEE802_TR
         case ARPHRD_IEEE802_TR: /* also Token Ring? */
           addrLen = ETH_ALEN;
           *type = MIB_IF_TYPE_TOKENRING;
           break;
+#endif
+#ifdef ARPHRD_SLIP
         case ARPHRD_SLIP:
           addrLen = 0;
           *type = MIB_IF_TYPE_SLIP;
           break;
+#endif
+#ifdef ARPHRD_PPP
         case ARPHRD_PPP:
           addrLen = 0;
           *type = MIB_IF_TYPE_PPP;
           break;
+#endif
         default:
           addrLen = min(MAX_INTERFACE_PHYSADDR, sizeof(ifr.ifr_hwaddr.sa_data));
           *type = MIB_IF_TYPE_OTHER;
diff -up cvs/hq/wine/dlls/iphlpapi/iphlpapi_main.c wine/dlls/iphlpapi/iphlpapi_main.c
--- cvs/hq/wine/dlls/iphlpapi/iphlpapi_main.c	Tue Sep 09 01:19:58 2003
+++ wine/dlls/iphlpapi/iphlpapi_main.c	Sun Oct 12 09:40:02 2003
@@ -1192,6 +1192,7 @@ DWORD WINAPI GetNetworkParams(PFIXED_INF
   if (!pOutBufLen)
     return ERROR_INVALID_PARAMETER;
 
+#ifdef HAVE_RES_INIT
   res_init();
   size = sizeof(FIXED_INFO) + (_res.nscount > 0 ? (_res.nscount  - 1) *
    sizeof(IP_ADDR_STRING) : 0);
@@ -1231,6 +1232,7 @@ DWORD WINAPI GetNetworkParams(PFIXED_INF
     RegQueryValueExA(hKey, "ScopeID", NULL, NULL, pFixedInfo->ScopeId, &size);
     RegCloseKey(hKey);
   }
+#endif
 
   /* FIXME: can check whether routing's enabled in /proc/sys/net/ipv4/ip_forward
      I suppose could also check for a listener on port 53 to set EnableDns */
diff -up cvs/hq/wine/dlls/iphlpapi/ipstats.c wine/dlls/iphlpapi/ipstats.c
--- cvs/hq/wine/dlls/iphlpapi/ipstats.c	Tue Sep 30 01:29:24 2003
+++ wine/dlls/iphlpapi/ipstats.c	Sun Oct 12 10:10:28 2003
@@ -53,37 +53,37 @@
 #include "ifenum.h"
 #include "ipstats.h"
 
-#ifndef TCPS_ESTABLISHED
+#if !defined TCPS_ESTABLISHED && defined TCP_ESTABLISHED
 # define TCPS_ESTABLISHED TCP_ESTABLISHED
 #endif
-#ifndef TCPS_SYN_SENT
+#if !defined TCPS_SYN_SENT && defined TCP_SYN_SENT
 # define TCPS_SYN_SENT TCP_SYN_SENT
 #endif
-#ifndef TCPS_SYN_RECEIVED
+#if !defined TCPS_SYN_RECEIVED && defined TCP_SYN_RECV
 # define TCPS_SYN_RECEIVED TCP_SYN_RECV
 #endif
-#ifndef TCPS_FIN_WAIT_1
+#if !defined TCPS_FIN_WAIT_1 && defined TCP_FIN_WAIT1
 # define TCPS_FIN_WAIT_1 TCP_FIN_WAIT1
 #endif
-#ifndef TCPS_FIN_WAIT_2
+#if !defined TCPS_FIN_WAIT_2 && defined TCP_FIN_WAIT2
 # define TCPS_FIN_WAIT_2 TCP_FIN_WAIT2
 #endif
-#ifndef TCPS_TIME_WAIT
+#if !defined TCPS_TIME_WAIT && defined TCP_TIME_WAIT
 # define TCPS_TIME_WAIT TCP_TIME_WAIT
 #endif
-#ifndef TCPS_CLOSED
+#if !defined TCPS_CLOSED && defined TCP_CLOSE
 # define TCPS_CLOSED TCP_CLOSE
 #endif
-#ifndef TCPS_CLOSE_WAIT
+#if !defined TCPS_CLOSE_WAIT && defined TCP_CLOSE_WAIT
 # define TCPS_CLOSE_WAIT TCP_CLOSE_WAIT
 #endif
-#ifndef TCPS_LAST_ACK
+#if !defined TCPS_LAST_ACK && defined TCP_LAST_ACK
 # define TCPS_LAST_ACK TCP_LAST_ACK
 #endif
-#ifndef TCPS_LISTEN
+#if !defined TCPS_LISTEN && defined TCP_LISTEN
 # define TCPS_LISTEN TCP_LISTEN
 #endif
-#ifndef TCPS_CLOSING
+#if !defined TCPS_CLOSING && defined TCP_CLOSING
 # define TCPS_CLOSING TCP_CLOSING
 #endif
 
@@ -686,11 +686,16 @@ PMIB_IPNETTABLE getArpTable(void)
           if (ptr && *ptr) {
             DWORD flags = strtoul(ptr, &endPtr, 16);
 
+#ifdef ATF_COM
             if (flags & ATF_COM)
               ret->table[ret->dwNumEntries].dwType = MIB_IPNET_TYPE_DYNAMIC;
-            else if (flags & ATF_PERM)
+            else
+#endif
+#ifdef ATF_PERM
+            if (flags & ATF_PERM)
               ret->table[ret->dwNumEntries].dwType = MIB_IPNET_TYPE_STATIC;
             else
+#endif
               ret->table[ret->dwNumEntries].dwType = MIB_IPNET_TYPE_OTHER;
 
             ptr = endPtr;
@@ -831,40 +836,62 @@ PMIB_TCPTABLE getTcpTable(void)
 
             switch (state)
             {
+#ifdef TCPS_ESTABLISHED
               case TCPS_ESTABLISHED:
                 ret->table[ret->dwNumEntries].dwState = MIB_TCP_STATE_ESTAB;
                 break;
+#endif
+#ifdef TCPS_SYN_SENT
               case TCPS_SYN_SENT:
                 ret->table[ret->dwNumEntries].dwState = MIB_TCP_STATE_SYN_SENT;
                 break;
+#endif
+#ifdef TCPS_SYN_RECEIVED
               case TCPS_SYN_RECEIVED:
                 ret->table[ret->dwNumEntries].dwState = MIB_TCP_STATE_SYN_RCVD;
                 break;
+#endif
+#ifdef TCPS_FIN_WAIT_1
               case TCPS_FIN_WAIT_1:
                 ret->table[ret->dwNumEntries].dwState = MIB_TCP_STATE_FIN_WAIT1;
                 break;
+#endif
+#ifdef TCPS_FIN_WAIT_2
               case TCPS_FIN_WAIT_2:
                 ret->table[ret->dwNumEntries].dwState = MIB_TCP_STATE_FIN_WAIT2;
                 break;
+#endif
+#ifdef TCPS_TIME_WAIT
               case TCPS_TIME_WAIT:
                 ret->table[ret->dwNumEntries].dwState = MIB_TCP_STATE_TIME_WAIT;
                 break;
+#endif
+#ifdef TCPS_CLOSED
               case TCPS_CLOSED:
                 ret->table[ret->dwNumEntries].dwState = MIB_TCP_STATE_CLOSED;
                 break;
+#endif
+#ifdef TCPS_CLOSE_WAIT
               case TCPS_CLOSE_WAIT:
                 ret->table[ret->dwNumEntries].dwState =
                  MIB_TCP_STATE_CLOSE_WAIT;
                 break;
+#endif
+#ifdef TCPS_LAST_ACK
               case TCPS_LAST_ACK:
                 ret->table[ret->dwNumEntries].dwState = MIB_TCP_STATE_LAST_ACK;
                 break;
+#endif
+#ifdef TCPS_LISTEN
               case TCPS_LISTEN:
                 ret->table[ret->dwNumEntries].dwState = MIB_TCP_STATE_LISTEN;
                 break;
+#endif
+#ifdef TCPS_CLOSING
               case TCPS_CLOSING:
                 ret->table[ret->dwNumEntries].dwState = MIB_TCP_STATE_CLOSING;
                 break;
+#endif
             }
             ptr = endPtr;
           }
diff -up cvs/hq/wine/dlls/mshtml/mshtml.spec wine/dlls/mshtml/mshtml.spec
--- cvs/hq/wine/dlls/mshtml/mshtml.spec	Mon Sep 08 19:32:14 2003
+++ wine/dlls/mshtml/mshtml.spec	Sun Oct 12 10:24:28 2003
@@ -10,7 +10,7 @@
 9 stub DllUnregisterServer
 10 stub MatchExactGetIDsOfNames
 11 stub RNIGetCompatibleVersion
-12 stdcall RunHTMLApplication()
+12 stdcall RunHTMLApplication(long long str long)
 13 stub ShowHTMLDialog
 14 stub ShowModalDialog
 15 stub ShowModelessHTMLDialog
diff -up cvs/hq/wine/dlls/msi/msi.spec wine/dlls/msi/msi.spec
--- cvs/hq/wine/dlls/msi/msi.spec	Fri Oct 03 11:15:28 2003
+++ wine/dlls/msi/msi.spec	Sun Oct 12 10:29:28 2003
@@ -28,13 +28,13 @@
 28 stdcall MsiDatabaseImportW(wstr wstr)
 29 stub MsiDatabaseMergeA
 30 stub MsiDatabaseMergeW
-31 stdcall MsiDatabaseOpenViewA(str ptr)
-32 stdcall MsiDatabaseOpenViewW(wstr ptr)
+31 stdcall MsiDatabaseOpenViewA(long str ptr)
+32 stdcall MsiDatabaseOpenViewW(long wstr ptr)
 33 stdcall MsiDoActionA(long str)
 34 stdcall MsiDoActionW(long wstr)
 35 stub MsiEnableUIPreview
-36 stdcall MsiEnumClientsA(long ptr)
-37 stdcall MsiEnumClientsW(long ptr)
+36 stdcall MsiEnumClientsA(str long ptr)
+37 stdcall MsiEnumClientsW(wstr long ptr)
 38 stdcall MsiEnumComponentQualifiersA(str long str ptr str ptr)
 39 stdcall MsiEnumComponentQualifiersW(wstr long wstr ptr wstr ptr)
 40 stdcall MsiEnumComponentsA(long ptr)
@@ -74,8 +74,8 @@
 74 stub MsiGetPropertyW
 75 stub MsiGetSourcePathA
 76 stub MsiGetSourcePathW
-77 stdcall MsiGetSummaryInformationA(str long ptr)
-78 stdcall MsiGetSummaryInformationW(wstr long ptr)
+77 stdcall MsiGetSummaryInformationA(long str long ptr)
+78 stdcall MsiGetSummaryInformationW(long wstr long ptr)
 79 stub MsiGetTargetPathA
 80 stub MsiGetTargetPathW
 81 stub MsiGetUserInfoA
diff -up cvs/hq/wine/dlls/rpcrt4/Makefile.in wine/dlls/rpcrt4/Makefile.in
--- cvs/hq/wine/dlls/rpcrt4/Makefile.in	Sat Oct 11 12:11:50 2003
+++ wine/dlls/rpcrt4/Makefile.in	Sun Oct 12 10:34:38 2003
@@ -4,7 +4,7 @@ TOPOBJDIR = ../..
 SRCDIR    = @srcdir@
 VPATH     = @srcdir@
 MODULE    = rpcrt4.dll
-IMPORTS   = advapi32 kernel32
+IMPORTS   = advapi32 kernel32 ntdll
 EXTRALIBS = $(LIBUUID)
 
 C_SRCS = \
diff -up cvs/hq/wine/dlls/wininet/internet.h wine/dlls/wininet/internet.h
--- cvs/hq/wine/dlls/wininet/internet.h	Thu Sep 25 22:47:58 2003
+++ wine/dlls/wininet/internet.h	Sun Oct 12 10:43:10 2003
@@ -36,6 +36,9 @@
 # include <openssl/ssl.h>
 #undef DSA
 #endif
+#ifdef HAVE_SYS_SOCKET_H
+# include <sys/socket.h>
+#endif
 
 /* used for netconnection.c stuff */
 typedef struct
diff -up cvs/hq/wine/dlls/wininet/Makefile.in wine/dlls/wininet/Makefile.in
--- cvs/hq/wine/dlls/wininet/Makefile.in	Sat Oct 11 12:11:50 2003
+++ wine/dlls/wininet/Makefile.in	Sun Oct 12 10:41:58 2003
@@ -4,7 +4,7 @@ TOPOBJDIR = ../..
 SRCDIR    = @srcdir@
 VPATH     = @srcdir@
 MODULE    = wininet.dll
-IMPORTS   = mpr shlwapi shell32 user32 advapi32 kernel32
+IMPORTS   = mpr shlwapi shell32 user32 advapi32 kernel32 ntdll
 EXTRALIBS = $(LIBUNICODE)
 
 C_SRCS = \
diff -up cvs/hq/wine/dlls/winsock/socket.c wine/dlls/winsock/socket.c
--- cvs/hq/wine/dlls/winsock/socket.c	Tue Sep 30 01:29:30 2003
+++ wine/dlls/winsock/socket.c	Sun Oct 12 09:27:56 2003
@@ -283,7 +283,9 @@ static const int ws_ip_map[][2] =
     MAP_OPTION( IP_ADD_MEMBERSHIP ),
     MAP_OPTION( IP_DROP_MEMBERSHIP ),
     MAP_OPTION( IP_OPTIONS ),
+#ifdef IP_HDRINCL
     MAP_OPTION( IP_HDRINCL ),
+#endif
     MAP_OPTION( IP_TOS ),
     MAP_OPTION( IP_TTL ),
     { 0, 0 }
@@ -2032,8 +2034,10 @@ INT WINAPI WSAIoctl (SOCKET s,
                            intArray->iiFlags = 0;
                            if (ifInfo.ifr_flags & IFF_BROADCAST)
                               intArray->iiFlags |= WS_IFF_BROADCAST;
+#ifdef IFF_POINTOPOINT
                            if (ifInfo.ifr_flags & IFF_POINTOPOINT)
                               intArray->iiFlags |= WS_IFF_POINTTOPOINT;
+#endif
                            if (ifInfo.ifr_flags & IFF_LOOPBACK)
                               intArray->iiFlags |= WS_IFF_LOOPBACK;
                            if (ifInfo.ifr_flags & IFF_UP)
diff -up cvs/hq/wine/include/config.h.in wine/include/config.h.in
--- cvs/hq/wine/include/config.h.in	Wed Oct 08 01:45:40 2003
+++ wine/include/config.h.in	Sun Oct 12 11:02:16 2003
@@ -395,6 +395,9 @@
 /* Define to 1 if you have the `pread' function. */
 #undef HAVE_PREAD
 
+/* Define to 1 if you have the <process.h> header file. */
+#undef HAVE_PROCESS_H
+
 /* Define to 1 if the system has the type `pthread_rwlockattr_t'. */
 #undef HAVE_PTHREAD_RWLOCKATTR_T
 
@@ -419,8 +422,14 @@
 /* Define to 1 if you have the <resolv.h> header file. */
 #undef HAVE_RESOLV_H
 
+/* Define to 1 if you have the `res_init' function. */
+#undef HAVE_RES_INIT
+
 /* Define to 1 if you have the `rfork' function. */
 #undef HAVE_RFORK
+
+/* Define to 1 if the system has the type `struct __res_state'. */
+#undef HAVE___RES_STATE
 
 /* Define if we have SANE development environment */
 #undef HAVE_SANE
diff -up cvs/hq/wine/include/wine/port.h wine/include/wine/port.h
--- cvs/hq/wine/include/wine/port.h	Thu Sep 25 02:55:26 2003
+++ wine/include/wine/port.h	Sun Oct 12 08:52:44 2003
@@ -36,6 +36,9 @@
 #ifdef HAVE_IO_H
 # include <io.h>
 #endif
+#ifdef HAVE_PROCESS_H
+# include <process.h>
+#endif
 #include <string.h>
 #ifdef HAVE_UNISTD_H
 # include <unistd.h>
diff -up cvs/hq/wine/libs/wine/wine.def wine/libs/wine/wine.def
--- cvs/hq/wine/libs/wine/wine.def	Fri May 02 01:28:12 2003
+++ wine/libs/wine/wine.def	Sun Oct 12 08:43:54 2003
@@ -11,6 +11,7 @@ EXPORTS
     __wine_dll_register
     __wine_main_argc
     __wine_main_argv
+    __wine_main_environ
     __wine_main_wargv
     wine_anon_mmap
     wine_dbg_add_option
@@ -29,6 +30,7 @@ EXPORTS
     wine_dll_unload
     wine_dlopen
     wine_dlsym
+    wine_get_argv0_path
     wine_get_config_dir
     wine_get_cs
     wine_get_ds
@@ -50,5 +52,8 @@ EXPORTS
     wine_ldt_init_locking
     wine_ldt_realloc_entries
     wine_ldt_set_entry
+    wine_pthread_init_process
+    wine_pthread_init_thread
     wine_set_fs
     wine_set_gs
+    wine_switch_to_stack
diff -up cvs/hq/wine/scheduler/pthread.c wine/scheduler/pthread.c
--- cvs/hq/wine/scheduler/pthread.c	Fri Oct 03 11:15:46 2003
+++ wine/scheduler/pthread.c	Sun Oct 12 11:43:32 2003
@@ -76,7 +76,9 @@ struct pthread_descr_struct
     int                thread_h_errno;
     int                cancel_state;
     int                cancel_type;
+#ifdef HAVE___RES_STATE
     struct __res_state res_state;
+#endif
     const void        *key_data[MAX_KEYS];  /* for normal pthread keys */
     const void        *tsd_data[MAX_TSD];   /* for libc internal tsd variables */
 };
@@ -123,11 +125,13 @@ int *__h_errno_location(void)
     return &descr->thread_h_errno;
 }
 
+#ifdef HAVE___RES_STATE
 struct __res_state *__res_state(void)
 {
     pthread_descr descr = __pthread_thread_self();
     return &descr->res_state;
 }
+#endif
 
 static inline void writejump( const char *symbol, void *dest )
 {
@@ -161,7 +165,9 @@ void wine_pthread_init_process( const st
     initial_descr.cancel_type  = PTHREAD_CANCEL_ASYNCHRONOUS;
     writejump( "__errno_location", __errno_location );
     writejump( "__h_errno_location", __h_errno_location );
+#ifdef HAVE___RES_STATE
     writejump( "__res_state", __res_state );
+#endif
     if (libc_uselocale) libc_uselocale( -1 /*LC_GLOBAL_LOCALE*/ );
 }
 
diff -up cvs/hq/wine/tools/winegcc/utils.c wine/tools/winegcc/utils.c
--- cvs/hq/wine/tools/winegcc/utils.c	Thu Sep 11 22:16:34 2003
+++ wine/tools/winegcc/utils.c	Sun Oct 12 09:17:22 2003
@@ -27,6 +27,9 @@
 #include <stdarg.h>
 #include <stdlib.h>
 #include <errno.h>
+#ifdef HAVE_PROCESS_H
+# include <process.h>
+#endif
 
 #include "utils.h"
 






More information about the wine-patches mailing list