Commit 0673e448f0f302722b12d3ad03c8534d1fab4a6a

Ozkan Sezer 2021-12-20T01:03:56

autotools: improved detection of windows.gaming.input.h similar to cmake commit 83583dc49d

diff --git a/configure b/configure
index b059a49..ebf2730 100755
--- a/configure
+++ b/configure
@@ -24861,11 +24861,31 @@ $as_echo "#define HAVE_XINPUT_STATE_EX 1" >>confdefs.h
         fi
     fi
 
-    ac_fn_c_check_header_mongrel "$LINENO" "windows.gaming.input.h" "ac_cv_header_windows_gaming_input_h" "$ac_includes_default"
-if test "x$ac_cv_header_windows_gaming_input_h" = xyes; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for windows.gaming.input.h" >&5
+$as_echo_n "checking for windows.gaming.input.h... " >&6; }
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#define COBJMACROS
+#include <windows.gaming.input.h>
+__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2 *s2;
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
   have_wgi=yes
+else
+  have_wgi=no
 fi
-
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_wgi" >&5
+$as_echo "$have_wgi" >&6; }
 
     if test x$have_wgi = xyes; then
 
diff --git a/configure.ac b/configure.ac
index 623d5f1..88039b1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3271,7 +3271,14 @@ XINPUT_STATE_EX s1;
         fi
     fi
 
-    AC_CHECK_HEADER(windows.gaming.input.h, have_wgi=yes)
+    AC_MSG_CHECKING(for windows.gaming.input.h)
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#define COBJMACROS
+#include <windows.gaming.input.h>
+__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2 *s2;
+        ]],[])], [have_wgi=yes],[have_wgi=no])
+    AC_MSG_RESULT($have_wgi)
+
     if test x$have_wgi = xyes; then
         AC_DEFINE(HAVE_WINDOWS_GAMING_INPUT_H, 1, [ ])
     fi