Hi Simon, The sockets.h file is not self-contained on mingw: It leads to a compilation, as in the attached snippet.
This fixes it. The modification in sockets.h has the purpose to verify the self-contained-ness. Hopefully this is uncontroversial, so I'm committing it. 2009-03-20 Bruno Haible <br...@clisp.org> * lib/sockets.c: Include sockets.h first. * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type. --- lib/sockets.c.orig 2009-03-20 15:21:17.000000000 +0100 +++ lib/sockets.c 2009-03-20 15:17:46.000000000 +0100 @@ -1,6 +1,6 @@ /* sockets.c --- wrappers for Windows socket functions - Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008-2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,11 +19,12 @@ #include <config.h> +/* Specification. */ +#include "sockets.h" + /* This includes winsock2.h on MinGW. */ #include <sys/socket.h> -#include "sockets.h" - int gl_sockets_startup (int version) { --- lib/sockets.h.orig 2009-03-20 15:21:17.000000000 +0100 +++ lib/sockets.h 2009-03-20 15:18:51.000000000 +0100 @@ -33,13 +33,19 @@ Winsock wrappers but needs to pass on the socket handle to some other library that only accepts sockets. */ #if WINDOWS_SOCKETS + +#include <sys/socket.h> + static inline SOCKET gl_fd_to_handle (int fd) { return _get_osfhandle (fd); } + #else + #define gl_fd_to_handle(x) (x) -#endif -#endif +#endif /* WINDOWS_SOCKETS */ + +#endif /* SOCKETS_H */
<<inline: sockets.h-error.png>>