* 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 \
-DUSE_ICON
# Require Windows XP or later
#
# 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.
# In the absence of wspiapi.h, require Windows XP or later
ifeq ($(shell test -e $(CMDIR)/wspiapi.h; echo $$?),1)
BASE_CFLAGS += -DWINVER=0x501
endif
ifeq ($(USE_OPENAL),1)
BASE_CFLAGS += -DUSE_OPENAL

8
README
View file

@ -433,6 +433,14 @@ PNG support
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 -----

View file

@ -27,7 +27,14 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# include <winsock2.h>
# include <ws2tcpip.h>
# 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>
# endif
# else
# include <ws2spi.h>
# endif