* Use IPv6 header qcommon/wspiapi.h if it has been added by the end user

* Update README to explain the Windows XP requirement
This commit is contained in:
Tim Angus 2008-08-09 19:12:30 +00:00
parent 60eb261185
commit 7edcc7d16a
3 changed files with 60 additions and 49 deletions

View file

@ -423,14 +423,10 @@ ifeq ($(PLATFORM),mingw32)
BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \ BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
-DUSE_ICON -DUSE_ICON
# Require Windows XP or later # In the absence of wspiapi.h, require Windows XP or later
# ifeq ($(shell test -e $(CMDIR)/wspiapi.h; echo $$?),1)
# IPv6 support requires a header wspiapi.h to work on earlier versions of
# windows. There is no MinGW equivalent of this header so we're forced to
# require XP. In theory this restriction can be removed if this header is
# obtained separately from the platform SDK. The MSVC build does not have
# this limitation.
BASE_CFLAGS += -DWINVER=0x501 BASE_CFLAGS += -DWINVER=0x501
endif
ifeq ($(USE_OPENAL),1) ifeq ($(USE_OPENAL),1)
BASE_CFLAGS += -DUSE_OPENAL BASE_CFLAGS += -DUSE_OPENAL

8
README
View file

@ -433,6 +433,14 @@ PNG support
Restart GtkRadiant and PNG textures are now available. Restart GtkRadiant and PNG textures are now available.
Building with MinGW for pre Windows XP
IPv6 support requires a header named "wspiapi.h" to abstract away from
differences in earlier versions of Windows' IPv6 stack. There is no MinGW
equivalent of this header and the Microsoft version is obviously not
redistributable, so in its absence we're forced to require Windows XP.
However if this header is acquired separately and placed in the qcommon/
directory, this restriction is lifted.
------------------------------------------------------------- Contributing ----- ------------------------------------------------------------- Contributing -----

View file

@ -27,7 +27,14 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# include <winsock2.h> # include <winsock2.h>
# include <ws2tcpip.h> # include <ws2tcpip.h>
# if WINVER < 0x501 # if WINVER < 0x501
# ifdef __MINGW32__
// wspiapi.h isn't available on MinGW, so if it's
// present it's because the end user has added it
// and we should look for it in our tree
# include "wspiapi.h"
# else
# include <wspiapi.h> # include <wspiapi.h>
# endif
# else # else
# include <ws2spi.h> # include <ws2spi.h>
# endif # endif