msvc: Fix compilation errors in compat/win32/sys/poll.c
authorRamsay Jones <ramsay@ramsay1.demon.co.uk>
Sat, 4 Dec 2010 18:54:28 +0000 (18:54 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 9 Dec 2010 19:13:55 +0000 (11:13 -0800)
The msvc winsock2.h header file conditionally defines or declares
poll() related symbols which cause many macro redefinition errors,
a struct type redefinition error and syntax errors. These symbols
are defined in support of the WSAPoll() API, new in Windows Vista,
when the symbol _WIN32_WINNT is defined and _WIN32_WINNT >= 0x0600.

In order to avoid the compilation errors, we set _WIN32_WINNT to
0x0502 (which would target Windows Server 2003) prior to including
the winsock2.h header file.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/win32/sys/poll.c

index 7e74ebe59a5ea2e31a9100659805ada0f5d8e278..708a6c9bec5c04cd95861b77475e54445c0d24fc 100644 (file)
@@ -34,6 +34,9 @@
 
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
 # define WIN32_NATIVE
+# if defined (_MSC_VER)
+#  define _WIN32_WINNT 0x0502
+# endif
 # include <winsock2.h>
 # include <windows.h>
 # include <io.h>