Dave Airlie | a3a2c64 | 2014-03-31 14:07:58 +1000 | [diff] [blame] | 1 | dnl Process this file with autoconf to create configure. |
| 2 | |
| 3 | AC_PREREQ([2.60]) |
| 4 | |
Dave Airlie | 76b3da9 | 2017-02-10 14:09:10 +1000 | [diff] [blame] | 5 | AC_INIT([virglrenderer], [0.6.0], |
Marc-André Lureau | 1d82ea1 | 2016-03-03 18:46:42 +0100 | [diff] [blame] | 6 | [virglrenderer-devel@lists.freedesktop.org]) |
Dave Airlie | a3a2c64 | 2014-03-31 14:07:58 +1000 | [diff] [blame] | 7 | AC_CONFIG_SRCDIR([Makefile.am]) |
| 8 | AC_CONFIG_HEADERS([config.h]) |
Marc-André Lureau | 121df9c | 2015-02-23 18:52:21 +0100 | [diff] [blame] | 9 | AC_CONFIG_AUX_DIR([build-aux]) |
| 10 | AC_CONFIG_MACRO_DIR([build-aux]) |
| 11 | |
Dave Airlie | a3a2c64 | 2014-03-31 14:07:58 +1000 | [diff] [blame] | 12 | AM_INIT_AUTOMAKE([foreign dist-bzip2]) |
| 13 | |
Marc-André Lureau | 1c82095 | 2016-01-18 13:56:13 +0100 | [diff] [blame] | 14 | AC_USE_SYSTEM_EXTENSIONS |
| 15 | AC_PROG_CC_C99 |
| 16 | |
Dave Airlie | a3a2c64 | 2014-03-31 14:07:58 +1000 | [diff] [blame] | 17 | # Support silent build rules, requires at least automake-1.11. Disable |
| 18 | # by either passing --disable-silent-rules to configure or passing V=1 |
| 19 | # to make |
| 20 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])], |
| 21 | [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])]) |
| 22 | |
| 23 | m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) |
| 24 | |
| 25 | AC_DISABLE_STATIC |
Dave Airlie | d17f2ee | 2015-04-20 10:58:58 +1000 | [diff] [blame] | 26 | LT_INIT([disable-static]) |
Dave Airlie | a3a2c64 | 2014-03-31 14:07:58 +1000 | [diff] [blame] | 27 | AC_SYS_LARGEFILE |
Ondřej Súkup | e115e8f | 2017-11-13 10:17:02 +0100 | [diff] [blame] | 28 | AC_CHECK_PROGS([PYTHON], [python2 python python3]) |
Marc-André Lureau | d9953a5 | 2015-02-23 18:52:40 +0100 | [diff] [blame] | 29 | AX_CODE_COVERAGE |
Dave Airlie | a3a2c64 | 2014-03-31 14:07:58 +1000 | [diff] [blame] | 30 | |
Dave Airlie | a703489 | 2018-05-21 13:06:07 +1000 | [diff] [blame] | 31 | AX_CHECK_COMPILE_FLAG([-Wall], [CFLAGS="$CFLAGS -Wall"]) |
Gert Wollny | c3f749d | 2018-06-06 10:16:48 +0200 | [diff] [blame] | 32 | AX_CHECK_COMPILE_FLAG([-Wextra], [CFLAGS="$CFLAGS -Wextra"]) |
Dave Airlie | a703489 | 2018-05-21 13:06:07 +1000 | [diff] [blame] | 33 | AX_CHECK_COMPILE_FLAG([-Werror=implicit-function-declaration], [CFLAGS="$CFLAGS -Werror=implicit-function-declaration"]) |
| 34 | AX_CHECK_COMPILE_FLAG([-Werror=missing-prototypes], [CFLAGS="$CFLAGS -Werror=missing-prototypes"]) |
| 35 | AX_CHECK_COMPILE_FLAG([-Wmissing-prototypes], [CFLAGS="$CFLAGS -Wmissing-prototypes"]) |
Gert Wollny | c3f749d | 2018-06-06 10:16:48 +0200 | [diff] [blame] | 36 | AX_CHECK_COMPILE_FLAG([-Werror=int-to-pointer-cast], [CFLAGS="$CFLAGS -Werror=int-to-pointer-cast"]) |
Dave Airlie | a703489 | 2018-05-21 13:06:07 +1000 | [diff] [blame] | 37 | |
Marc-André Lureau | dddb7f0 | 2016-03-03 18:46:43 +0100 | [diff] [blame] | 38 | AC_MSG_CHECKING([for native Win32]) |
| 39 | case "$host_os" in |
| 40 | *mingw*|*cygwin*) |
| 41 | os_win32=yes |
| 42 | ;; |
| 43 | *) |
| 44 | os_win32=no |
| 45 | ;; |
| 46 | esac |
| 47 | AC_MSG_RESULT([$os_win32]) |
| 48 | AM_CONDITIONAL([OS_WIN32],[test "$os_win32" = "yes"]) |
| 49 | |
| 50 | if test "x$os_win32" = xno; then |
| 51 | AX_PTHREAD |
| 52 | fi |
Dave Airlie | fff55a1 | 2016-01-18 14:10:50 +1000 | [diff] [blame] | 53 | |
Marc-André Lureau | 6c33fee | 2015-02-26 16:24:31 +0100 | [diff] [blame] | 54 | AC_ARG_ENABLE([debug], |
| 55 | [AS_HELP_STRING([--enable-debug], |
| 56 | [use debug compiler flags and macros @<:@default=disabled@:>@])], |
| 57 | [enable_debug="$enableval"], |
| 58 | [enable_debug=no] |
| 59 | ) |
| 60 | if test "x$enable_debug" = xyes; then |
| 61 | DEFINES="$DEFINES -DDEBUG" |
| 62 | if test "x$GCC" = xyes; then |
| 63 | if ! echo "$CFLAGS" | grep -q -e '-g'; then |
| 64 | CFLAGS="$CFLAGS -g" |
| 65 | fi |
| 66 | if ! echo "$CFLAGS" | grep -q -e '-O'; then |
| 67 | CFLAGS="$CFLAGS -O0" |
| 68 | fi |
| 69 | fi |
| 70 | if test "x$GXX" = xyes; then |
| 71 | if ! echo "$CXXFLAGS" | grep -q -e '-g'; then |
| 72 | CXXFLAGS="$CXXFLAGS -g" |
| 73 | fi |
| 74 | if ! echo "$CXXFLAGS" | grep -q -e '-O'; then |
| 75 | CXXFLAGS="$CXXFLAGS -O0" |
| 76 | fi |
| 77 | fi |
| 78 | fi |
| 79 | |
Dave Airlie | 6d93aeb | 2015-02-03 15:53:37 +1000 | [diff] [blame] | 80 | AC_ARG_ENABLE(tests, |
| 81 | AS_HELP_STRING([--enable-tests], [Build the tests (default=auto)]), |
| 82 | [build_tests="$enableval"], |
| 83 | [build_tests="auto"]) |
| 84 | |
Joe Kniss | 94a6aba | 2018-01-30 20:47:48 -0800 | [diff] [blame] | 85 | AC_ARG_ENABLE([egl], AS_HELP_STRING([--disable-egl], [Disable EGL])) |
| 86 | |
Dave Airlie | 6d93aeb | 2015-02-03 15:53:37 +1000 | [diff] [blame] | 87 | PKG_CHECK_MODULES(CHECK, [check >= 0.9.4], [HAVE_CHECK="yes"], [HAVE_CHECK="no"]) |
| 88 | |
Marc-André Lureau | 2f3e562 | 2016-03-03 18:46:52 +0100 | [diff] [blame] | 89 | if test "x$build_tests" = "xauto" && test "x$os_win32" = "xno"; then |
Dave Airlie | 6d93aeb | 2015-02-03 15:53:37 +1000 | [diff] [blame] | 90 | build_tests="$HAVE_CHECK" |
| 91 | fi |
| 92 | if test "x$build_tests" = "xyes"; then |
| 93 | if test "x$HAVE_CHECK" = "xno"; then |
| 94 | AC_MSG_ERROR([Cannot build tests, check is missing]) |
| 95 | fi |
| 96 | |
| 97 | AC_PATH_PROG(VALGRIND, [valgrind]) |
| 98 | fi |
| 99 | |
David Riley | 87b346a | 2018-07-17 15:20:57 -0700 | [diff] [blame] | 100 | AC_ARG_ENABLE(fuzzer, |
| 101 | AS_HELP_STRING([--enable-fuzzer], [Build fuzzer targets]), |
| 102 | [enable_fuzzer="$enableval"], |
| 103 | [enable_fuzzer=no] |
| 104 | ) |
| 105 | AM_CONDITIONAL(FUZZER, [test "x$enable_fuzzer" = "xyes"]) |
| 106 | |
Marc-André Lureau | 89aea79 | 2016-01-18 14:08:56 +1000 | [diff] [blame] | 107 | AC_CHECK_FUNCS_ONCE([eventfd]) |
Jakob Bornecrantz | 026ad19 | 2017-11-23 17:12:11 +0000 | [diff] [blame] | 108 | AC_CHECK_HEADERS_ONCE([sys/uio.h]) |
Dave Airlie | 6d93aeb | 2015-02-03 15:53:37 +1000 | [diff] [blame] | 109 | AM_CONDITIONAL(HAVE_VALGRIND, [test "x$VALGRIND" != "x"]) |
| 110 | AM_CONDITIONAL(BUILD_TESTS, [test "x$build_tests" = "xyes"]) |
| 111 | |
Dave Airlie | a3a2c64 | 2014-03-31 14:07:58 +1000 | [diff] [blame] | 112 | LIBDRM_REQUIRED=2.4.50 |
| 113 | |
Joe Kniss | 94a6aba | 2018-01-30 20:47:48 -0800 | [diff] [blame] | 114 | if test "x$os_win32" = xno && test "x$enable_egl" != "xno"; then |
| 115 | PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED]) |
| 116 | PKG_CHECK_MODULES([GBM], [gbm]) |
Marc-André Lureau | dddb7f0 | 2016-03-03 18:46:43 +0100 | [diff] [blame] | 117 | fi |
| 118 | |
Marc-André Lureau | aa34024 | 2015-12-15 14:44:54 +0100 | [diff] [blame] | 119 | PKG_CHECK_MODULES([EPOXY], [epoxy]) |
Jakob Bornecrantz | 026ad19 | 2017-11-23 17:12:11 +0000 | [diff] [blame] | 120 | PKG_CHECK_VAR(epoxy_has_egl, [epoxy], [epoxy_has_egl]) |
Joe Kniss | 94a6aba | 2018-01-30 20:47:48 -0800 | [diff] [blame] | 121 | AS_IF([test "x$epoxy_has_egl" = "x1" && test "x$enable_egl" != "xno"], [ |
Jakob Bornecrantz | 026ad19 | 2017-11-23 17:12:11 +0000 | [diff] [blame] | 122 | epoxy_has_egl=yes |
| 123 | AC_DEFINE([HAVE_EPOXY_EGL_H], [1], [Libepoxy has EGL support.]) |
| 124 | ],[ |
| 125 | epoxy_has_egl=no |
| 126 | ]) |
Joe Kniss | 94a6aba | 2018-01-30 20:47:48 -0800 | [diff] [blame] | 127 | AM_CONDITIONAL([HAVE_EPOXY_EGL], [test "x$epoxy_has_egl" = "xyes"]) |
| 128 | |
| 129 | if test "x$os_win32" = xno; then |
| 130 | AS_IF([test "x$epoxy_has_egl" = "x1"], [ |
| 131 | PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED]) |
| 132 | PKG_CHECK_MODULES([GBM], [gbm]) |
| 133 | ]) |
| 134 | fi |
| 135 | |
| 136 | |
| 137 | AM_CONDITIONAL([HAVE_EPOXY_EGL], [test "x$epoxy_has_egl" = "xyes"]) |
Dave Airlie | a3a2c64 | 2014-03-31 14:07:58 +1000 | [diff] [blame] | 138 | |
Marc-André Lureau | 209557f | 2016-06-10 19:25:00 +0200 | [diff] [blame] | 139 | AC_ARG_WITH([glx], AS_HELP_STRING([--with-glx], [Build with the x11/glx backend])) |
| 140 | AS_IF([test "x$with_glx" = "xyes"], [ |
| 141 | PKG_CHECK_MODULES([X11], [x11]) |
| 142 | AC_CHECK_HEADER([epoxy/glx.h]) |
| 143 | ]) |
| 144 | AM_CONDITIONAL([WITH_GLX], [test "x$with_glx" = "xyes"]) |
| 145 | |
Marc-André Lureau | 6c33fee | 2015-02-26 16:24:31 +0100 | [diff] [blame] | 146 | AC_SUBST([DEFINES]) |
Dave Airlie | a3a2c64 | 2014-03-31 14:07:58 +1000 | [diff] [blame] | 147 | AC_CONFIG_FILES([ |
| 148 | virglrenderer.pc |
| 149 | Makefile |
| 150 | src/Makefile |
| 151 | src/gallium/auxiliary/Makefile |
Marc-André Lureau | 0b27e44 | 2015-03-12 16:52:31 +0100 | [diff] [blame] | 152 | vtest/Makefile |
Dave Airlie | 6d93aeb | 2015-02-03 15:53:37 +1000 | [diff] [blame] | 153 | tests/Makefile |
David Riley | 87b346a | 2018-07-17 15:20:57 -0700 | [diff] [blame] | 154 | tests/fuzzer/Makefile |
Dave Airlie | a3a2c64 | 2014-03-31 14:07:58 +1000 | [diff] [blame] | 155 | ]) |
| 156 | AC_OUTPUT |
Marc-André Lureau | 209557f | 2016-06-10 19:25:00 +0200 | [diff] [blame] | 157 | |
| 158 | AC_MSG_NOTICE([ |
| 159 | |
| 160 | virgl $VERSION |
| 161 | ============== |
| 162 | |
| 163 | prefix: $prefix |
| 164 | c compiler: $CC |
| 165 | win32: $os_win32 |
| 166 | |
| 167 | glx: $with_glx |
Jakob Bornecrantz | 026ad19 | 2017-11-23 17:12:11 +0000 | [diff] [blame] | 168 | egl: $epoxy_has_egl |
Marc-André Lureau | 209557f | 2016-06-10 19:25:00 +0200 | [diff] [blame] | 169 | debug: $enable_debug |
| 170 | tests: $build_tests |
David Riley | 87b346a | 2018-07-17 15:20:57 -0700 | [diff] [blame] | 171 | fuzzer: $enable_fuzzer |
Marc-André Lureau | 209557f | 2016-06-10 19:25:00 +0200 | [diff] [blame] | 172 | |
| 173 | ]) |