Eric Blake <ebl...@redhat.com> writes:

> Since commit 4e86671a, gethostname failed to compile on mingw.
> Gnulib's sys/socket.h includes winsock2.h, which then includes
> unistd.h prior to declaring gethostname.  The fix is to ensure
> that our replacement unistd.h does not declare any replacements
> until we are sure that winsock2.h is completely included.

Testing the patch like this:

rm -rf m && gnulib-tool --create-testdir --dir m  getsubopt  gethostname && cd 
m && ./configure --host=i586-mingw32msvc --build=i686-pc-linux-gnu && make check

results in:

make[3]: Entering directory `/home/jas/src/gnulib/m/gllib'
i586-mingw32msvc-gcc -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT close-hook.o -MD 
-MP -MF .deps/close-hook.Tpo -c -o close-hook.o close-hook.c
In file included from close-hook.c:24:
./unistd.h:27:6: error: token "@" is not valid in preprocessor expressions
./unistd.h:30:4: error: #error unexpected; report this to bug-gnulib@gnu.org
make[3]: *** [close-hook.o] Error 1
make[3]: Leaving directory `/home/jas/src/gnulib/m/gllib'

/Simon


Reply via email to