[PATCH v2 vkd3d 2/6] build: Check VK_HEADER_VERSION.

Józef Kucia joseph.kucia at gmail.com
Mon Oct 29 05:12:14 CDT 2018


From: Józef Kucia <jkucia at codeweavers.com>

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---

Version 2: Use AC_LINK_IFELSE() instead of AC_RUN_IFELSE().

---
 configure.ac |  2 ++
 m4/vulkan.m4 | 18 ++++++++++++++++++
 2 files changed, 20 insertions(+)
 create mode 100644 m4/vulkan.m4

diff --git a/configure.ac b/configure.ac
index 58672c510ab9..8c82741a9bae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -61,6 +61,8 @@ AS_IF([test "x$ac_cv_header_spirv_unified1_GLSL_std_450_h" != "xyes" \
        -a "x$ac_cv_header_vulkan_GLSL_std_450_h" != "xyes"],
       [AC_MSG_ERROR([GLSL.std.450.h not found.])])
 
+VKD3D_CHECK_VULKAN_HEADER_VERSION([84], [AC_MSG_ERROR([Vulkan headers are too old, 1.1.84 is required.])])
+
 dnl Check for libraries
 m4_ifdef([PKG_PROG_PKG_CONFIG], [PKG_PROG_PKG_CONFIG], [m4_fatal([pkg-config autoconf macros not found.])])
 
diff --git a/m4/vulkan.m4 b/m4/vulkan.m4
new file mode 100644
index 000000000000..6ef5818c8fd6
--- /dev/null
+++ b/m4/vulkan.m4
@@ -0,0 +1,18 @@
+dnl VKD3D_CHECK_VULKAN_HEADER_VERSION
+AC_DEFUN([VKD3D_CHECK_VULKAN_HEADER_VERSION],
+
+[AS_VAR_PUSHDEF([vkd3d_vk_version], vkd3d_cv_vk_header_version_[[$1]])
+
+AC_CACHE_CHECK([whether VK_HEADER_VERSION >= [$1]], vkd3d_vk_version,
+               [AC_LINK_IFELSE(
+               [AC_LANG_SOURCE([#include <vulkan/vulkan.h>
+                               #if VK_HEADER_VERSION < $1
+                               #error "Vulkan headers are too old"
+                               #endif
+                               int main(void) { return 0; }])],
+               [AS_VAR_SET([vkd3d_vk_version], [yes])],
+               [AS_VAR_SET([vkd3d_vk_version], [no])])])
+
+AS_IF([test "x$vkd3d_vk_version" != "xyes"], [$2])
+
+AS_VAR_POPDEF([vkd3d_vk_version])])
-- 
2.18.1




More information about the wine-devel mailing list