http://bugs.winehq.org/show_bug.cgi?id=16660
Summary: build broken in dlls/inetcomm/internettransport.c on OpenBSD Product: Wine Version: 1.1.11 Platform: PC OS/Version: OpenBSD Status: NEW Keywords: patch, source Severity: major Priority: P2 Component: build-env AssignedTo: wine-bugs@winehq.org ReportedBy: austinenglish@gmail.com
gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wwrite-strings -Wpointer-arith -I/usr/local/include -g -O2 -o internettransport.o internettransport.c In file included from internettransport.c:31: ../../include/ws2tcpip.h:60: error: conflicting types for `socklen_t' /usr/include/sys/types.h:163: error: previous declaration of `socklen_t' internettransport.c: In function `InternetTransport_WndProc': internettransport.c:348: error: syntax error before "infd" internettransport.c:379: warning: implicit declaration of function `Include_winsock_h_before_stdlib_h_or_use_the_MSVCRT_library' internettransport.c:379: error: `infd' undeclared (first use in this function) internettransport.c:379: error: (Each undeclared identifier is reported only once internettransport.c:379: error: for each function it appears in.) *** Error code 1
Below patch fixes it. Haven't submitted to wine-patches yet, I got it from the OpenBSD wine port, but I'm not familiar enough with the networking code to know it's right. Would someone mind taking a look? Feel free to submit it yourself if it's right ;-).
diff --git a/include/ws2tcpip.h b/include/ws2tcpip.h index a38ccda..dd7a60c 100644 --- a/include/ws2tcpip.h +++ b/include/ws2tcpip.h @@ -57,7 +57,9 @@ typedef struct WS(addrinfoW) struct WS(addrinfoW)* ai_next; } ADDRINFOW, *PADDRINFOW;
+#ifdef USE_WS_PREFIX typedef int WS(socklen_t); +#undef
typedef ADDRINFOA ADDRINFO, *LPADDRINFO;