[vlc-devel] [3.0 PATCH 1/2] configure: Make the new value of _WIN32_WINNT available to configure tests
    Martin Storsjö 
    martin at martin.st
       
    Thu Apr  2 16:32:10 CEST 2020
    
    
  
Definitions from AH_TOP aren't included in the configure checks.
This was the original intent of e807c8e91.
This makes sure configure checks and actual compilation are run
with the same version defined.
EDIT: adapted to the default for 3.0 (0x502 or XP SP2), and to make
sure we don't force _WIN32_WINNT to a lower value than the toolchain
default.
(cherry picked from commit 0a27328b5ac2bc0e417c70f048131f783b201d04
and 255e2ce27954004b8e6aa65ed37266c422f08a58)
---
 configure.ac | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 93d2ae3bcd..80bb46483b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -218,9 +218,16 @@ case "${host_os}" in
     CXXFLAGS="${CXXFLAGS} -static-libgcc"
     AC_CHECK_TOOL(WINDRES, windres, :)
     AC_CHECK_TOOL(OBJCOPY, objcopy, :)
-    AH_TOP([#if defined(_WIN32) && !defined(_WIN32_WINNT)])
-    AH_TOP([# define _WIN32_WINNT 0x0502 /* Windows XP SP2 */])
-    AH_TOP([#endif])
+    AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
+      [[
+       #include <windows.h>
+       #if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0502
+       # error _WIN32_WINNT already high enough
+       #endif
+      ]],[[;]])
+    ],[
+      AC_DEFINE([_WIN32_WINNT], 0x0502, [Define to '0x0502' for Windows XP SP2.])
+    ])
     AC_DEFINE([_WIN32_IE], 0x0600, [Define to '0x0600' for IE 6.0 (and shell) APIs.])
     AC_DEFINE([_UNICODE], [1], [Define to 1 for Unicode (Wide Chars) APIs.])
     AC_DEFINE([UNICODE], [1], [Define to 1 for Unicode (Wide Chars) APIs.])
-- 
2.11.0
    
    
More information about the vlc-devel
mailing list