Browse Source

Improvements to scons defined WINVER/_WIN32_WINNT

(cherry picked from commit 65483d57bf322f847ecb1ab906e8f4fac49f2557)
Fabio Alessandrelli 8 years ago
parent
commit
9c8ecb45f8
4 changed files with 12 additions and 10 deletions
  1. 0 4
      drivers/unix/ip_unix.cpp
  2. 5 5
      drivers/unix/socket_helpers.h
  3. 3 1
      platform/windows/detect.py
  4. 4 0
      platform/winrt/detect.py

+ 0 - 4
drivers/unix/ip_unix.cpp

@@ -33,10 +33,6 @@
 #include <string.h>
 
 #ifdef WINDOWS_ENABLED
-  // Workaround mingw missing flags!
-  #ifndef AI_ADDRCONFIG
-    #define AI_ADDRCONFIG 0x00000400
-  #endif
   #include <ws2tcpip.h>
   #include <winsock2.h>
   #include <windows.h>

+ 5 - 5
drivers/unix/socket_helpers.h

@@ -3,11 +3,11 @@
 
 #include <string.h>
 
-#ifdef WINDOWS_ENABLED
- // Workaround mingw missing flags!
- #ifndef IPV6_V6ONLY
-  #define IPV6_V6ONLY 27
- #endif
+#if defined(__MINGW32__ ) && (!defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 4)
+  // Workaround for mingw-w64 < 4.0
+  #ifndef IPV6_V6ONLY
+    #define IPV6_V6ONLY 27
+  #endif
 #endif
 
 // helpers for sockaddr -> IP_Address and back, should work for posix and winsock. All implementations should use this

+ 3 - 1
platform/windows/detect.py

@@ -200,7 +200,7 @@ def configure(env):
     env.Append(CPPPATH=['#platform/windows'])
 
     # Targeted Windows version: Vista (and later)
-    env.Append(CPPFLAGS=['-D_WIN32_WINNT=0x0600'])
+    winver = "0x0600" # Windows Vista is the minimum target for windows builds
 
     env['is_mingw'] = False
     if (os.name == "nt" and os.getenv("VSINSTALLDIR") != None):
@@ -208,6 +208,7 @@ def configure(env):
         env['ENV']['TMP'] = os.environ['TMP']
         env.Append(CPPPATH=['#platform/windows/include'])
         env.Append(LIBPATH=['#platform/windows/lib'])
+        env.Append(CCFLAGS=['/DWINVER=%s' % winver, '/D_WIN32_WINNT=%s' % winver])
 
         if (env["target"] == "release"):
 
@@ -298,6 +299,7 @@ def configure(env):
         env.use_windows_spawn_fix()
 
         # build using mingw
+        env.Append(CCFLAGS=['-DWINVER=%s' % winver, '-D_WIN32_WINNT=%s' % winver])
         if (os.name == "nt"):
             env['ENV']['TMP'] = os.environ['TMP']  # way to go scons, you can be so stupid sometimes
         else:

+ 4 - 0
platform/winrt/detect.py

@@ -136,8 +136,12 @@ def configure(env):
     env.Append(CCFLAGS=['/DGLES2_ENABLED'])
     # env.Append(CCFLAGS=['/DGLES1_ENABLED'])
 
+    winver = "0x0602" # Windows 8 is the minimum target for UWP build
+    env.Append(CCFLAGS=['/DWINVER=%s' % winver, '/D_WIN32_WINNT=%s' % winver])
+
     LIBS = [
         #'winmm',
+        'ws2_32',
         'libEGL',
         'libGLESv2',
         'libANGLE',