[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