diff options
| author | vimene <vincent.menegaux@gmail.com> | 2025-12-15 04:23:13 +0100 |
|---|---|---|
| committer | vimene <vincent.menegaux@gmail.com> | 2025-12-15 04:23:13 +0100 |
| commit | 8c8e0995fcfe6d25ed4a963120cb59bb0466582b (patch) | |
| tree | b68d9adf69a8c836bba5314458e2b8e37002edd4 /configure.ac | |
| parent | b4253cf33ff171ac6bcb8c67dab095254815ec5f (diff) | |
| download | engine-8c8e0995fcfe6d25ed4a963120cb59bb0466582b.tar.gz | |
improved Vulkan detection
Added checks to see if LunarG's Vulkan SDK is present, and check if it's
the correct API version (currently supporting only 1.4.313).
Diffstat (limited to 'configure.ac')
| -rw-r--r-- | configure.ac | 41 |
1 files changed, 35 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac index d26e69b..8a2c3d4 100644 --- a/configure.ac +++ b/configure.ac @@ -6,15 +6,44 @@ AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([foreign subdir-objects]) AC_CONFIG_FILES([Makefile src/Makefile]) - -dnl TODO: add check for Vulkan Utility Library -PKG_CHECK_MODULES( [GLFW3], [glfw3 >= 3.3.10]) -PKG_CHECK_MODULES( [VULKAN], [vulkan >= 1.3.275]) -PKG_HAVE_DEFINE_WITH_MODULES([NCURSES], [ncurses >= 6.4.20230625]) +AC_REQUIRE_AUX_FILE([tap-driver.sh]) AC_PROG_CXX AC_TYPE_UINT32_T AC_CHECK_FUNCS([floor setlocale]) -AC_REQUIRE_AUX_FILE([tap-driver.sh]) +dnl TODO: add check for Vulkan Utility Library + +PKG_CHECK_MODULES([GLFW3], [glfw3 >= 3.3.10]) + +dnl TODO: improve vulkan detection + +dnl TODO: sdk detection is too minimal +AC_MSG_CHECKING([for VULKAN_SDK]) +AS_IF([test "x$VULKAN_SDK" != x], [AC_MSG_RESULT([yes])], [ + AC_MSG_RESULT([no]) + AC_MSG_ERROR([VULKAN_SDK is not set. You have to source setup-env.sh from LunarG's Vulkan SDK before configuring.]) +]) + +AC_LANG([C]) +CFLAGS_save="$CFLAGS" +LIBS_save="$LIBS" +CFLAGS="$VULKAN_CFLAGS" +LIBS="$LIBS $VULKAN_LIBS" +AC_MSG_CHECKING([for Vulkan version 1.4.313]) +AC_RUN_IFELSE([AC_LANG_PROGRAM([ +#include <stdlib.h> +#include <vulkan/vulkan.h> +],[if (VK_HEADER_VERSION_COMPLETE != VK_MAKE_API_VERSION(0, 1, 4, 313)) exit(1)])], [AC_MSG_RESULT([yes])], [ + AC_MSG_RESULT([no]) + AC_MSG_ERROR([Vulkan not found, or wrong version (1.4.313 required)]) +]) +CFLAGS="$CFLAGS_save" +LIBS="$LIBS_save" + +AC_SUBST([VULKAN_CFLAGS]) +AC_SUBST([VULKAN_LIBS]) + +PKG_HAVE_DEFINE_WITH_MODULES([NCURSES], [ncurses >= 6.4.20230625]) + AC_OUTPUT |
