aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
blob: aae39c310c061975badf22954d32e24694145e89 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
AC_PREREQ([2.71])
AC_INIT([engine], [alpha])
AC_CONFIG_SRCDIR([src/engine.cpp])
AC_CONFIG_HEADERS([src/config.h])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([foreign subdir-objects])
AC_CONFIG_FILES([Makefile src/Makefile])
AC_REQUIRE_AUX_FILE([tap-driver.sh])

AC_PROG_CXX
AC_TYPE_UINT32_T
AC_CHECK_FUNCS([floor setlocale])

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="$STB_CFLAGS"
LIBS="$LIBS $STB_LIBS"
AC_MSG_CHECKING([for STBI version 1])
AC_RUN_IFELSE([AC_LANG_PROGRAM([
#define STB_IMAGE_IMPLEMENTATION
#include <stb_image.h>
dnl
dnl we are not really checking for stbi version, this is to check if the header is truly included
dnl without problems
],[if (STBI_VERSION != 1) exit(1)])], [AC_MSG_RESULT([yes])], [
  AC_MSG_RESULT([no])
  AC_MSG_ERROR([STBI not found, or wrong version (1 required)])
])
AC_SUBST([STB_CFLAGS])
AC_SUBST([STB_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)])
])
AC_SUBST([VULKAN_CFLAGS])
AC_SUBST([VULKAN_LIBS])

CFLAGS="$CFLAGS_save"
LIBS="$LIBS_save"

PKG_HAVE_DEFINE_WITH_MODULES([NCURSES], [ncurses >= 6.4.20230625])

AC_OUTPUT