Lines Matching +full:- +full:- +full:disable +full:- +full:wayland

1 dnl Copyright © 2011-2014 Intel Corporation
2 dnl Copyright © 2011-2014 Emil Velikov <emil.l.velikov@gmail.com>
3 dnl Copyright © 2007-2010 Dan Nicholson
4 dnl Copyright © 2010-2014 Marek Olšák <maraeo@gmail.com>
5 dnl Copyright © 2010-2014 Christian König
6 dnl Copyright © 2012-2014 Tom Stellard <tstellar@gmail.com>
7 dnl Copyright © 2009-2012 Jakob Bornecrantz
8 dnl Copyright © 2009-2014 Jon TURNEY
9 dnl Copyright © 2011-2012 Benjamin Franzke
10 dnl Copyright © 2008-2014 David Airlie
11 dnl Copyright © 2009-2013 Brian Paul
36 dnl Tell the user about autoconf.html in the --help output
46 AM_INIT_AUTOMAKE([foreign tar-ustar dist-xz subdir-objects])
55 # Support silent build rules, requires at least automake-1.11. Disable
56 # by either passing --disable-silent-rules to configure or passing V=1
73 # version dependencies in non-driver-specific code should be reflected
117 enabled by default and different from -std=c++11)])
129 LT_INIT([disable-static])
131 AC_CHECK_PROG(RM, rm, [rm -f])
134 AS_IF([test ! -f "$srcdir/src/compiler/glsl/glcpp/glcpp-parse.c"],
135 [AC_MSG_ERROR([bison not found - unable to compile glcpp-parse.y])]))
137 AS_IF([test ! -f "$srcdir/src/compiler/glsl/glcpp/glcpp-lex.c"],
138 [AC_MSG_ERROR([flex not found - unable to compile glcpp-lex.l])]))
143 INDENT_VERSION=`indent --version | grep GNU`
144 if test $? -eq 0; then
145 AC_SUBST(INDENT_FLAGS, '-i4 -nut -br -brs -npcs -ce -TGLubyte -TGLbyte -TBool')
153 if test -z "$PYTHON2"; then
154 if test ! -f "$srcdir/src/util/format_srgb.c"; then
155 AC_MSG_ERROR([Python not found - unable to generate sources])
159 if test ! -f "$srcdir/src/mesa/main/format_unpack.c"; then
171 # Solaris /bin/sh is too old/non-POSIX compliant
177 dnl clang is mostly GCC-compatible, but its version is much lower,
195 if test "x$GCC" = xyes -a "x$acv_mesa_CLANG" = xno; then
200 GCC_VERSION=`$CC -dumpversion`
201 if test $? -eq 0; then
202 GCC_VERSION_MAJOR=`echo $GCC_VERSION | cut -d. -f1`
203 GCC_VERSION_MINOR=`echo $GCC_VERSION | cut -d. -f2`
206 if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 2 ; then
213 if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 6 ; then
257 dnl Make sure the pkg-config macros are defined
259 [m4_fatal([Could not locate the pkg-config autoconf macros.
262 ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
265 dnl LIB_DIR - library basename
274 DEFINES="-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS"
278 *-android*)
281 linux*|*-gnu*|gnu*|cygwin*)
282 DEFINES="$DEFINES -D_GNU_SOURCE"
285 DEFINES="$DEFINES -DSVR4"
294 AX_CHECK_COMPILE_FLAG([-Wall], [CFLAGS="$CFLAGS -Wall"])
295 AX_CHECK_COMPILE_FLAG([-Werror=implicit-function-declaration], [CFLAGS="$CFLAGS -Werror=implicit-fu…
296 AX_CHECK_COMPILE_FLAG([-Werror=missing-prototypes], [CFLAGS="$CFLAGS -Werror=missing-pro…
297 AX_CHECK_COMPILE_FLAG([-Wmissing-prototypes], [CFLAGS="$CFLAGS -Wmissing-prototype…
298 AX_CHECK_COMPILE_FLAG([-fno-math-errno], [CFLAGS="$CFLAGS -fno-math-errno"])
299 AX_CHECK_COMPILE_FLAG([-fno-trapping-math], [CFLAGS="$CFLAGS -fno-trapping-math"…
300 AX_CHECK_COMPILE_FLAG([-fvisibility=hidden], [VISIBILITY_CFLAGS="-fvisibility=hid…
306 AX_CHECK_COMPILE_FLAG([-Wall], [CXXFLAGS="$CXXFLAGS -Wall"])
307 AX_CHECK_COMPILE_FLAG([-fno-math-errno], [CXXFLAGS="$CXXFLAGS -fno-math-errno…
308 AX_CHECK_COMPILE_FLAG([-fno-trapping-math], [CXXFLAGS="$CXXFLAGS -fno-trapping-m…
309 AX_CHECK_COMPILE_FLAG([-fvisibility=hidden], [VISIBILITY_CXXFLAGS="-fvisibility=h…
312 # Flags to help ensure that certain portions of the code -- and only those
313 # portions -- can be built with MSVC:
314 # - src/util, src/gallium/auxiliary, rc/gallium/drivers/llvmpipe, and
315 # - non-Linux/Posix OpenGL portions needs to build on MSVC 2013 (which
317 # - the rest has no compiler compiler restrictions
318 AX_CHECK_COMPILE_FLAG([-Werror=pointer-arith], [MSVC2013_COMPAT_CFLAGS="$MSVC2013_C…
319 AX_CHECK_COMPILE_FLAG([-Werror=vla], [MSVC2013_COMPAT_CFLAGS="$MSVC2013_C…
321 …X_CHECK_COMPILE_FLAG([-Werror=pointer-arith], [MSVC2013_COMPAT_CXXFLAGS="$MSVC2013…
322 AX_CHECK_COMPILE_FLAG([-Werror=vla], [MSVC2013_COMPAT_CXXFLAGS="$MSVC2013…
330 CFLAGS="$CFLAGS -std=gnu99"
332 CFLAGS="$CFLAGS -std=c99"
372 dnl C++11 not enabled by default, test whether -std=c++11 does the job
374 CXX11_CXXFLAGS=-std=c++11
398 dnl For some reason, the test for -Wno-foo always succeeds with gcc, even if the
399 dnl option is not supported. Hence, check for -Wfoo instead.
400 AX_CHECK_COMPILE_FLAG([-Woverride-init], [WNO_OVERRIDE_INIT="$WNO_OVERRIDE_INIT
401 AX_CHECK_COMPILE_FLAG([-Winitializer-overrides], [WNO_OVERRIDE_INIT="$WNO_OVERRIDE_INIT
407 SSE41_CFLAGS="-msse4.1"
408 dnl Code compiled by GCC with -msse* assumes a 16 byte aligned
409 dnl stack, but on x86-32 such alignment is not guaranteed.
412 SSE41_CFLAGS="$SSE41_CFLAGS -mstackrealign"
427 DEFINES="$DEFINES -DUSE_SSE41"
432 dnl Check for new-style atomic builtins
439 DEFINES="$DEFINES -DUSE_GCC_ATOMIC_BUILTINS"
440 dnl On some platforms, new-style atomics need a helper library
441 AC_MSG_CHECKING(whether -latomic is needed)
450 LIBATOMIC_LIBS="-latomic"
456 dnl Check if host supports 64-bit atomics
466 DEFINES="$DEFINES -DMISSING_64BIT_ATOMICS"
479 PWR8_CFLAGS="-mpower8-vector"
481 AC_MSG_CHECKING(whether gcc supports -mpower8-vector)
498 [AS_HELP_STRING([--disable-pwr8],
499 [disable POWER8-specific instructions])],
507 DEFINES="$DEFINES -D_ARCH_PWR8"
520 AC_MSG_WARN([POWER8 optimization is enabled only on POWER8 Little-Endian])
530 …AC_MSG_ERROR([Cannot enable both static and shared. Building using --enable-shared is strongly rec…
533 …AC_MSG_ERROR([Cannot disable both static and shared. Building using --enable-shared is strongly re…
543 [AS_HELP_STRING([--enable-debug],
550 [AS_HELP_STRING([--enable-profile],
557 [AS_HELP_STRING([--enable-sanitize@<:@=address|undefined@:>@],
563 DEFINES="$DEFINES -DPROFILE"
565 CFLAGS="$CFLAGS -fno-omit-frame-pointer"
568 CXXFLAGS="$CXXFLAGS -fno-omit-frame-pointer"
573 DEFINES="$DEFINES -DDEBUG"
578 if ! echo "$CFLAGS" | grep -q -e '-g'; then
579 CFLAGS="$CFLAGS -g"
581 if ! echo "$CFLAGS" | grep -q -e '-O'; then
582 CFLAGS="$CFLAGS -O0"
586 if ! echo "$CXXFLAGS" | grep -q -e '-g'; then
587 CXXFLAGS="$CXXFLAGS -g"
589 if ! echo "$CXXFLAGS" | grep -q -e '-O'; then
590 CXXFLAGS="$CXXFLAGS -O0"
594 DEFINES="$DEFINES -DNDEBUG"
602 CFLAGS="$CFLAGS -fsanitize=$enable_sanitize"
603 CXXFLAGS="$CXXFLAGS -fsanitize=$enable_sanitize"
604 LDFLAGS="$LDFLAGS -fsanitize=$enable_sanitize"
613 dnl Check if linker supports -Bsymbolic
616 LDFLAGS="$LDFLAGS -Wl,-Bsymbolic"
617 AC_MSG_CHECKING([if ld supports -Bsymbolic])
621 BSYMBOLIC="-Wl,-Bsymbolic";],
632 LDFLAGS="$LDFLAGS -Wl,--gc-sections"
633 AC_MSG_CHECKING([whether ld supports --gc-sections])
637 GC_SECTIONS="-Wl,--gc-sections";],
653 LD_NO_UNDEFINED="-Wl,--no-undefined"
665 AC_MSG_CHECKING([if the linker supports version-scripts])
667 LDFLAGS="$LDFLAGS -Wl,--version-script=$srcdir/build-support/conftest.map"
678 AC_MSG_CHECKING([if the linker supports --dynamic-list])
680 LDFLAGS="$LDFLAGS -Wl,--dynamic-list=$srcdir/build-support/conftest.dyn"
689 dnl OSX linker does not support build-id
696 LD_BUILD_ID="-Wl,--build-id=sha1"
747 dnl potentially-infringing-but-nobody-knows-for-sure stuff
749 AC_ARG_ENABLE([texture-float],
750 [AS_HELP_STRING([--enable-texture-float],
751 [enable floating-point textures and renderbuffers @<:@default=disabled@:>@])],
756 AC_MSG_WARN([Floating-point textures enabled.])
758 DEFINES="$DEFINES -DTEXTURE_FLOAT_ENABLED"
762 dnl Arch/platform-specific settings
765 [AS_HELP_STRING([--disable-asm],
766 [disable assembly usage @<:@default=enabled on supported platforms@:>@])],
773 # disable if cross compiling on x86/x86_64 since we must run gen_matypes
774 if test "x$enable_asm" = xyes -a "x$cross_compiling" = xyes; then
833 DEFINES="$DEFINES -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
837 DEFINES="$DEFINES -DUSE_X86_64_ASM"
841 DEFINES="$DEFINES -DUSE_SPARC_ASM"
845 DEFINES="$DEFINES -DUSE_PPC64LE_ASM"
849 DEFINES="$DEFINES -DUSE_AARCH64_ASM"
853 DEFINES="$DEFINES -DUSE_ARM_ASM"
863 AC_CHECK_HEADER([xlocale.h], [DEFINES="$DEFINES -DHAVE_XLOCALE_H"])
864 AC_CHECK_HEADER([sys/sysctl.h], [DEFINES="$DEFINES -DHAVE_SYS_SYSCTL_H"])
866 AC_CHECK_FUNC([strtof], [DEFINES="$DEFINES -DHAVE_STRTOF"])
867 AC_CHECK_FUNC([mkostemp], [DEFINES="$DEFINES -DHAVE_MKOSTEMP"])
868 AC_CHECK_FUNC([timespec_get], [DEFINES="$DEFINES -DHAVE_TIMESPEC_GET"])
869 AC_CHECK_FUNC([memfd_create], [DEFINES="$DEFINES -DHAVE_MEMFD_CREATE"])
888 [DEFINES="$DEFINES -DHAVE_STRTOD_L"];
896 [DLOPEN_LIBS="-ldl"])])
905 AC_CHECK_FUNC([dl_iterate_phdr], [DEFINES="$DEFINES -DHAVE_DL_ITERATE_PHDR"])
912 [AC_CHECK_LIB([rt], [clock_gettime], [CLOCK_LIB=-lrt],
919 AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
923 DEFINES="$DEFINES -DHAVE_ZLIB"
931 dnl to -pthread, which causes problems if we need -lpthread to appear in
935 test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread"
937 dnl According to the manual when using pthreads, one should add -pthread to
938 dnl both compile and link-time arguments.
941 PTHREAD_LIBS="$PTHREAD_LIBS -pthread"
943 dnl pthread-stubs is mandatory on some BSD platforms, due to the nature of the
946 linux* | cygwin* | darwin* | solaris* | *-gnu* | gnu* | openbsd*)
955 PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs >= 0.4)
959 AC_CHECK_HEADER([linux/futex.h], [DEFINES="$DEFINES -DHAVE_LINUX_FUTEX_H"])
963 [AS_HELP_STRING([--enable-selinux],
964 [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
973 SELINUX_LIBS="-lselinux"])
974 DEFINES="$DEFINES -DMESA_SELINUX"
982 AC_ARG_ENABLE([llvm-shared-libs],
983 [AS_HELP_STRING([--enable-llvm-shared-libs],
988 AC_ARG_WITH([llvm-prefix],
989 [AS_HELP_STRING([--with-llvm-prefix],
990 [Prefix for LLVM installations in non-standard locations])],
998 AC_CHECK_LIB([elf], [elf_memory], [have_libelf=yes;LIBELF_LIBS=-lelf], [have_libelf=no])
1003 if test -z "$LLVM_CONFIG"; then
1004 if test -n "$llvm_prefix"; then
1005 AC_PATH_TOOL([LLVM_CONFIG], [llvm-config], [no], ["$llvm_prefix/bin"])
1007 AC_PATH_TOOL([LLVM_CONFIG], [llvm-config], [no])
1015 if $LLVM_CONFIG --components | grep -iqw $new_llvm_component ; then
1026 if $LLVM_CONFIG --components | grep -iqw $new_llvm_component ; then
1048 if $LLVM_CONFIG --targets-built | grep -iqw $new_llvm_target ; then
1056 # $1 is the llvm-config command with arguments.
1058 echo " `$1` " | sed -E \
1059 -e 's/[[[:space:]]]+-m[[^[:space:]]]*//g' \
1060 -e 's/[[[:space:]]]+-DNDEBUG[[[:space:]]]/ /g' \
1061 -e 's/[[[:space:]]]+-D_GNU_SOURCE[[[:space:]]]/ /g' \
1062 -e 's/[[[:space:]]]+-pedantic[[[:space:]]]/ /g' \
1063 -e 's/[[[:space:]]]+-W[[^[:space:]]]*//g' \
1064 -e 's/[[[:space:]]]+-O[[^[:space:]]]*//g' \
1065 -e 's/[[[:space:]]]+-g[[^[:space:]]]*//g' \
1066 -e 's/-fno-rtti[[[:space:]]]/-Fno-rtti /g' \
1067 -e 's/[[[:space:]]]+-f[[^[:space:]]]*//g' \
1068 -e 's/-Fno-rtti[[[:space:]]]/-fno-rtti /g' \
1069 -e 's/^[[[:space:]]]//' \
1070 -e 's/[[[:space:]]]$//'
1075 LLVM_VERSION=`$LLVM_CONFIG --version | egrep -o '^[[0-9.]]+'`
1076 LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"`
1077 LLVM_INCLUDEDIR=`$LLVM_CONFIG --includedir`
1078 LLVM_LIBDIR=`$LLVM_CONFIG --libdir`
1085 [#include "${LLVM_INCLUDEDIR}/llvm/Config/llvm-config.h"])
1087 [#include "${LLVM_INCLUDEDIR}/llvm/Config/llvm-config.h"])
1089 [#include "${LLVM_INCLUDEDIR}/llvm/Config/llvm-config.h"])
1094 if test -z "$LLVM_VERSION_PATCH"; then
1109 AC_MSG_ERROR([--enable-llvm is required when building $1])
1116 llvm_target_version_major=`echo $1 | cut -d. -f1 | egrep -o '^[[0-9]]+'`
1117 llvm_target_version_minor=`echo $1 | cut -d. -f2 | egrep -o '^[[0-9]]+'`
1118 llvm_target_version_patch=`echo $1 | cut -d. -f3 | egrep -o '^[[0-9]]+'`
1120 if test "$LLVM_VERSION_MAJOR" -gt "$llvm_target_version_major"; then
1122 # --> OK
1126 if test "$LLVM_VERSION_MAJOR" -eq "$llvm_target_version_major"; then
1127 if test "$LLVM_VERSION_MINOR" -gt "$llvm_target_version_minor"; then
1130 # --> OK
1133 if test "$LLVM_VERSION_MINOR" -eq "$llvm_target_version_minor"; then
1134 if test "$LLVM_VERSION_PATCH" -ge "$llvm_target_version_patch"; then
1138 # --> OK
1149 if test ${LLVM_VERSION_INT} -lt 307; then
1181 [AS_HELP_STRING([--enable-libunwind],
1194 [AS_HELP_STRING([--disable-opengl],
1195 [disable support for standard OpenGL API @<:@default=enabled@:>@])],
1199 [AS_HELP_STRING([--disable-gles1],
1200 [disable support for OpenGL ES 1.x API @<:@default=enabled@:>@])],
1204 [AS_HELP_STRING([--disable-gles2],
1205 [disable support for OpenGL ES 2.x API @<:@default=enabled@:>@])],
1210 [AS_HELP_STRING([--enable-dri],
1215 AC_ARG_ENABLE([gallium-extra-hud],
1216 [AS_HELP_STRING([--enable-gallium-extra-hud],
1222 DEFINES="${DEFINES} -DHAVE_GALLIUM_EXTRA_HUD=1"
1228 [AS_HELP_STRING([--enable-lmsensors],
1234 DEFINES="${DEFINES} -DHAVE_LIBSENSORS=1"
1235 LIBSENSORS_LIBS="-lsensors"
1255 [AS_HELP_STRING([--enable-dri3],
1260 [AS_HELP_STRING([--enable-glx@<:@=dri|xlib|gallium-xlib@:>@],
1265 [AS_HELP_STRING([--enable-osmesa],
1269 AC_ARG_ENABLE([gallium-osmesa],
1270 [AS_HELP_STRING([--enable-gallium-osmesa],
1275 [AS_HELP_STRING([--disable-egl],
1276 [disable EGL library @<:@default=enabled@:>@])],
1281 [AS_HELP_STRING([--enable-xa],
1286 [AS_HELP_STRING([--enable-gbm],
1298 [AS_HELP_STRING([--enable-nine],
1304 [AS_HELP_STRING([--enable-xvmc],
1309 [AS_HELP_STRING([--enable-vdpau],
1314 [AS_HELP_STRING([--enable-omx],
1315 [DEPRECATED: Use --enable-omx-bellagio instead @<:@default=auto@:>@])],
1316 [AC_MSG_ERROR([--enable-omx is deprecated. Use --enable-omx-bellagio instead.])],
1318 AC_ARG_ENABLE([omx-bellagio],
1319 [AS_HELP_STRING([--enable-omx-bellagio],
1324 [AS_HELP_STRING([--enable-va],
1329 [AS_HELP_STRING([--enable-opencl],
1334 [AS_HELP_STRING([--enable-opencl-icd],
1340 AC_ARG_ENABLE([gallium-tests],
1341 [AS_HELP_STRING([--enable-gallium-tests],
1348 # Keep this in sync with the --with-gallium-drivers help string default value
1351 AC_ARG_WITH([gallium-drivers],
1352 [AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@],
1359 # Doing '--without-gallium-drivers' will set this variable to 'no'. Clear it
1366 if test "x$enable_opengl" = xno -a \
1367 "x$enable_gles1" = xno -a \
1368 "x$enable_gles2" = xno -a \
1369 "x$enable_nine" = xno -a \
1370 "x$enable_xa" = xno -a \
1371 "x$enable_xvmc" = xno -a \
1372 "x$enable_vdpau" = xno -a \
1373 "x$enable_omx_bellagio" = xno -a \
1374 "x$enable_va" = xno -a \
1380 if test "x$enable_opengl" = xno -a \
1385 if test "x$enable_opengl" = xno -a \
1393 AM_CONDITIONAL(NEED_OPENGL_COMMON, test "x$enable_opengl" = xyes -o \
1394 "x$enable_gles1" = xyes -o \
1396 AM_CONDITIONAL(NEED_KHRPLATFORM, test "x$enable_egl" = xyes -o \
1397 "x$enable_gles1" = xyes -o \
1404 elif test -n "$with_gallium_drivers"; then
1405 enable_glx=gallium-xlib
1411 xdri | xxlib | xgallium-xlib)
1421 AC_MSG_ERROR([DRI-based GLX requires DRI to be enabled])
1426 AC_MSG_ERROR([Xlib-based GLX cannot be built with DRI enabled])
1429 xgallium-xlib )
1431 AC_MSG_ERROR([Xlib-based (Gallium) GLX cannot be built with DRI enabled])
1433 if test -z "$with_gallium_drivers"; then
1434 AC_MSG_ERROR([Xlib-based (Gallium) GLX cannot be built without Gallium enabled])
1442 AC_MSG_ERROR([Illegal value for --enable-glx: $enable_glx])
1449 AM_CONDITIONAL(HAVE_GALLIUM_XLIB_GLX, test "x$enable_glx" = xgallium-xlib)
1457 [AS_HELP_STRING([--enable-libglvnd],
1465 xxlib | xgallium-xlib )
1466 AC_MSG_ERROR([cannot build libgvnd when Xlib-GLX or Gallium-Xlib-GLX is enabled])
1471 LIBGLVND_DATADIR=`$PKG_CONFIG --variable=datadir libglvnd`
1474 DEFINES="${DEFINES} -DUSE_LIBGLVND=1"
1477 if test "x$enable_glx" = xno -a "x$enable_egl" = xno; then
1482 AC_ARG_WITH([gl-lib-name],
1483 [AS_HELP_STRING([--with-gl-lib-name@<:@=NAME@:>@],
1487 AC_ARG_WITH([osmesa-lib-name],
1488 [AS_HELP_STRING([--with-osmesa-lib-name@<:@=NAME@:>@],
1499 [AS_HELP_STRING([--enable-mangling],
1505 DEFINES="${DEFINES} -DUSE_MGL_NAMESPACE"
1516 DEFINES="$DEFINES -DHAVE_LIBDRM"
1526 # Select which platform-dependent DRI code gets built
1538 if test "x$enable_dri" = xyes -a "x$dri_platform" = xdrm -a "x$have_libdrm" = xyes; then
1545 AM_CONDITIONAL(HAVE_DRI2, test "x$enable_dri" = xyes -a "x$dri_platform" = xdrm -a "x$have_libdrm" …
1546 AM_CONDITIONAL(HAVE_DRI3, test "x$enable_dri3" = xyes -a "x$dri_platform" = xdrm -a "x$have_libdrm"…
1547 AM_CONDITIONAL(HAVE_APPLEDRI, test "x$enable_dri" = xyes -a "x$dri_platform" = xapple )
1550 AM_CONDITIONAL(HAVE_WINDOWSDRI, test "x$enable_dri" = xyes -a "x$dri_platform" = xwindows )
1552 AC_ARG_ENABLE([shared-glapi],
1553 [AS_HELP_STRING([--enable-shared-glapi],
1562 the following APIs - opengl, gles1 gles2])
1569 # Build the pipe-drivers as separate libraries/modules.
1579 if ! echo "$with_gallium_drivers" | grep -q 'swrast'; then
1595 AC_MSG_ERROR([$1 requires --enable-dri])
1599 AC_MSG_ERROR([$1 requires --enable-shared-glapi])
1612 AC_ARG_ENABLE([driglx-direct],
1613 [AS_HELP_STRING([--disable-driglx-direct],
1614 [disable direct rendering in GLX and EGL for DRI \
1626 xxlib | xgallium-xlib)
1627 # Xlib-based GLX
1633 GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1634 GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm $PTHREAD_LIBS"
1637 # DRI-based GLX
1640 … dri_modules="x11 xext xdamage >= $XDAMAGE_REQUIRED xfixes x11-xcb xcb xcb-glx >= $XCBGLX_REQUIRED"
1644 DEFINES="$DEFINES -DGLX_USE_DRM"
1651 dri_modules="$dri_modules xcb-dri2 >= $XCBDRI2_REQUIRED"
1655 DEFINES="$DEFINES -DGLX_USE_APPLEGL"
1658 DEFINES="$DEFINES -DGLX_USE_WINDOWSGL"
1674 GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1675 GL_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
1679 # This is outside the case (above) so that it is invoked even for non-GLX
1683 GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1684 GLESv1_CM_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
1685 GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1686 GLESv2_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
1705 xxlib | xgallium-xlib)
1706 DEFINES="$DEFINES -DUSE_XSHM"
1709 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1711 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1720 AC_ARG_ENABLE([glx-tls],
1721 [AS_HELP_STRING([--enable-glx-tls],
1728 DEFINES="$DEFINES -DGLX_USE_TLS"
1731 dnl Read-only text section on x86 hardened platforms
1732 AC_ARG_ENABLE([glx-read-only-text],
1733 [AS_HELP_STRING([--enable-glx-read-only-text],
1734 [Disable writable .text section on x86 (decreases performance) @<:@default=disabled@:>@])],
1738 DEFINES="$DEFINES -DGLX_X86_READONLY_TEXT"
1744 AC_ARG_WITH([egl-platforms],
1745 [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1746 [DEPRECATED: use --with-platforms instead@<:@default=auto@:>@])],
1756 AC_MSG_WARN([--with-egl-platforms is deprecated. Use --with-platforms instead.])
1763 [AS_HELP_STRING([--with-platforms@<:@=DIRS...@:>@],
1765 "x11,drm,wayland,surfaceless..." @<:@default=auto@:>@])],
1774 PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner],
1775 WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`,
1778 AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:])
1781 PKG_CHECK_EXISTS([wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED], [have_wayland_protocols=yes], …
1783 ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`
1791 wayland)
1793 PKG_CHECK_MODULES([WAYLAND_CLIENT], [wayland-client >= $WAYLAND_REQUIRED])
1794 PKG_CHECK_MODULES([WAYLAND_SERVER], [wayland-server >= $WAYLAND_REQUIRED])
1797 AC_MSG_ERROR([wayland-scanner is needed to compile the wayland platform])
1800 …AC_MSG_ERROR([wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED is needed to compile the wayland pl…
1802 DEFINES="$DEFINES -DHAVE_WAYLAND_PLATFORM -DWL_HIDE_DEPRECATED"
1806 PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED xcb-xfixes])
1807 DEFINES="$DEFINES -DHAVE_X11_PLATFORM"
1813 DEFINES="$DEFINES -DHAVE_DRM_PLATFORM"
1817 DEFINES="$DEFINES -DHAVE_SURFACELESS_PLATFORM"
1822 DEFINES="$DEFINES -DHAVE_ANDROID_PLATFORM"
1831 wayland|drm|surfaceless)
1838 if ! echo "$platforms" | grep -q 'x11'; then
1844 DEFINES="$DEFINES -DHAVE_DRI3"
1846 …dri3_modules="x11-xcb xcb >= $XCB_REQUIRED xcb-dri3 xcb-xfixes xcb-present xcb-sync xshmfence >= $…
1850 AM_CONDITIONAL(HAVE_PLATFORM_X11, echo "$platforms" | grep -q 'x11')
1851 AM_CONDITIONAL(HAVE_PLATFORM_WAYLAND, echo "$platforms" | grep -q 'wayland')
1852 AM_CONDITIONAL(HAVE_PLATFORM_DRM, echo "$platforms" | grep -q 'drm')
1853 AM_CONDITIONAL(HAVE_PLATFORM_SURFACELESS, echo "$platforms" | grep -q 'surfaceless')
1854 AM_CONDITIONAL(HAVE_PLATFORM_ANDROID, echo "$platforms" | grep -q 'android')
1860 AC_ARG_WITH([dri-driverdir],
1861 [AS_HELP_STRING([--with-dri-driverdir=DIR],
1867 AC_ARG_WITH([dri-searchpath],
1868 [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
1873 dnl Which drivers to build - default is chosen by platform
1874 AC_ARG_WITH([dri-drivers],
1875 [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
1882 if test "x$enable_opengl" = xyes -a "x$enable_dri" = xyes; then
1918 DEFINES="$DEFINES -DBUILDING_MESA"
1931 … DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1938 if test -n "$with_dri_drivers"; then
1940 AC_MSG_ERROR([--with-dri-drivers requires OpenGL])
1979 DRI_DIRS=`echo $DRI_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
1987 AC_ARG_ENABLE([gallium-llvm],
1988 [AS_HELP_STRING([--enable-gallium-llvm],
1989 [DEPRECATED: use --enable-llvm instead])],
1994 AC_MSG_WARN([The --enable-gallium-llvm option has been deprecated. Use --enable-llvm instead.])
2002 [AS_HELP_STRING([--enable-llvm],
2007 if test "x$enable_llvm" = xauto -a "x$FOUND_LLVM" = xyes; then
2018 if test "x$enable_llvm" = xyes -a "x$FOUND_LLVM" = xno; then
2019 AC_MSG_ERROR([--enable-llvm selected but llvm-config is not found])
2026 AC_ARG_WITH([vulkan-drivers],
2027 [AS_HELP_STRING([--with-vulkan-drivers@<:@=DIRS...@:>@],
2034 # Doing '--without-vulkan-drivers' will set this variable to 'no'. Clear it
2041 AC_ARG_WITH([vulkan-icddir],
2042 [AS_HELP_STRING([--with-vulkan-icddir=DIR],
2049 if echo "$platforms" | grep -q 'x11'; then
2056 if test -n "$with_vulkan_drivers"; then
2081 VULKAN_DRIVERS=`echo $VULKAN_DRIVERS|tr " " "\n"|sort -u|tr "\n" " "`
2085 DEFINES="$DEFINES -DENABLE_SHADER_CACHE"
2086 AM_CONDITIONAL(NEED_MEGADRIVER, test -n "$DRI_DIRS")
2087 AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_glx" = xxlib -o \
2088 "x$enable_osmesa" = xyes -o \
2089 -n "$DRI_DIRS")
2096 AC_ARG_WITH([osmesa-bits],
2097 [AS_HELP_STRING([--with-osmesa-bits=BITS],
2102 if test "x$enable_dri" = xyes -o "x$enable_glx" != xno; then
2103 AC_MSG_WARN([Ignoring OSMesa channel bits because of non-OSMesa driver])
2113 DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
2120 if test "x$enable_osmesa" = xyes -o "x$enable_gallium_osmesa" = xyes; then
2123 OSMESA_LIB_DEPS="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
2127 OSMESA_PC_LIB_PRIV="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
2154 AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"])
2173 Example: ./configure --enable-xa --with-gallium-drivers=svga...])
2179 if echo $platforms | grep -q "x11"; then
2185 if echo $platforms | grep -q "x11"; then
2191 if echo $platforms | grep -q "x11\|drm"; then
2197 if echo $platforms | grep -q "x11\|drm\|wayland"; then
2206 if test -n "$with_gallium_drivers" -a "x$with_gallium_drivers" != xswrast; then
2207 if test "x$enable_xvmc" = xauto -a "x$have_xvmc_platform" = xyes; then
2211 if test "x$enable_vdpau" = xauto -a "x$have_vdpau_platform" = xyes; then
2215 if test "x$enable_omx_bellagio" = xauto -a "x$have_omx_platform" = xyes; then
2216 …PKG_CHECK_EXISTS([libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED], [enable_omx_bellagio=yes], [e…
2219 if test "x$enable_va" = xauto -a "x$have_va_platform" = xyes; then
2224 if test "x$enable_dri" = xyes -o \
2225 "x$enable_xvmc" = xyes -o \
2226 "x$enable_vdpau" = xyes -o \
2227 "x$enable_omx_bellagio" = xyes -o \
2233 if test "x$enable_xvmc" = xyes -o \
2234 "x$enable_vdpau" = xyes -o \
2235 "x$enable_omx_bellagio" = xyes -o \
2237 if echo $platforms | grep -q "x11"; then
2238 PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
2259 DEFINES="$DEFINES -DHAVE_ST_VDPAU"
2267 PKG_CHECK_MODULES([OMX_BELLAGIO], [libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED])
2274 AC_MSG_ERROR([VA requires at least one of the x11 drm or wayland platforms])
2285 if ! echo "$with_gallium_drivers" | grep -q 'swrast'; then
2289 AC_MSG_ERROR([nine requires at least one non-swrast gallium driver])
2291 if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 6; then
2307 AC_ARG_WITH([clang-libdir],
2308 [AS_HELP_STRING([--with-clang-libdir],
2309 [Path to Clang libraries @<:@default=llvm-config --libdir@:>@])],
2316 if test -z "$with_gallium_drivers"; then
2325 AC_MSG_ERROR([pkg-config cannot find libclc.pc which is required to build clover.
2330 LIBCLC_INCLUDEDIR=`$PKG_CONFIG --variable=includedir libclc`
2331 LIBCLC_LIBEXECDIR=`$PKG_CONFIG --variable=libexecdir libclc`
2357 CLOVER_STD_OVERRIDE="-std=gnu++11"
2365 llvm_add_component "all-targets" "opencl"
2378 if test -z "$CLANG_LIBDIR"; then
2382 AS_IF([test ! -f "$CLANG_RESOURCE_DIR/include/stddef.h"],
2383 …ld not find clang internal header stddef.h in $CLANG_RESOURCE_DIR Use --with-clang-libdir to speci…
2393 AM_CONDITIONAL(HAVE_GALLIUM, test -n "$with_gallium_drivers")
2398 FIRST_PLATFORM_CAPS=`echo $platforms | sed 's| .*||' | tr '[[a-z]]' '[[A-Z]]'`
2409 if ! echo "$platforms" | grep -q 'x11'; then
2410 DEFINES="$DEFINES -DMESA_EGL_NO_X11_HEADERS"
2411 GL_PC_CFLAGS="$GL_PC_CFLAGS -DMESA_EGL_NO_X11_HEADERS"
2415 AC_ARG_WITH([xvmc-libdir],
2416 [AS_HELP_STRING([--with-xvmc-libdir=DIR],
2428 AC_ARG_WITH([vdpau-libdir],
2429 [AS_HELP_STRING([--with-vdpau-libdir=DIR],
2437 AC_ARG_WITH([omx-bellagio-libdir],
2438 [AS_HELP_STRING([--with-omx-bellagio-libdir=DIR],
2441 [OMX_BELLAGIO_LIB_INSTALL_DIR=`$PKG_CONFIG --exists libomxil-bellagio && \
2442 … $PKG_CONFIG --define-variable=libdir=\$libdir --variable=pluginsdir libomxil-bellagio`])
2447 AC_ARG_WITH([va-libdir],
2448 [AS_HELP_STRING([--with-va-libdir=DIR],
2454 AC_ARG_WITH([d3d-libdir],
2455 [AS_HELP_STRING([--with-d3d-libdir=DIR],
2463 AC_ARG_WITH([swr-archs],
2464 [AS_HELP_STRING([--with-swr-archs@<:@=DIRS...@:>@],
2484 dnl DRM is needed by X, Wayland, and offscreen rendering.
2493 1) --with-platforms=drm (X, Wayland, offscreen rendering based on DRM)
2494 2) --with-platforms=surfaceless (offscreen only)
2495 3) --with-platforms=android (Android only)
2530 if test $found -eq 1; then
2541 if test -n "$with_gallium_drivers"; then
2578 libdrm_version=`pkg-config libdrm_amdgpu --modversion`
2621 ",-target-cpu=sandybridge,-mavx,-march=core-avx,-tp=sandybridge" \
2633 … ",-target-cpu=haswell,-mavx2 -mfma -mbmi2 -mf16c,-march=core-avx2,-tp=haswell" \
2640 ",-target-cpu=mic-knl,-march=knl,-xMIC-AVX512" \
2647 ",-target-cpu=x86-skylake,-march=skylake-avx512,-xCORE-AVX512" \
2658 if test "x$HAVE_SWR_AVX" != xyes -a \
2659 "x$HAVE_SWR_AVX2" != xyes -a \
2660 "x$HAVE_SWR_KNL" != xyes -a \
2666 if test `echo $swr_archs | wc -w` -eq 1; then
2678 DEFINES="$DEFINES -DUSE_VC4_SIMULATOR"],
2686 DEFINES="$DEFINES -DUSE_VC5_SIMULATOR"],
2707 AM_CONDITIONAL(SWR_INVALID_LLVM_VERSION, test "x$LLVM_VERSION" != x3.9.0 -a \
2710 if test "x$enable_llvm" = "xyes" -a "$with_gallium_drivers"; then
2723 if test "x$HAVE_GALLIUM_ETNAVIV" != xyes -a "x$HAVE_GALLIUM_IMX" = xyes ; then
2727 if test "x$HAVE_GALLIUM_VC4" != xyes -a "x$HAVE_GALLIUM_PL111" = xyes ; then
2733 dnl llvm-config may not give the right answer when llvm is a built as a
2738 LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
2739 AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.$IMP_LIB_EXT"], [llvm_have_one_so=yes])
2743 LLVM_LIBS="-l$LLVM_SO_NAME"
2747 AS_IF([test ! -f "$LLVM_LIBDIR/libLLVMTarget.$IMP_LIB_EXT"],
2749 Please make sure you have built llvm with the --enable-shared option
2752 can use the --with-llvm-prefix= configure flag to specify this directory.
2755 use llvm static libraries then add --disable-llvm-shared-libs to your configure
2768 …DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT -DMESA_LLVM_VERSION_PATCH=$LLVM_VERSION_PATCH"
2770 LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
2772 LLVM_CXXFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cxxflags"`
2774 dnl Set LLVM_LIBS - This is done after the driver configuration so
2777 dnl by calling llvm-config --libs ${DRIVER_LLVM_COMPONENTS}, but
2781 … if test $LLVM_VERSION_MAJOR -ge 4 -o $LLVM_VERSION_MAJOR -eq 3 -a $LLVM_VERSION_MINOR -ge 9; then
2783 LLVM_LIBS="`$LLVM_CONFIG --link-shared --libs ${LLVM_COMPONENTS}`"
2785 dnl Invoking llvm-config with both -libs and --system-libs produces the
2786 dnl two separate lines - each for the set of libraries.
2788 LLVM_LIBS="`$LLVM_CONFIG --link-static --libs ${LLVM_COMPONENTS}`"
2790 LLVM_LIBS="$LLVM_LIBS `$LLVM_CONFIG --link-static --system-libs`"
2793 LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`"
2799 dnl However, only llvm 3.5+ provides --system-libs
2800 … if test $LLVM_VERSION_MAJOR -ge 4 -o $LLVM_VERSION_MAJOR -eq 3 -a $LLVM_VERSION_MINOR -ge 5; then
2801 LLVM_LIBS="$LLVM_LIBS `$LLVM_CONFIG --system-libs`"
2806 dnl The gallium-xlib GLX and gallium OSMesa targets directly embed the
2811 if test "x$enable_glx" == xgallium-xlib; then
2833 AM_CONDITIONAL(HAVE_GALLIUM_SWRAST, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes -o \
2834 "x$HAVE_GALLIUM_LLVMPIPE" = xyes -o \
2843 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_DRI"
2847 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_KMS"
2861 AM_CONDITIONAL(HAVE_AMD_DRIVERS, test "x$HAVE_GALLIUM_RADEONSI" = xyes -o \
2864 AM_CONDITIONAL(HAVE_BROADCOM_DRIVERS, test "x$HAVE_GALLIUM_VC4" = xyes -o \
2867 AM_CONDITIONAL(HAVE_INTEL_DRIVERS, test "x$HAVE_INTEL_VULKAN" = xyes -o \
2870 AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$HAVE_GALLIUM_R300" = xyes -o \
2871 "x$HAVE_GALLIUM_R600" = xyes -o \
2873 AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$enable_glx" = xgallium-xlib)
2882 AM_CONDITIONAL(HAVE_COMMON_OSMESA, test "x$enable_osmesa" = xyes -o \
2885 AM_CONDITIONAL(HAVE_X86_ASM, test "x$asm_arch" = xx86 -o "x$asm_arch" = xx86_64)
2901 VA_MAJOR=`$PKG_CONFIG --modversion libva | $SED -n 's/\([[^\.]]*\)\..*$/\1/p'`
2902 VA_MINOR=`$PKG_CONFIG --modversion libva | $SED -n 's/.*\.\(.*\)\..*$/\1/p'`
2918 [AS_HELP_STRING([--enable-valgrind],
2944 CFLAGS="$CFLAGS -Qunused-arguments"
2945 CXXFLAGS="$CXXFLAGS -Qunused-arguments"
2961 src/egl/wayland/wayland-drm/Makefile
2962 src/egl/wayland/wayland-egl/Makefile
2963 src/egl/wayland/wayland-egl/wayland-egl.pc
2966 src/gallium/auxiliary/pipe-loader/Makefile
3002 src/gallium/targets/libgl-xlib/Makefile
3003 src/gallium/targets/omx-bellagio/Makefile
3008 src/gallium/targets/pipe-loader/Makefile
3026 src/gallium/winsys/sw/kms-dri/Makefile
3074 $SED -i -e 's/brw_blorp.cpp/brw_blorp.c/' src/mesa/drivers/dri/i965/.deps/brw_blorp.Plo
3076 rm -f src/compiler/spirv/spirv_info.lo
3109 if test -z "$DRI_DIRS"; then
3119 echo " GLX: DRI-based"
3122 echo " GLX: Xlib-based"
3124 xgallium-xlib)
3125 echo " GLX: Xlib-based (Gallium)"
3167 echo " llvm-config: $LLVM_CONFIG"
3168 echo " llvm-version: $LLVM_VERSION"
3174 if test -n "$with_gallium_drivers"; then
3207 echo " Shared-glapi: $enable_shared_glapi"
3234 echo " Run '${MAKE-make}' to build Mesa"