Browse Source

autotools needs to check d3d12sdklayers.h too

(cherry picked from commit 5e876db89f06a477187242e4b9c7bf65e18a6b9b)
Anonymous Maarten 10 months ago
parent
commit
3ee20388c5
2 changed files with 31 additions and 3 deletions
  1. 23 2
      configure
  2. 8 1
      configure.ac

+ 23 - 2
configure

@@ -27513,11 +27513,32 @@ then :
   have_d3d11=yes
 fi
 
-        ac_fn_c_check_header_compile "$LINENO" "d3d12.h" "ac_cv_header_d3d12_h" "$ac_includes_default"
-if test "x$ac_cv_header_d3d12_h" = xyes
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for compatible d3d12 headers" >&5
+printf %s "checking for compatible d3d12 headers... " >&6; }
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <d3d12.h>
+#include <d3d12sdklayers.h>
+ID3D12Device1 *device;
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
 then :
   have_d3d12=yes
+else $as_nop
+  have_d3d12=no
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $have_d3d12" >&5
+printf "%s\n" "$have_d3d12" >&6; }
 
         ac_fn_c_check_header_compile "$LINENO" "ddraw.h" "ac_cv_header_ddraw_h" "$ac_includes_default"
 if test "x$ac_cv_header_ddraw_h" = xyes

+ 8 - 1
configure.ac

@@ -3343,7 +3343,14 @@ CheckDIRECTX()
     if test x$enable_directx = xyes; then
         AC_CHECK_HEADER(d3d9.h, have_d3d=yes)
         AC_CHECK_HEADER(d3d11_1.h, have_d3d11=yes)
-        AC_CHECK_HEADER(d3d12.h, have_d3d12=yes)
+        AC_MSG_CHECKING(for compatible d3d12 headers)
+        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <d3d12.h>
+#include <d3d12sdklayers.h>
+ID3D12Device1 *device;
+            ]])], [have_d3d12=yes],[have_d3d12=no])
+        AC_MSG_RESULT($have_d3d12)
+
         AC_CHECK_HEADER(ddraw.h, have_ddraw=yes)
         AC_CHECK_HEADER(dsound.h, have_dsound=yes)
         AC_CHECK_HEADER(dinput.h, have_dinput=yes)