SDL: autotools needs to check d3d12sdklayers.h too (3ee20)

From 3ee20388c574096bff412041745a5fd8086d6afc Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Tue, 28 May 2024 17:02:26 +0200
Subject: [PATCH] autotools needs to check d3d12sdklayers.h too

(cherry picked from commit 5e876db89f06a477187242e4b9c7bf65e18a6b9b)
---
 configure    | 25 +++++++++++++++++++++++--
 configure.ac |  9 ++++++++-
 2 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/configure b/configure
index fe83c4997029d..3218dd532cdbd 100755
--- a/configure
+++ b/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
diff --git a/configure.ac b/configure.ac
index 258d947d1cc40..2bcdd8d4ea8a4 100644
--- a/configure.ac
+++ b/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)