From 65483d57bf322f847ecb1ab906e8f4fac49f2557 Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Thu, 3 Nov 2016 05:20:26 +0100 Subject: [PATCH] Improvements to scons defined WINVER/_WIN32_WINNT --- drivers/unix/ip_unix.cpp | 4 ---- drivers/unix/socket_helpers.h | 14 +++++--------- platform/uwp/detect.py | 4 ++++ platform/windows/detect.py | 4 +++- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/drivers/unix/ip_unix.cpp b/drivers/unix/ip_unix.cpp index ffb37b4f59..fc0b3faccc 100644 --- a/drivers/unix/ip_unix.cpp +++ b/drivers/unix/ip_unix.cpp @@ -33,10 +33,6 @@ #include #ifdef WINDOWS_ENABLED - // Workaround mingw missing flags! - #ifndef AI_ADDRCONFIG - #define AI_ADDRCONFIG 0x00000400 - #endif #include #include #include diff --git a/drivers/unix/socket_helpers.h b/drivers/unix/socket_helpers.h index 962f228c3c..6d4f7e7519 100644 --- a/drivers/unix/socket_helpers.h +++ b/drivers/unix/socket_helpers.h @@ -3,15 +3,11 @@ #include -#ifdef WINDOWS_ENABLED - // Workaround mingw missing flags! - #ifndef IPV6_V6ONLY - #define IPV6_V6ONLY 27 - #endif -#endif - -#ifdef UWP_ENABLED -#define in6addr_any IN6ADDR_ANY_INIT +#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 diff --git a/platform/uwp/detect.py b/platform/uwp/detect.py index 6eb4ca9caa..f1e0716241 100644 --- a/platform/uwp/detect.py +++ b/platform/uwp/detect.py @@ -145,9 +145,13 @@ def configure(env): env.Append(CCFLAGS=['/DGLES2_ENABLED', '/DGL_GLEXT_PROTOTYPES', '/DEGL_EGLEXT_PROTOTYPES', '/DANGLE_ENABLED']) + winver = "0x0602" # Windows 8 is the minimum target for UWP build + env.Append(CCFLAGS=['/DWINVER=%s' % winver, '/D_WIN32_WINNT=%s' % winver]) + LIBS = [ 'WindowsApp', 'mincore', + 'ws2_32', 'libANGLE', 'libEGL', 'libGLESv2', diff --git a/platform/windows/detect.py b/platform/windows/detect.py index 1f3c7a7654..382783d6bc 100644 --- a/platform/windows/detect.py +++ b/platform/windows/detect.py @@ -209,7 +209,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("VCINSTALLDIR")): @@ -217,6 +217,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"): @@ -311,6 +312,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: