Eric Blake <[EMAIL PROTECTED]> writes: > Both patches installed, as proposed.
Thanks! >> However, I'm not sure this is the Right Thing. Why doesn't it work to >> include winsock2.h under cygwin? I.e., what's in your config.log when >> the above happen? > > On cygwin, you have a choice for socket implementations. Either you > use POSIX sockets, in which case you should never include winsock2.h > because POSIX doesn't specify it. Or you use winsock (which makes > your application unportable), and you should never use sys/socket.h > since Windows doesn't provide it. The cygwin headers are hard-coded > to reject inclusion of both methods, because they are vastly > incompatible. However, the cygwin community tends to frown on > including winsock, because then your application can only be used in > cygwin, as opposed to porting to arbitrary POSIX-like platforms. Ok, thanks, that's a good summary of things. I don't have a patch that I believe would improve the situation, so let's leave it as-is. >> Maybe there should be a USE_NATIVE_WIN32 define, which could be a >> configure-time parameter, i.e. --enable-native-win32, that toggles >> whether it should try to include winsock2.h etc or not. > > Maybe, but since the cygwin community tends to frown on raw usage of > winsock as being nonportable, it probably won't be used. It's much > easier if on cygwin, you pretend that winsock2.h doesn't even exist, > and stick with the POSIX way of doing sockets. Right. >> I'm worried that the logic you are proposing will break if MinGW will >> get a sys/socket.h at some time. > > Valid point, although as long as we filter all .m4 tests of > sys/socket through gl_HEADER_SYS_SOCKET, we will only have one point > to update if our current approach breaks. I don't follow mingw > closely enough to know if this is ever likely to happen, but I would > argue that we don't need to worry about it unless it does happen. Yup. I installed the patch below, to have one canonical module for sockpfaf.m4. 2006-07-06 Simon Josefsson <[EMAIL PROTECTED]> * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is now the canonical place for the M4 file). * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it from the sys_socket dependency now. * modules/inet_pton (Files): Ditto. * modules/inet_ntop (Files): Ditto. Index: modules/getaddrinfo =================================================================== RCS file: /sources/gnulib/gnulib/modules/getaddrinfo,v retrieving revision 1.8 diff -u -p -r1.8 getaddrinfo --- modules/getaddrinfo 5 Jul 2006 18:10:56 -0000 1.8 +++ modules/getaddrinfo 6 Jul 2006 13:51:35 -0000 @@ -6,7 +6,6 @@ lib/getaddrinfo.h lib/getaddrinfo.c lib/gai_strerror.c m4/getaddrinfo.m4 -m4/sockpfaf.m4 Depends-on: restrict Index: modules/inet_pton =================================================================== RCS file: /sources/gnulib/gnulib/modules/inet_pton,v retrieving revision 1.1 diff -u -p -r1.1 inet_pton --- modules/inet_pton 21 Jun 2006 09:59:49 -0000 1.1 +++ modules/inet_pton 6 Jul 2006 13:51:35 -0000 @@ -5,7 +5,6 @@ Files: lib/inet_pton.h lib/inet_pton.c m4/inet_pton.m4 -m4/sockpfaf.m4 Depends-on: restrict Index: modules/inet_ntop =================================================================== RCS file: /sources/gnulib/gnulib/modules/inet_ntop,v retrieving revision 1.4 diff -u -p -r1.4 inet_ntop --- modules/inet_ntop 20 Jan 2006 12:59:10 -0000 1.4 +++ modules/inet_ntop 6 Jul 2006 13:51:35 -0000 @@ -5,7 +5,6 @@ Files: lib/inet_ntop.h lib/inet_ntop.c m4/inet_ntop.m4 -m4/sockpfaf.m4 Depends-on: restrict Index: modules/sys_socket =================================================================== RCS file: /sources/gnulib/gnulib/modules/sys_socket,v retrieving revision 1.3 diff -u -p -r1.3 sys_socket --- modules/sys_socket 23 Jun 2006 19:27:17 -0000 1.3 +++ modules/sys_socket 6 Jul 2006 13:51:35 -0000 @@ -4,6 +4,7 @@ A <sys/socket.h> for systems lacking it. Files: lib/socket_.h m4/sys_socket_h.m4 +m4/sockpfaf.m4 Depends-on: