1 dnl Process this file with autoconf to create configure.
5 dnl Tell the user about autoconf.html in the --help output
6 m4_divert_once([HELP_END], [
7 See docs/autoconf.html for more details on the options for Mesa.])
9 m4_define(MESA_VERSION, m4_normalize(m4_include(VERSION)))
10 AC_INIT([Mesa], [MESA_VERSION],
11 [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
12 AC_CONFIG_AUX_DIR([bin])
13 AC_CONFIG_MACRO_DIR([m4])
15 AM_INIT_AUTOMAKE([foreign tar-ustar dist-xz])
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
20 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
21 [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
23 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
25 dnl Set internal versions
27 AC_SUBST([OSMESA_VERSION])
29 dnl Versions for external dependencies
30 LIBDRM_REQUIRED=2.4.38
31 LIBDRM_RADEON_REQUIRED=2.4.56
32 LIBDRM_INTEL_REQUIRED=2.4.52
33 LIBDRM_NVVIEUX_REQUIRED=2.4.33
34 LIBDRM_NOUVEAU_REQUIRED="2.4.33 libdrm >= 2.4.41"
35 LIBDRM_FREEDRENO_REQUIRED=2.4.57
36 DRI2PROTO_REQUIRED=2.6
37 DRI3PROTO_REQUIRED=1.0
38 PRESENTPROTO_REQUIRED=1.0
40 GLPROTO_REQUIRED=1.4.14
41 LIBOMXIL_BELLAGIO_REQUIRED=0.0
44 WAYLAND_REQUIRED=1.2.0
48 XSHMFENCE_REQUIRED=1.1
58 AC_CHECK_PROGS([PYTHON2], [python2 python])
65 LT_INIT([disable-static])
68 AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-parse.c"],
69 [AC_MSG_ERROR([bison not found - unable to compile glcpp-parse.y])]))
71 AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-lex.c"],
72 [AC_MSG_ERROR([flex not found - unable to compile glcpp-lex.l])]))
74 AC_CHECK_PROG(INDENT, indent, indent, cat)
75 if test "x$INDENT" != "xcat"; then
76 AC_SUBST(INDENT_FLAGS, '-i4 -nut -br -brs -npcs -ce -TGLubyte -TGLbyte -TBool')
79 AX_CHECK_PYTHON_MAKO_MODULE(0.3.4)
83 dnl We need a POSIX shell for parts of the build. Assume we have one
87 # Solaris /bin/sh is too old/non-POSIX compliant
88 AC_PATH_PROGS(POSIX_SHELL, [ksh93 ksh sh])
93 dnl clang is mostly GCC-compatible, but its version is much lower,
94 dnl so we have to check for it.
95 AC_MSG_CHECKING([if compiling with clang])
98 [AC_LANG_PROGRAM([], [[
103 [acv_mesa_CLANG=yes], [acv_mesa_CLANG=no])
105 AC_MSG_RESULT([$acv_mesa_CLANG])
107 dnl If we're using GCC, make sure that it is at least version 4.2.0. Older
108 dnl versions are explictly not supported.
110 if test "x$GCC" = xyes -a "x$acv_mesa_CLANG" = xno; then
111 AC_MSG_CHECKING([whether gcc version is sufficient])
115 GCC_VERSION=`$CC -dumpversion`
116 if test $? -eq 0; then
117 GCC_VERSION_MAJOR=`echo $GCC_VERSION | cut -d. -f1`
118 GCC_VERSION_MINOR=`echo $GCC_VERSION | cut -d. -f2`
121 if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 2 ; then
123 AC_MSG_ERROR([If using GCC, version 4.2.0 or later is required.])
128 if test "x$cross_compiling" = xyes; then
133 dnl Check for compiler builtins
134 AX_GCC_BUILTIN([__builtin_bswap32])
135 AX_GCC_BUILTIN([__builtin_bswap64])
136 AX_GCC_BUILTIN([__builtin_clz])
137 AX_GCC_BUILTIN([__builtin_clzll])
138 AX_GCC_BUILTIN([__builtin_ctz])
139 AX_GCC_BUILTIN([__builtin_expect])
140 AX_GCC_BUILTIN([__builtin_ffs])
141 AX_GCC_BUILTIN([__builtin_ffsll])
142 AX_GCC_BUILTIN([__builtin_popcount])
143 AX_GCC_BUILTIN([__builtin_popcountll])
144 AX_GCC_BUILTIN([__builtin_unreachable])
146 AX_GCC_FUNC_ATTRIBUTE([flatten])
147 AX_GCC_FUNC_ATTRIBUTE([format])
148 AX_GCC_FUNC_ATTRIBUTE([malloc])
149 AX_GCC_FUNC_ATTRIBUTE([packed])
151 AM_CONDITIONAL([GEN_ASM_OFFSETS], test "x$GEN_ASM_OFFSETS" = xyes)
153 dnl Make sure the pkg-config macros are defined
154 m4_ifndef([PKG_PROG_PKG_CONFIG],
155 [m4_fatal([Could not locate the pkg-config autoconf macros.
156 These are usually located in /usr/share/aclocal/pkg.m4. If your macros
157 are in a different location, try setting the environment variable
158 ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
159 PKG_PROG_PKG_CONFIG()
161 dnl LIB_DIR - library basename
162 LIB_DIR=`echo $libdir | $SED 's%.*/%%'`
165 dnl Cache LDFLAGS and CPPFLAGS so we can add to them and restore later
166 _SAVE_LDFLAGS="$LDFLAGS"
167 _SAVE_CPPFLAGS="$CPPFLAGS"
170 DEFINES="-DUSE_EXTERNAL_DXTN_LIB=1"
174 DEFINES="$DEFINES -D_GNU_SOURCE"
177 DEFINES="$DEFINES -DSVR4"
180 DEFINES="$DEFINES -D_XOPEN_SOURCE=700"
184 dnl Add flags for gcc and g++
185 if test "x$GCC" = xyes; then
186 CFLAGS="$CFLAGS -Wall -std=c99"
188 # Enable -Werror=implicit-function-declaration and
189 # -Werror=missing-prototypes, if available, or otherwise, just
190 # -Wmissing-prototypes. This is particularly useful to avoid
191 # generating a loadable driver module that has undefined symbols.
192 save_CFLAGS="$CFLAGS"
193 AC_MSG_CHECKING([whether $CC supports -Werror=missing-prototypes])
194 CFLAGS="$CFLAGS -Werror=implicit-function-declaration"
195 CFLAGS="$CFLAGS -Werror=missing-prototypes"
196 AC_LINK_IFELSE([AC_LANG_PROGRAM()],
197 AC_MSG_RESULT([yes]),
198 [CFLAGS="$save_CFLAGS -Wmissing-prototypes";
199 AC_MSG_RESULT([no])]);
201 # Enable -fvisibility=hidden if using a gcc that supports it
202 save_CFLAGS="$CFLAGS"
203 AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
204 VISIBILITY_CFLAGS="-fvisibility=hidden"
205 CFLAGS="$CFLAGS $VISIBILITY_CFLAGS"
206 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
207 [VISIBILITY_CFLAGS=""; AC_MSG_RESULT([no])]);
209 # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed.
212 # Work around aliasing bugs - developers should comment this out
213 CFLAGS="$CFLAGS -fno-strict-aliasing"
215 # gcc's builtin memcmp is slower than glibc's
216 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
217 CFLAGS="$CFLAGS -fno-builtin-memcmp"
219 if test "x$GXX" = xyes; then
220 CXXFLAGS="$CXXFLAGS -Wall"
222 # Enable -fvisibility=hidden if using a gcc that supports it
223 save_CXXFLAGS="$CXXFLAGS"
224 AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
225 VISIBILITY_CXXFLAGS="-fvisibility=hidden"
226 CXXFLAGS="$CXXFLAGS $VISIBILITY_CXXFLAGS"
228 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
229 [VISIBILITY_CXXFLAGS="" ; AC_MSG_RESULT([no])]);
232 # Restore CXXFLAGS; VISIBILITY_CXXFLAGS are added to it where needed.
233 CXXFLAGS=$save_CXXFLAGS
235 # Work around aliasing bugs - developers should comment this out
236 CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
238 # gcc's builtin memcmp is slower than glibc's
239 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
240 CXXFLAGS="$CXXFLAGS -fno-builtin-memcmp"
243 dnl even if the compiler appears to support it, using visibility attributes isn't
244 dnl going to do anything useful currently on cygwin apart from emit lots of warnings
248 VISIBILITY_CXXFLAGS=""
252 AC_SUBST([VISIBILITY_CFLAGS])
253 AC_SUBST([VISIBILITY_CXXFLAGS])
256 dnl Optional flags, check for compiler support
258 SSE41_CFLAGS="-msse4.1"
259 dnl Code compiled by GCC with -msse* assumes a 16 byte aligned
260 dnl stack, but on x86-32 such alignment is not guaranteed.
261 case "$target_cpu" in
263 SSE41_CFLAGS="$SSE41_CFLAGS -mstackrealign"
266 save_CFLAGS="$CFLAGS"
267 CFLAGS="$SSE41_CFLAGS $CFLAGS"
268 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
269 #include <smmintrin.h>
271 __m128i a = _mm_set1_epi32 (0), b = _mm_set1_epi32 (0), c;
272 c = _mm_max_epu32(a, b);
274 }]])], SSE41_SUPPORTED=1)
275 CFLAGS="$save_CFLAGS"
276 if test "x$SSE41_SUPPORTED" = x1; then
277 DEFINES="$DEFINES -DUSE_SSE41"
279 AM_CONDITIONAL([SSE41_SUPPORTED], [test x$SSE41_SUPPORTED = x1])
280 AC_SUBST([SSE41_CFLAGS], $SSE41_CFLAGS)
282 dnl Can't have static and shared libraries, default to static if user
283 dnl explicitly requested. If both disabled, set to static since shared
284 dnl was explicitly requested.
285 case "x$enable_static$enable_shared" in
287 AC_MSG_WARN([Cannot build static and shared libraries, disabling shared])
291 AC_MSG_WARN([Cannot disable both static and shared libraries, enabling shared])
296 AM_CONDITIONAL(BUILD_SHARED, test "x$enable_shared" = xyes)
299 dnl other compiler options
301 AC_ARG_ENABLE([debug],
302 [AS_HELP_STRING([--enable-debug],
303 [use debug compiler flags and macros @<:@default=disabled@:>@])],
304 [enable_debug="$enableval"],
307 if test "x$enable_debug" = xyes; then
308 DEFINES="$DEFINES -DDEBUG"
309 if test "x$GCC" = xyes; then
310 if ! echo "$CFLAGS" | grep -q -e '-g'; then
313 if ! echo "$CFLAGS" | grep -q -e '-O'; then
317 if test "x$GXX" = xyes; then
318 if ! echo "$CXXFLAGS" | grep -q -e '-g'; then
319 CXXFLAGS="$CXXFLAGS -g"
321 if ! echo "$CXXFLAGS" | grep -q -e '-O'; then
322 CXXFLAGS="$CXXFLAGS -O0"
328 dnl Check if linker supports -Bsymbolic
330 save_LDFLAGS=$LDFLAGS
331 LDFLAGS="$LDFLAGS -Wl,-Bsymbolic"
332 AC_MSG_CHECKING([if ld supports -Bsymbolic])
334 [AC_LANG_SOURCE([int main() { return 0;}])],
335 [AC_MSG_RESULT([yes])
336 BSYMBOLIC="-Wl,-Bsymbolic";],
339 LDFLAGS=$save_LDFLAGS
341 AC_SUBST([BSYMBOLIC])
344 dnl Check if linker supports garbage collection
346 save_LDFLAGS=$LDFLAGS
347 LDFLAGS="$LDFLAGS -Wl,--gc-sections"
348 AC_MSG_CHECKING([whether ld supports --gc-sections])
350 [AC_LANG_SOURCE([static char UnusedFunc() { return 5; } int main() { return 0;}])],
351 [AC_MSG_RESULT([yes])
352 GC_SECTIONS="-Wl,--gc-sections";],
355 LDFLAGS=$save_LDFLAGS
357 AC_SUBST([GC_SECTIONS])
360 dnl OpenBSD does not have DT_NEEDED entries for libc by design
361 dnl so when these flags are passed to ld via libtool the checks will fail
365 LD_NO_UNDEFINED="" ;;
367 LD_NO_UNDEFINED="-Wl,--no-undefined" ;;
370 AC_SUBST([LD_NO_UNDEFINED])
373 dnl Check if linker supports version scripts
375 AC_MSG_CHECKING([if the linker supports version-scripts])
376 save_LDFLAGS=$LDFLAGS
377 LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
378 cat > conftest.map <<EOF
388 [AC_LANG_SOURCE([int main() { return 0;}])],
389 [have_ld_version_script=yes;AC_MSG_RESULT(yes)],
390 [have_ld_version_script=no; AC_MSG_RESULT(no)])
391 LDFLAGS=$save_LDFLAGS
392 AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")
395 dnl Check if linker supports dynamic list files
397 AC_MSG_CHECKING([if the linker supports --dynamic-list])
398 save_LDFLAGS=$LDFLAGS
399 LDFLAGS="$LDFLAGS -Wl,--dynamic-list=conftest.dyn"
400 cat > conftest.dyn <<EOF
402 radeon_drm_winsys_create;
406 [AC_LANG_SOURCE([int main() { return 0;}])],
407 [have_ld_dynamic_list=yes;AC_MSG_RESULT(yes)],
408 [have_ld_dynamic_list=no; AC_MSG_RESULT(no)])
409 LDFLAGS=$save_LDFLAGS
410 AM_CONDITIONAL(HAVE_LD_DYNAMIC_LIST, test "$have_ld_dynamic_list" = "yes")
413 dnl compatibility symlinks
417 HAVE_COMPAT_SYMLINKS=yes ;;
419 HAVE_COMPAT_SYMLINKS=no ;;
422 AM_CONDITIONAL(HAVE_COMPAT_SYMLINKS, test "x$HAVE_COMPAT_SYMLINKS" = xyes)
440 AC_ARG_WITH([gl-lib-name],
441 [AS_HELP_STRING([--with-gl-lib-name@<:@=NAME@:>@],
442 [specify GL library name @<:@default=GL@:>@])],
445 AC_ARG_WITH([osmesa-lib-name],
446 [AS_HELP_STRING([--with-osmesa-lib-name@<:@=NAME@:>@],
447 [specify OSMesa library name @<:@default=OSMesa@:>@])],
448 [OSMESA_LIB=$withval],
450 AS_IF([test "x$GL_LIB" = xyes], [GL_LIB=GL])
451 AS_IF([test "x$OSMESA_LIB" = xyes], [OSMESA_LIB=OSMesa])
454 dnl Mangled Mesa support
456 AC_ARG_ENABLE([mangling],
457 [AS_HELP_STRING([--enable-mangling],
458 [enable mangled symbols and library name @<:@default=disabled@:>@])],
459 [enable_mangling="${enableval}"],
462 if test "x${enable_mangling}" = "xyes" ; then
463 DEFINES="${DEFINES} -DUSE_MGL_NAMESPACE"
464 GL_LIB="Mangled${GL_LIB}"
465 OSMESA_LIB="Mangled${OSMESA_LIB}"
468 AC_SUBST([OSMESA_LIB])
471 dnl potentially-infringing-but-nobody-knows-for-sure stuff
473 AC_ARG_ENABLE([texture-float],
474 [AS_HELP_STRING([--enable-texture-float],
475 [enable floating-point textures and renderbuffers @<:@default=disabled@:>@])],
476 [enable_texture_float="$enableval"],
477 [enable_texture_float=no]
479 if test "x$enable_texture_float" = xyes; then
480 AC_MSG_WARN([Floating-point textures enabled.])
481 AC_MSG_WARN([Please consult docs/patents.txt with your lawyer before building Mesa.])
482 DEFINES="$DEFINES -DTEXTURE_FLOAT_ENABLED"
486 dnl Arch/platform-specific settings
489 [AS_HELP_STRING([--disable-asm],
490 [disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
491 [enable_asm="$enableval"],
495 AC_MSG_CHECKING([whether to enable assembly])
496 test "x$enable_asm" = xno && AC_MSG_RESULT([no])
497 # disable if cross compiling on x86/x86_64 since we must run gen_matypes
498 if test "x$enable_asm" = xyes -a "x$cross_compiling" = xyes; then
500 i?86 | x86_64 | amd64)
502 AC_MSG_RESULT([no, cross compiling])
506 # check for supported arches
507 if test "x$enable_asm" = xyes; then
511 linux* | *freebsd* | dragonfly* | *netbsd* | openbsd* | gnu*)
518 linux* | *freebsd* | dragonfly* | *netbsd* | openbsd*)
534 DEFINES="$DEFINES -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
535 AC_MSG_RESULT([yes, x86])
538 DEFINES="$DEFINES -DUSE_X86_64_ASM"
539 AC_MSG_RESULT([yes, x86_64])
542 DEFINES="$DEFINES -DUSE_SPARC_ASM"
543 AC_MSG_RESULT([yes, sparc])
546 AC_MSG_RESULT([no, platform not supported])
551 AC_CHECK_HEADER([xlocale.h], [DEFINES="$DEFINES -DHAVE_XLOCALE_H"])
552 AC_CHECK_FUNC([strtof], [DEFINES="$DEFINES -DHAVE_STRTOF"])
554 dnl Check to see if dlopen is in default libraries (like Solaris, which
555 dnl has it in libc), or if libdl is needed to get it.
556 AC_CHECK_FUNC([dlopen], [DEFINES="$DEFINES -DHAVE_DLOPEN"],
557 [AC_CHECK_LIB([dl], [dlopen],
558 [DEFINES="$DEFINES -DHAVE_DLOPEN"; DLOPEN_LIBS="-ldl"])])
559 AC_SUBST([DLOPEN_LIBS])
561 dnl Check if that library also has dladdr
563 LIBS="$LIBS $DLOPEN_LIBS"
564 AC_CHECK_FUNCS([dladdr])
571 AC_CHECK_FUNCS([clock_gettime], [CLOCK_LIB=],
572 [AC_CHECK_LIB([rt], [clock_gettime], [CLOCK_LIB=-lrt],
573 [AC_MSG_ERROR([Could not find clock_gettime])])])
574 AC_SUBST([CLOCK_LIB])
578 dnl See if posix_memalign is available
579 AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
581 dnl Check for pthreads
589 dnl AX_PTHREADS leaves PTHREAD_LIBS empty for gcc and sets PTHREAD_CFLAGS
590 dnl to -pthread, which causes problems if we need -lpthread to appear in
592 test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread"
594 dnl SELinux awareness.
595 AC_ARG_ENABLE([selinux],
596 [AS_HELP_STRING([--enable-selinux],
597 [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
598 [MESA_SELINUX="$enableval"],
600 if test "x$enable_selinux" = "xyes"; then
601 PKG_CHECK_MODULES([SELINUX], [libselinux], [],
602 [AC_CHECK_HEADER([selinux/selinux.h],[],
603 [AC_MSG_ERROR([SELinux headers not found])])
604 AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
605 [AC_MSG_ERROR([SELinux library not found])])
606 SELINUX_LIBS="-lselinux"])
607 DEFINES="$DEFINES -DMESA_SELINUX"
609 AC_SUBST([SELINUX_CFLAGS])
610 AC_SUBST([SELINUX_LIBS])
613 AC_ARG_ENABLE([opengl],
614 [AS_HELP_STRING([--disable-opengl],
615 [disable support for standard OpenGL API @<:@default=enabled@:>@])],
616 [enable_opengl="$enableval"],
618 AC_ARG_ENABLE([gles1],
619 [AS_HELP_STRING([--enable-gles1],
620 [enable support for OpenGL ES 1.x API @<:@default=disabled@:>@])],
621 [enable_gles1="$enableval"],
623 AC_ARG_ENABLE([gles2],
624 [AS_HELP_STRING([--enable-gles2],
625 [enable support for OpenGL ES 2.x API @<:@default=disabled@:>@])],
626 [enable_gles2="$enableval"],
628 AC_ARG_ENABLE([openvg],
629 [AS_HELP_STRING([--enable-openvg],
630 [enable support for OpenVG API @<:@default=disabled@:>@])],
631 [enable_openvg="$enableval"],
635 [AS_HELP_STRING([--enable-dri],
636 [enable DRI modules @<:@default=enabled@:>@])],
637 [enable_dri="$enableval"],
648 AC_ARG_ENABLE([dri3],
649 [AS_HELP_STRING([--enable-dri3],
650 [enable DRI3 @<:@default=auto@:>@])],
651 [enable_dri3="$enableval"],
652 [enable_dri3="$dri3_default"])
654 [AS_HELP_STRING([--enable-glx],
655 [enable GLX library @<:@default=enabled@:>@])],
656 [enable_glx="$enableval"],
658 AC_ARG_ENABLE([osmesa],
659 [AS_HELP_STRING([--enable-osmesa],
660 [enable OSMesa library @<:@default=disabled@:>@])],
661 [enable_osmesa="$enableval"],
663 AC_ARG_ENABLE([gallium-osmesa],
664 [AS_HELP_STRING([--enable-gallium-osmesa],
665 [enable Gallium implementation of the OSMesa library @<:@default=disabled@:>@])],
666 [enable_gallium_osmesa="$enableval"],
667 [enable_gallium_osmesa=no])
669 [AS_HELP_STRING([--disable-egl],
670 [disable EGL library @<:@default=enabled@:>@])],
671 [enable_egl="$enableval"],
675 [AS_HELP_STRING([--enable-xa],
676 [enable build of the XA X Acceleration API @<:@default=disabled@:>@])],
677 [enable_xa="$enableval"],
680 [AS_HELP_STRING([--enable-gbm],
681 [enable gbm library @<:@default=auto@:>@])],
682 [enable_gbm="$enableval"],
684 AC_ARG_ENABLE([nine],
685 [AS_HELP_STRING([--enable-nine],
686 [enable build of the nine Direct3D9 API @<:@default=no@:>@])],
687 [enable_nine="$enableval"],
690 AC_ARG_ENABLE([xvmc],
691 [AS_HELP_STRING([--enable-xvmc],
692 [enable xvmc library @<:@default=auto@:>@])],
693 [enable_xvmc="$enableval"],
695 AC_ARG_ENABLE([vdpau],
696 [AS_HELP_STRING([--enable-vdpau],
697 [enable vdpau library @<:@default=auto@:>@])],
698 [enable_vdpau="$enableval"],
701 [AS_HELP_STRING([--enable-omx],
702 [enable OpenMAX library @<:@default=disabled@:>@])],
703 [enable_omx="$enableval"],
706 [AS_HELP_STRING([--enable-va],
707 [enable va library @<:@default=auto@:>@])],
708 [enable_va="$enableval"],
710 AC_ARG_ENABLE([opencl],
711 [AS_HELP_STRING([--enable-opencl],
712 [enable OpenCL library @<:@default=disabled@:>@])],
713 [enable_opencl="$enableval"],
715 AC_ARG_ENABLE([opencl_icd],
716 [AS_HELP_STRING([--enable-opencl-icd],
717 [Build an OpenCL ICD library to be loaded by an ICD implementation
718 @<:@default=disabled@:>@])],
719 [enable_opencl_icd="$enableval"],
720 [enable_opencl_icd=no])
721 AC_ARG_ENABLE([xlib-glx],
722 [AS_HELP_STRING([--enable-xlib-glx],
723 [make GLX library Xlib-based instead of DRI-based @<:@default=disabled@:>@])],
724 [enable_xlib_glx="$enableval"],
725 [enable_xlib_glx=no])
727 AC_ARG_ENABLE([r600-llvm-compiler],
728 [AS_HELP_STRING([--enable-r600-llvm-compiler],
729 [Enable experimental LLVM backend for graphics shaders @<:@default=disabled@:>@])],
730 [enable_r600_llvm="$enableval"],
731 [enable_r600_llvm=no])
733 AC_ARG_ENABLE([gallium-tests],
734 [AS_HELP_STRING([--enable-gallium-tests],
735 [Enable optional Gallium tests) @<:@default=disabled@:>@])],
736 [enable_gallium_tests="$enableval"],
737 [enable_gallium_tests=no])
739 # Option for Gallium drivers
741 # Keep this in sync with the --with-gallium-drivers help string default value
742 GALLIUM_DRIVERS_DEFAULT="r300,r600,svga,swrast"
744 AC_ARG_WITH([gallium-drivers],
745 [AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@],
746 [comma delimited Gallium drivers list, e.g.
747 "i915,ilo,nouveau,r300,r600,radeonsi,freedreno,svga,swrast,vc4"
748 @<:@default=r300,r600,svga,swrast@:>@])],
749 [with_gallium_drivers="$withval"],
750 [with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"])
752 # Doing '--without-gallium-drivers' will set this variable to 'no'. Clear it
753 # here so that the script doesn't choke on an unknown driver name later.
754 case "$with_gallium_drivers" in
755 yes) with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT" ;;
756 no) with_gallium_drivers='' ;;
759 if test "x$enable_opengl" = xno -a \
760 "x$enable_gles1" = xno -a \
761 "x$enable_gles2" = xno -a \
762 "x$enable_nine" = xno -a \
763 "x$enable_openvg" = xno -a \
764 "x$enable_xa" = xno -a \
765 "x$enable_xvmc" = xno -a \
766 "x$enable_vdpau" = xno -a \
767 "x$enable_omx" = xno -a \
768 "x$enable_va" = xno -a \
769 "x$enable_opencl" = xno; then
770 AC_MSG_ERROR([at least one API should be enabled])
773 # Building OpenGL ES1 and/or ES2 without OpenGL is not supported on mesa 9.0.x
774 if test "x$enable_opengl" = xno -a \
775 "x$enable_gles1" = xyes; then
776 AC_MSG_ERROR([Building OpenGL ES1 without OpenGL is not supported])
779 if test "x$enable_opengl" = xno -a \
780 "x$enable_gles2" = xyes; then
781 AC_MSG_ERROR([Building OpenGL ES2 without OpenGL is not supported])
784 AM_CONDITIONAL(HAVE_OPENGL, test "x$enable_opengl" = xyes)
785 AM_CONDITIONAL(HAVE_OPENGL_ES1, test "x$enable_gles1" = xyes)
786 AM_CONDITIONAL(HAVE_OPENGL_ES2, test "x$enable_gles2" = xyes)
787 AM_CONDITIONAL(NEED_OPENGL_COMMON, test "x$enable_opengl" = xyes -o \
788 "x$enable_gles1" = xyes -o \
789 "x$enable_gles2" = xyes)
791 if test "x$enable_glx" = xno; then
792 AC_MSG_WARN([GLX disabled, disabling Xlib-GLX])
796 if test "x$enable_dri$enable_xlib_glx" = xyesyes; then
797 AC_MSG_ERROR([DRI and Xlib-GLX cannot be built together])
800 if test "x$enable_opengl$enable_xlib_glx" = xnoyes; then
801 AC_MSG_ERROR([Xlib-GLX cannot be built without OpenGL])
804 # Disable GLX if OpenGL is not enabled
805 if test "x$enable_glx$enable_opengl" = xyesno; then
806 AC_MSG_WARN([OpenGL not enabled, disabling GLX])
810 # Disable GLX if DRI and Xlib-GLX are not enabled
811 if test "x$enable_glx" = xyes -a \
812 "x$enable_dri" = xno -a \
813 "x$enable_xlib_glx" = xno; then
814 AC_MSG_WARN([Neither DRI nor Xlib-GLX enabled, disabling GLX])
818 AM_CONDITIONAL(HAVE_DRI_GLX, test "x$enable_glx" = xyes -a \
819 "x$enable_dri" = xyes)
821 # Select which platform-dependent DRI code gets built
824 dri_platform='apple' ;;
826 dri_platform='none' ;;
828 dri_platform='drm' ;;
831 AM_CONDITIONAL(HAVE_DRICOMMON, test "x$enable_dri" = xyes )
832 AM_CONDITIONAL(HAVE_DRISW, test "x$enable_dri" = xyes )
833 AM_CONDITIONAL(HAVE_DRI2, test "x$enable_dri" = xyes -a "x$dri_platform" = xdrm )
834 AM_CONDITIONAL(HAVE_DRI3, test "x$enable_dri3" = xyes -a "x$dri_platform" = xdrm )
835 AM_CONDITIONAL(HAVE_APPLEDRI, test "x$enable_dri" = xyes -a "x$dri_platform" = xapple )
837 AC_ARG_ENABLE([shared-glapi],
838 [AS_HELP_STRING([--enable-shared-glapi],
839 [Enable shared glapi for OpenGL @<:@default=enabled@:>@])],
840 [enable_shared_glapi="$enableval"],
841 [enable_shared_glapi=yes])
843 case "x$enable_opengl$enable_gles1$enable_gles2" in
845 if test "x$enable_shared_glapi" = xno; then
846 AC_MSG_ERROR([shared GLAPI required when building two or more of
847 the following APIs - opengl, gles1 gles2])
852 # Building Xlib-GLX requires shared glapi to be disabled.
853 if test "x$enable_xlib_glx" = xyes; then
854 AC_MSG_NOTICE([Shared GLAPI should not used with Xlib-GLX, disabling])
855 enable_shared_glapi=no
858 AM_CONDITIONAL(HAVE_SHARED_GLAPI, test "x$enable_shared_glapi" = xyes)
860 # Build the pipe-drivers as separate libraries/modules.
861 # Do not touch this unless you know what you are doing.
862 # XXX: Expose via configure option ?
863 enable_shared_pipe_drivers=no
866 dnl Driver specific build directories
869 case "x$enable_glx$enable_xlib_glx" in
871 NEED_WINSYS_XLIB="yes"
875 if test "x$enable_dri" = xyes; then
876 enable_gallium_loader="$enable_shared_pipe_drivers"
879 if test "x$enable_gallium_osmesa" = xyes; then
880 if ! echo "$with_gallium_drivers" | grep -q 'swrast'; then
881 AC_MSG_ERROR([gallium_osmesa requires the gallium swrast driver])
883 if test "x$enable_osmesa" = xyes; then
884 AC_MSG_ERROR([Cannot enable both classic and Gallium OSMesa implementations])
888 AC_SUBST([MESA_LLVM])
891 PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED],
892 [have_libdrm=yes], [have_libdrm=no])
893 if test "x$have_libdrm" = xyes; then
894 DEFINES="$DEFINES -DHAVE_LIBDRM"
904 PKG_CHECK_MODULES([LIBUDEV], [libudev >= $LIBUDEV_REQUIRED],
905 have_libudev=yes, have_libudev=no)
907 AC_ARG_ENABLE([sysfs],
908 [AS_HELP_STRING([--enable-sysfs],
909 [enable /sys PCI identification @<:@default=disabled@:>@])],
910 [have_sysfs="$enableval"],
914 if test "x$enable_dri" = xyes; then
915 if test "$enable_static" = yes; then
916 AC_MSG_ERROR([Cannot use static libraries for DRI drivers])
919 # not a hard requirement as swrast does not depend on it
920 if test "x$have_libdrm" = xyes; then
921 DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
925 AC_ARG_ENABLE([driglx-direct],
926 [AS_HELP_STRING([--disable-driglx-direct],
927 [disable direct rendering in GLX and EGL for DRI \
928 @<:@default=auto@:>@])],
929 [driglx_direct="$enableval"],
930 [driglx_direct="yes"])
933 dnl libGL configuration per driver
935 case "x$enable_glx$enable_xlib_glx" in
938 dri_modules="x11 xext xcb"
939 PKG_CHECK_MODULES([XLIBGL], [$dri_modules])
940 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
941 X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
942 GL_LIB_DEPS="$XLIBGL_LIBS"
943 GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
944 GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm $PTHREAD_LIBS"
948 PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
950 # find the DRI deps for libGL
951 dri_modules="x11 xext xdamage xfixes x11-xcb xcb xcb-glx >= $XCBGLX_REQUIRED"
953 if test x"$driglx_direct" = xyes; then
954 if test x"$dri_platform" = xdrm ; then
955 DEFINES="$DEFINES -DGLX_USE_DRM"
956 if test "x$have_libdrm" != xyes; then
957 AC_MSG_ERROR([Direct rendering requires libdrm >= $LIBDRM_REQUIRED])
960 PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
961 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED"
962 if test x"$enable_dri3" = xyes; then
963 PKG_CHECK_MODULES([DRI3PROTO], [dri3proto >= $DRI3PROTO_REQUIRED])
964 PKG_CHECK_MODULES([PRESENTPROTO], [presentproto >= $PRESENTPROTO_REQUIRED])
967 if test x"$enable_dri" = xyes; then
968 dri_modules="$dri_modules xcb-dri2 >= $XCBDRI2_REQUIRED"
971 if test x"$enable_dri3" = xyes; then
972 PKG_CHECK_EXISTS([xcb >= $XCB_REQUIRED], [], AC_MSG_ERROR([DRI3 requires xcb >= $XCB_REQUIRED]))
973 dri_modules="$dri_modules xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED"
976 if test x"$dri_platform" = xapple ; then
977 DEFINES="$DEFINES -DGLX_USE_APPLEGL"
981 # add xf86vidmode if available
982 PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no)
983 if test "$HAVE_XF86VIDMODE" = yes ; then
984 dri_modules="$dri_modules xxf86vm"
987 PKG_CHECK_MODULES([DRIGL], [$dri_modules])
988 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
989 X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
990 GL_LIB_DEPS="$DRIGL_LIBS"
992 # need DRM libs, $PTHREAD_LIBS, etc.
993 GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
994 GL_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
999 if test "$have_libudev" = yes; then
1000 DEFINES="$DEFINES -DHAVE_LIBUDEV"
1004 if test "$have_sysfs" = yes; then
1005 DEFINES="$DEFINES -DHAVE_SYSFS"
1009 # This is outside the case (above) so that it is invoked even for non-GLX
1011 AM_CONDITIONAL(HAVE_XF86VIDMODE, test "x$HAVE_XF86VIDMODE" = xyes)
1013 GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1014 GLESv1_CM_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
1015 GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1016 GLESv2_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
1018 AC_SUBST([X11_INCLUDES])
1019 AC_SUBST([GL_LIB_DEPS])
1020 AC_SUBST([GL_PC_REQ_PRIV])
1021 AC_SUBST([GL_PC_LIB_PRIV])
1022 AC_SUBST([GL_PC_CFLAGS])
1023 AC_SUBST([DRI_PC_REQ_PRIV])
1024 AC_SUBST([GLESv1_CM_LIB_DEPS])
1025 AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
1026 AC_SUBST([GLESv2_LIB_DEPS])
1027 AC_SUBST([GLESv2_PC_LIB_PRIV])
1029 AC_SUBST([HAVE_XF86VIDMODE])
1034 case "x$enable_glx$enable_xlib_glx" in
1036 DEFINES="$DEFINES -DUSE_XSHM"
1039 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1040 if test "x$driglx_direct" = xyes; then
1041 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1050 AC_ARG_ENABLE([glx-tls],
1051 [AS_HELP_STRING([--enable-glx-tls],
1052 [enable TLS support in GLX @<:@default=disabled@:>@])],
1053 [GLX_USE_TLS="$enableval"],
1055 AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
1057 AS_IF([test "x$GLX_USE_TLS" = xyes -a "x$ax_pthread_ok" = xyes],
1058 [DEFINES="${DEFINES} -DGLX_USE_TLS"])
1063 dnl Directory for DRI drivers
1064 AC_ARG_WITH([dri-driverdir],
1065 [AS_HELP_STRING([--with-dri-driverdir=DIR],
1066 [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
1067 [DRI_DRIVER_INSTALL_DIR="$withval"],
1068 [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
1069 AC_SUBST([DRI_DRIVER_INSTALL_DIR])
1070 dnl Extra search path for DRI drivers
1071 AC_ARG_WITH([dri-searchpath],
1072 [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
1073 [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
1074 [DRI_DRIVER_SEARCH_DIR="$withval"],
1075 [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
1076 AC_SUBST([DRI_DRIVER_SEARCH_DIR])
1077 dnl Which drivers to build - default is chosen by platform
1078 AC_ARG_WITH([dri-drivers],
1079 [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
1080 [comma delimited classic DRI drivers list, e.g.
1081 "swrast,i965,radeon" @<:@default=auto@:>@])],
1082 [with_dri_drivers="$withval"],
1083 [with_dri_drivers=auto])
1085 if test "x$with_dri_drivers" = xauto; then
1086 if test "x$enable_opengl" = xyes -a "x$enable_dri" = xyes; then
1087 with_dri_drivers="yes"
1089 with_dri_drivers="no"
1092 if test "x$with_dri_drivers" = xno; then
1096 dnl If $with_dri_drivers is yes, drivers will be added through
1097 dnl platform checks. Set DEFINES and LIB_DEPS
1098 if test "x$enable_dri" = xyes; then
1099 # Platform specific settings and drivers to build
1102 DEFINES="$DEFINES -DHAVE_ALIAS"
1103 if test "x$enable_dri3" = xyes; then
1104 DEFINES="$DEFINES -DHAVE_DRI3"
1107 if test "x$have_pci_id" != xyes; then
1108 AC_MSG_ERROR([libudev-dev or sysfs required for building DRI])
1113 # Build only the drivers for cards that exist on PowerPC/sparc
1114 if test "x$with_dri_drivers" = "xyes"; then
1115 with_dri_drivers="r200 radeon swrast"
1120 *freebsd* | dragonfly* | *netbsd* | openbsd*)
1121 DEFINES="$DEFINES -DHAVE_ALIAS"
1124 DEFINES="$DEFINES -DHAVE_ALIAS"
1127 if test "x$with_dri_drivers" = "xyes"; then
1128 with_dri_drivers="swrast"
1132 DEFINES="$DEFINES -DGLX_ALIAS_UNSUPPORTED"
1133 if test "x$with_dri_drivers" = "xyes"; then
1134 with_dri_drivers="swrast"
1140 if test "x$with_dri_drivers" = "xyes"; then
1141 with_dri_drivers="i915 i965 nouveau r200 radeon swrast"
1145 PKG_CHECK_MODULES([EXPAT], [expat], [],
1146 # expat version 2.0 and earlier do not provide expat.pc
1147 [AC_CHECK_HEADER([expat.h],[],
1148 [AC_MSG_ERROR([Expat headers required for DRI not found])])
1149 AC_CHECK_LIB([expat],[XML_ParserCreate],[],
1150 [AC_MSG_ERROR([Expat library required for DRI not found])])
1151 EXPAT_LIBS="-lexpat"])
1153 DRICOMMON_NEED_LIBDRM=no
1154 # If we are building any DRI driver other than swrast.
1155 if test -n "$with_dri_drivers"; then
1156 if test "x$with_dri_drivers" != xswrast; then
1157 # ... libdrm is required
1158 if test "x$have_libdrm" != xyes; then
1159 AC_MSG_ERROR([DRI drivers requires libdrm >= $LIBDRM_REQUIRED])
1161 DRICOMMON_NEED_LIBDRM=yes
1165 # If we're building any gallium DRI driver other than swrast
1166 if test -n "$with_gallium_drivers" -a "x$DRICOMMON_NEED_LIBDRM" = xno; then
1167 if test "x$with_gallium_drivers" != xswrast; then
1168 # ... build a libdrm aware dricommon
1169 DRICOMMON_NEED_LIBDRM=yes
1173 # put all the necessary libs together
1174 DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1177 AC_SUBST([DRI_LIB_DEPS])
1180 dnl Duplicates in DRI_DIRS are removed by sorting it at the end of this block
1181 if test -n "$with_dri_drivers"; then
1182 if test "x$enable_opengl" != xyes; then
1183 AC_MSG_ERROR([--with-dri-drivers requires OpenGL])
1186 dri_drivers=`IFS=', '; echo $with_dri_drivers`
1187 for driver in $dri_drivers; do
1188 DRI_DIRS="$DRI_DIRS $driver"
1192 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1196 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1199 HAVE_NOUVEAU_DRI=yes;
1200 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NVVIEUX_REQUIRED])
1203 HAVE_RADEON_DRI=yes;
1204 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1208 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1211 HAVE_SWRAST_DRI=yes;
1214 AC_MSG_ERROR([classic DRI driver '$driver' does not exist])
1218 DRI_DIRS=`echo $DRI_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
1221 AM_CONDITIONAL(NEED_MEGADRIVER, test -n "$DRI_DIRS")
1222 AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_xlib_glx" = xyes -o \
1223 "x$enable_osmesa" = xyes -o \
1227 dnl OSMesa configuration
1230 dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
1231 AC_ARG_WITH([osmesa-bits],
1232 [AS_HELP_STRING([--with-osmesa-bits=BITS],
1233 [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
1234 [osmesa_bits="$withval"],
1236 if test "x$osmesa_bits" != x8; then
1237 if test "x$enable_dri" = xyes -o "x$enable_glx" = xyes; then
1238 AC_MSG_WARN([Ignoring OSMesa channel bits because of non-OSMesa driver])
1242 case "x$osmesa_bits" in
1244 OSMESA_LIB="${OSMESA_LIB}"
1247 OSMESA_LIB="${OSMESA_LIB}$osmesa_bits"
1248 DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
1251 AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
1255 if test "x$enable_osmesa" = xyes -o "x$enable_gallium_osmesa" = xyes; then
1256 # only link libraries with osmesa if shared
1257 if test "$enable_static" = no; then
1258 OSMESA_LIB_DEPS="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
1262 OSMESA_PC_LIB_PRIV="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
1265 AC_SUBST([OSMESA_LIB_DEPS])
1266 AC_SUBST([OSMESA_PC_REQ])
1267 AC_SUBST([OSMESA_PC_LIB_PRIV])
1270 dnl gbm configuration
1272 if test "x$enable_gbm" = xauto; then
1273 case "$with_egl_platforms" in
1280 if test "x$enable_gbm" = xyes; then
1281 if test "x$need_pci_id$have_pci_id" = xyesno; then
1282 AC_MSG_ERROR([gbm requires udev >= $LIBUDEV_REQUIRED or sysfs])
1285 if test "x$enable_dri" = xyes; then
1286 GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri"
1287 if test "x$enable_shared_glapi" = xno; then
1288 AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi])
1291 # Strictly speaking libgbm does not require --enable-dri, although
1292 # both of its backends do. Thus one can build libgbm without any
1293 # backends if --disable-dri is set.
1294 # To avoid unnecessary complexity of checking if at least one backend
1295 # is available when building, just mandate --enable-dri.
1296 AC_MSG_ERROR([gbm requires --enable-dri])
1299 AM_CONDITIONAL(HAVE_GBM, test "x$enable_gbm" = xyes)
1300 if test "x$need_pci_id$have_libudev" = xyesyes; then
1301 GBM_PC_REQ_PRIV="libudev >= $LIBUDEV_REQUIRED"
1305 GBM_PC_LIB_PRIV="$DLOPEN_LIBS"
1306 AC_SUBST([GBM_PC_REQ_PRIV])
1307 AC_SUBST([GBM_PC_LIB_PRIV])
1310 dnl EGL configuration
1314 if test "x$enable_egl" = xyes; then
1315 EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS $PTHREAD_LIBS"
1317 AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"])
1319 if test "$enable_static" != yes; then
1320 if test "x$enable_dri" = xyes; then
1321 HAVE_EGL_DRIVER_DRI2=1
1326 AM_CONDITIONAL(HAVE_EGL, test "x$enable_egl" = xyes)
1327 AC_SUBST([EGL_LIB_DEPS])
1330 dnl XA configuration
1332 if test "x$enable_xa" = xyes; then
1333 if test "x$with_gallium_drivers" = xswrast; then
1335 Building xa requires at least one non swrast gallium driver.
1336 If you are looking to use libxatracker.so with the VMware driver,
1337 make sure to include svga in the gallium drivers list, apart from
1339 Example: ./configure --enable-xa --with-gallium-drivers=svga...])
1341 enable_gallium_loader=$enable_shared_pipe_drivers
1343 AM_CONDITIONAL(HAVE_ST_XA, test "x$enable_xa" = xyes)
1346 dnl OpenVG configuration
1350 if test "x$enable_openvg" = xyes; then
1351 if test "x$enable_egl" = xno; then
1352 AC_MSG_ERROR([cannot enable OpenVG without EGL])
1354 if test -z "$with_gallium_drivers"; then
1355 AC_MSG_ERROR([cannot enable OpenVG without Gallium])
1358 AC_MSG_ERROR([Cannot enable OpenVG, because egl_gallium has been removed and
1359 OpenVG has not been integrated into standard libEGL yet])
1361 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
1362 VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS $PTHREAD_LIBS"
1363 VG_PC_LIB_PRIV="-lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
1364 AC_SUBST([VG_PC_LIB_PRIV])
1366 AM_CONDITIONAL(HAVE_OPENVG, test "x$enable_openvg" = xyes)
1369 dnl Gallium G3DVL configuration
1371 if test -n "$with_gallium_drivers" -a "x$with_gallium_drivers" != xswrast; then
1372 if test "x$enable_xvmc" = xauto; then
1373 PKG_CHECK_EXISTS([xvmc >= $XVMC_REQUIRED], [enable_xvmc=yes], [enable_xvmc=no])
1376 if test "x$enable_vdpau" = xauto; then
1377 PKG_CHECK_EXISTS([vdpau >= $VDPAU_REQUIRED], [enable_vdpau=yes], [enable_vdpau=no])
1380 if test "x$enable_omx" = xauto; then
1381 PKG_CHECK_EXISTS([libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED], [enable_omx=yes], [enable_omx=no])
1384 if test "x$enable_va" = xauto; then
1385 PKG_CHECK_EXISTS([libva >= $LIBVA_REQUIRED], [enable_va=yes], [enable_va=no])
1389 if test "x$enable_xvmc" = xyes -o \
1390 "x$enable_vdpau" = xyes -o \
1391 "x$enable_omx" = xyes -o \
1392 "x$enable_va" = xyes; then
1393 PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
1396 AM_CONDITIONAL(NEED_GALLIUM_VL, test "x$need_gallium_vl" = xyes)
1398 if test "x$enable_xvmc" = xyes; then
1399 PKG_CHECK_MODULES([XVMC], [xvmc >= $XVMC_REQUIRED])
1400 enable_gallium_loader=$enable_shared_pipe_drivers
1402 AM_CONDITIONAL(HAVE_ST_XVMC, test "x$enable_xvmc" = xyes)
1404 if test "x$enable_vdpau" = xyes; then
1405 PKG_CHECK_MODULES([VDPAU], [vdpau >= $VDPAU_REQUIRED])
1406 enable_gallium_loader=$enable_shared_pipe_drivers
1408 AM_CONDITIONAL(HAVE_ST_VDPAU, test "x$enable_vdpau" = xyes)
1410 if test "x$enable_omx" = xyes; then
1411 PKG_CHECK_MODULES([OMX], [libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED])
1412 enable_gallium_loader=$enable_shared_pipe_drivers
1414 AM_CONDITIONAL(HAVE_ST_OMX, test "x$enable_omx" = xyes)
1416 if test "x$enable_va" = xyes; then
1417 PKG_CHECK_MODULES([VA], [libva >= $LIBVA_REQUIRED])
1418 enable_gallium_loader=$enable_shared_pipe_drivers
1420 AM_CONDITIONAL(HAVE_ST_VA, test "x$enable_va" = xyes)
1423 dnl Nine Direct3D9 configuration
1425 if test "x$enable_nine" = xyes; then
1426 if ! echo "$with_gallium_drivers" | grep -q 'swrast'; then
1427 AC_MSG_ERROR([nine requires the gallium swrast driver])
1429 if test "x$with_gallium_drivers" == xswrast; then
1430 AC_MSG_ERROR([nine requires at least one non-swrast gallium driver])
1432 if test "x$enable_dri3" = xno; then
1433 AC_MSG_WARN([using nine together with wine requires DRI3 enabled system])
1436 enable_gallium_loader=$enable_shared_pipe_drivers
1438 AM_CONDITIONAL(HAVE_ST_NINE, test "x$enable_nine" = xyes)
1441 dnl OpenCL configuration
1444 AC_ARG_WITH([libclc-path],
1445 [AS_HELP_STRING([--with-libclc-path],
1446 [DEPRECATED: See http://dri.freedesktop.org/wiki/GalliumCompute#How_to_Install])],
1447 [LIBCLC_PATH="$withval"],
1450 if test -n "$LIBCLC_PATH"; then
1451 AC_MSG_ERROR([The --with-libclc-path option has been deprecated.
1452 Please review the updated build instructions for clover:
1453 http://dri.freedesktop.org/wiki/GalliumCompute])
1457 AC_ARG_WITH([clang-libdir],
1458 [AS_HELP_STRING([--with-clang-libdir],
1459 [Path to Clang libraries @<:@default=llvm-config --libdir@:>@])],
1460 [CLANG_LIBDIR="$withval"],
1463 PKG_CHECK_EXISTS([libclc], [have_libclc=yes], [have_libclc=no])
1464 AC_CHECK_LIB([elf], [elf_memory], [have_libelf=yes;ELF_LIB=-lelf])
1466 if test "x$enable_opencl" = xyes; then
1467 if test -z "$with_gallium_drivers"; then
1468 AC_MSG_ERROR([cannot enable OpenCL without Gallium])
1471 if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 7; then
1472 AC_MSG_ERROR([gcc >= 4.7 is required to build clover])
1475 if test "x$have_libclc" = xno; then
1476 AC_MSG_ERROR([pkg-config cannot find libclc.pc which is required to build clover.
1477 Make sure the directory containing libclc.pc is specified in your
1478 PKG_CONFIG_PATH environment variable.
1479 By default libclc.pc is installed to /usr/local/share/pkgconfig/])
1481 LIBCLC_INCLUDEDIR=`$PKG_CONFIG --variable=includedir libclc`
1482 LIBCLC_LIBEXECDIR=`$PKG_CONFIG --variable=libexecdir libclc`
1483 AC_SUBST([LIBCLC_INCLUDEDIR])
1484 AC_SUBST([LIBCLC_LIBEXECDIR])
1487 # XXX: Use $enable_shared_pipe_drivers once converted to use static/shared pipe-drivers
1488 enable_gallium_loader=yes
1490 if test "x$enable_opencl_icd" = xyes; then
1491 OPENCL_LIBNAME="MesaOpenCL"
1493 OPENCL_LIBNAME="OpenCL"
1496 if test "x$have_libelf" != xyes; then
1497 AC_MSG_ERROR([Clover requires libelf])
1500 AM_CONDITIONAL(HAVE_CLOVER, test "x$enable_opencl" = xyes)
1501 AM_CONDITIONAL(HAVE_CLOVER_ICD, test "x$enable_opencl_icd" = xyes)
1502 AC_SUBST([OPENCL_LIBNAME])
1505 dnl Gallium configuration
1507 AM_CONDITIONAL(HAVE_GALLIUM, test -n "$with_gallium_drivers")
1509 AC_SUBST([LLVM_BINDIR])
1510 AC_SUBST([LLVM_CFLAGS])
1511 AC_SUBST([LLVM_CPPFLAGS])
1512 AC_SUBST([LLVM_CXXFLAGS])
1513 AC_SUBST([LLVM_LIBDIR])
1514 AC_SUBST([LLVM_LIBS])
1515 AC_SUBST([LLVM_LDFLAGS])
1516 AC_SUBST([LLVM_INCLUDEDIR])
1517 AC_SUBST([LLVM_VERSION])
1518 AC_SUBST([CLANG_RESOURCE_DIR])
1520 case "x$enable_opengl$enable_gles1$enable_gles2" in
1522 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
1526 AC_SUBST([VG_LIB_DEPS])
1527 AC_SUBST([EGL_CLIENT_APIS])
1530 dnl EGL Platforms configuration
1532 AC_ARG_WITH([egl-platforms],
1533 [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1534 [comma delimited native platforms libEGL supports, e.g.
1535 "x11,drm" @<:@default=auto@:>@])],
1536 [with_egl_platforms="$withval"],
1537 [if test "x$enable_egl" = xyes; then
1538 with_egl_platforms="x11"
1540 with_egl_platforms=""
1543 if test "x$with_egl_platforms" != "x" -a "x$enable_egl" != xyes; then
1544 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1547 # Do per-EGL platform setups and checks
1548 egl_platforms=`IFS=', '; echo $with_egl_platforms`
1549 for plat in $egl_platforms; do
1552 PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED])
1554 WAYLAND_PREFIX=`$PKG_CONFIG --variable=prefix wayland-client`
1555 AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner],,
1556 [${WAYLAND_PREFIX}/bin$PATH_SEPARATOR$PATH])
1560 PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED xcb-xfixes])
1564 test "x$enable_gbm" = "xno" &&
1565 AC_MSG_ERROR([EGL platform drm needs gbm])
1566 test "x$have_libdrm" != xyes &&
1567 AC_MSG_ERROR([EGL platform drm requires libdrm >= $LIBDRM_REQUIRED])
1570 android|fbdev|gdi|null)
1574 AC_MSG_ERROR([EGL platform '$plat' does not exist])
1578 case "$plat$need_pci_id$have_pci_id" in
1579 waylandyesno|drmyesno)
1580 AC_MSG_ERROR([cannot build $plat platform without udev >= $LIBUDEV_REQUIRED or sysfs]) ;;
1584 # libEGL wants to default to the first platform specified in
1585 # ./configure. parse that here.
1586 if test "x$egl_platforms" != "x"; then
1587 FIRST_PLATFORM_CAPS=`echo $egl_platforms | sed 's| .*||' | tr 'a-z' 'A-Z'`
1588 EGL_NATIVE_PLATFORM="_EGL_PLATFORM_$FIRST_PLATFORM_CAPS"
1590 EGL_NATIVE_PLATFORM="_EGL_INVALID_PLATFORM"
1593 if echo "$egl_platforms" | grep -q 'x11'; then
1594 NEED_WINSYS_XLIB=yes
1596 AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep -q 'x11')
1597 AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep -q 'wayland')
1598 AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep -q 'drm')
1599 AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep -q 'fbdev')
1600 AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep -q 'null')
1602 AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
1604 AC_SUBST([EGL_NATIVE_PLATFORM])
1605 AC_SUBST([EGL_CFLAGS])
1607 # If we don't have the X11 platform, set this define so we don't try to include
1609 if ! echo "$egl_platforms" | grep -q 'x11'; then
1610 DEFINES="$DEFINES -DMESA_EGL_NO_X11_HEADERS"
1611 GL_PC_CFLAGS="$GL_PC_CFLAGS -DMESA_EGL_NO_X11_HEADERS"
1614 AC_ARG_WITH([max-width],
1615 [AS_HELP_STRING([--with-max-width=N],
1616 [Maximum framebuffer width (4096)])],
1617 [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1618 AS_IF([test "${withval}" -gt "4096"],
1619 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1621 AC_ARG_WITH([max-height],
1622 [AS_HELP_STRING([--with-max-height=N],
1623 [Maximum framebuffer height (4096)])],
1624 [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1625 AS_IF([test "${withval}" -gt "4096"],
1626 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1632 AC_ARG_ENABLE([gallium-llvm],
1633 [AS_HELP_STRING([--enable-gallium-llvm],
1634 [build gallium LLVM support @<:@default=enabled on x86/x86_64@:>@])],
1635 [enable_gallium_llvm="$enableval"],
1636 [enable_gallium_llvm=auto])
1638 AC_ARG_ENABLE([llvm-shared-libs],
1639 [AS_HELP_STRING([--enable-llvm-shared-libs],
1640 [link with LLVM shared libraries @<:@default=enabled@:>@])],
1641 [enable_llvm_shared_libs="$enableval"],
1642 [enable_llvm_shared_libs=yes])
1644 AC_ARG_WITH([llvm-prefix],
1645 [AS_HELP_STRING([--with-llvm-prefix],
1646 [Prefix for LLVM installations in non-standard locations])],
1647 [llvm_prefix="$withval"],
1651 # Call this inside ` ` to get the return value.
1652 # $1 is the llvm-config command with arguments.
1653 strip_unwanted_llvm_flags() {
1654 # Use \> (marks the end of the word)
1656 -e 's/-DNDEBUG\>//g' \
1657 -e 's/-D_GNU_SOURCE\>//g' \
1658 -e 's/-pedantic\>//g' \
1659 -e 's/-Wcovered-switch-default\>//g' \
1663 -e 's/-Wcast-qual\>//g' \
1664 -e 's/-Woverloaded-virtual\>//g' \
1665 -e 's/-fcolor-diagnostics\>//g' \
1666 -e 's/-fdata-sections\>//g' \
1667 -e 's/-ffunction-sections\>//g' \
1668 -e 's/-fno-exceptions\>//g' \
1669 -e 's/-fomit-frame-pointer\>//g' \
1670 -e 's/-fvisibility-inlines-hidden\>//g' \
1672 -e 's/-fstack-protector-strong\>//g'
1676 if test -z "$with_gallium_drivers"; then
1677 enable_gallium_llvm=no
1679 if test "x$enable_gallium_llvm" = xauto; then
1681 i*86|x86_64|amd64) enable_gallium_llvm=yes;;
1684 if test "x$enable_gallium_llvm" = xyes; then
1685 if test -n "$llvm_prefix"; then
1686 AC_PATH_TOOL([LLVM_CONFIG], [llvm-config], [no], ["$llvm_prefix/bin"])
1688 AC_PATH_TOOL([LLVM_CONFIG], [llvm-config], [no])
1691 if test "x$LLVM_CONFIG" != xno; then
1692 LLVM_VERSION=`$LLVM_CONFIG --version | egrep -o '^[[0-9.]]+'`
1693 LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1694 LLVM_BINDIR=`$LLVM_CONFIG --bindir`
1695 LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"`
1696 LLVM_CFLAGS=$LLVM_CPPFLAGS # CPPFLAGS seem to be sufficient
1697 LLVM_CXXFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cxxflags"`
1698 LLVM_INCLUDEDIR=`$LLVM_CONFIG --includedir`
1699 LLVM_LIBDIR=`$LLVM_CONFIG --libdir`
1701 AC_COMPUTE_INT([LLVM_VERSION_MAJOR], [LLVM_VERSION_MAJOR],
1702 [#include "${LLVM_INCLUDEDIR}/llvm/Config/llvm-config.h"])
1703 AC_COMPUTE_INT([LLVM_VERSION_MINOR], [LLVM_VERSION_MINOR],
1704 [#include "${LLVM_INCLUDEDIR}/llvm/Config/llvm-config.h"])
1706 LLVM_VERSION_PATCH=`echo $LLVM_VERSION | cut -d. -f3 | egrep -o '^[[0-9]]+'`
1707 if test -z "$LLVM_VERSION_PATCH"; then
1708 LLVM_VERSION_PATCH=0
1711 if test -n "${LLVM_VERSION_MAJOR}"; then
1712 LLVM_VERSION_INT="${LLVM_VERSION_MAJOR}0${LLVM_VERSION_MINOR}"
1714 LLVM_VERSION_INT=`echo $LLVM_VERSION | sed -e 's/\([[0-9]]\)\.\([[0-9]]\)/\10\2/g'`
1717 LLVM_REQUIRED_VERSION_MAJOR="3"
1718 LLVM_REQUIRED_VERSION_MINOR="3"
1719 if test "$LLVM_VERSION_INT" -lt "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}"; then
1720 AC_MSG_ERROR([LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR or newer is required])
1723 LLVM_COMPONENTS="engine bitwriter"
1724 if $LLVM_CONFIG --components | grep -qw 'mcjit'; then
1725 LLVM_COMPONENTS="${LLVM_COMPONENTS} mcjit"
1728 if test "x$enable_opencl" = xyes; then
1729 LLVM_COMPONENTS="${LLVM_COMPONENTS} ipo linker instrumentation"
1730 # LLVM 3.3 >= 177971 requires IRReader
1731 if $LLVM_CONFIG --components | grep -qw 'irreader'; then
1732 LLVM_COMPONENTS="${LLVM_COMPONENTS} irreader"
1734 # LLVM 3.4 requires Option
1735 if $LLVM_CONFIG --components | grep -qw 'option'; then
1736 LLVM_COMPONENTS="${LLVM_COMPONENTS} option"
1738 # Current OpenCL/Clover and LLVM 3.5 require ObjCARCOpts and ProfileData
1739 if $LLVM_CONFIG --components | grep -qw 'objcarcopts'; then
1740 LLVM_COMPONENTS="${LLVM_COMPONENTS} objcarcopts"
1742 if $LLVM_CONFIG --components | grep -qw 'profiledata'; then
1743 LLVM_COMPONENTS="${LLVM_COMPONENTS} profiledata"
1746 DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT -DLLVM_VERSION_PATCH=$LLVM_VERSION_PATCH"
1749 dnl Check for Clang internal headers
1750 if test "x$enable_opencl" = xyes; then
1751 if test -z "$CLANG_LIBDIR"; then
1752 CLANG_LIBDIR=${LLVM_LIBDIR}
1754 CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
1755 AS_IF([test ! -f "$CLANG_RESOURCE_DIR/include/stddef.h"],
1756 [AC_MSG_ERROR([Could not find clang internal header stddef.h in $CLANG_RESOURCE_DIR Use --with-clang-libdir to specify the correct path to the clang libraries.])])
1766 if test "x$enable_opencl" = xyes; then
1767 AC_MSG_ERROR([cannot enable OpenCL without LLVM])
1771 dnl Directory for XVMC libs
1772 AC_ARG_WITH([xvmc-libdir],
1773 [AS_HELP_STRING([--with-xvmc-libdir=DIR],
1774 [directory for the XVMC libraries @<:@default=${libdir}@:>@])],
1775 [XVMC_LIB_INSTALL_DIR="$withval"],
1776 [XVMC_LIB_INSTALL_DIR='${libdir}'])
1777 AC_SUBST([XVMC_LIB_INSTALL_DIR])
1782 if test "x$enable_gallium_tests" = xyes; then
1783 # XXX: Use $enable_shared_pipe_drivers once converted to use static/shared pipe-drivers
1784 enable_gallium_loader=yes
1786 AM_CONDITIONAL(HAVE_GALLIUM_TESTS, test "x$enable_gallium_tests" = xyes)
1788 dnl Directory for VDPAU libs
1789 AC_ARG_WITH([vdpau-libdir],
1790 [AS_HELP_STRING([--with-vdpau-libdir=DIR],
1791 [directory for the VDPAU libraries @<:@default=${libdir}/vdpau@:>@])],
1792 [VDPAU_LIB_INSTALL_DIR="$withval"],
1793 [VDPAU_LIB_INSTALL_DIR='${libdir}/vdpau'])
1794 AC_SUBST([VDPAU_LIB_INSTALL_DIR])
1796 dnl Directory for OMX libs
1798 AC_ARG_WITH([omx-libdir],
1799 [AS_HELP_STRING([--with-omx-libdir=DIR],
1800 [directory for the OMX libraries])],
1801 [OMX_LIB_INSTALL_DIR="$withval"],
1802 [OMX_LIB_INSTALL_DIR=`$PKG_CONFIG --define-variable=libdir=\$libdir --variable=pluginsdir libomxil-bellagio`])
1803 AC_SUBST([OMX_LIB_INSTALL_DIR])
1805 dnl Directory for VA libs
1807 AC_ARG_WITH([va-libdir],
1808 [AS_HELP_STRING([--with-va-libdir=DIR],
1809 [directory for the VA libraries @<:@${libdir}/dri@:>@])],
1810 [VA_LIB_INSTALL_DIR="$withval"],
1811 [VA_LIB_INSTALL_DIR="${libdir}/dri"])
1812 AC_SUBST([VA_LIB_INSTALL_DIR])
1814 AC_ARG_WITH([d3d-libdir],
1815 [AS_HELP_STRING([--with-d3d-libdir=DIR],
1816 [directory for the D3D modules @<:@${libdir}/d3d@:>@])],
1817 [D3D_DRIVER_INSTALL_DIR="$withval"],
1818 [D3D_DRIVER_INSTALL_DIR="${libdir}/d3d"])
1819 AC_SUBST([D3D_DRIVER_INSTALL_DIR])
1822 dnl Gallium helper functions
1824 gallium_require_drm() {
1825 if test "x$have_libdrm" != xyes; then
1826 AC_MSG_ERROR([$1 requires libdrm >= $LIBDRM_REQUIRED])
1830 gallium_require_llvm() {
1831 if test "x$MESA_LLVM" = x0; then
1832 case "$host" in *gnux32) return;; esac
1834 i*86|x86_64|amd64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
1839 gallium_require_drm_loader() {
1840 if test "x$enable_gallium_loader" = xyes; then
1841 if test "x$need_pci_id$have_pci_id" = xyesno; then
1842 AC_MSG_ERROR([Gallium drm loader requires libudev >= $LIBUDEV_REQUIRED or sysfs])
1844 enable_gallium_drm_loader=yes
1846 if test "x$enable_va" = xyes && test "x$7" != x; then
1847 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $7"
1852 case "$with_egl_platforms" in
1856 AC_MSG_ERROR([--with-egl-platforms=drm is required to build the $1 driver.])
1859 if test "x$enable_gbm" != xyes; then
1860 AC_MSG_ERROR([--enable-gbm is required to build the $1 driver.])
1864 radeon_llvm_check() {
1865 if test "x$enable_gallium_llvm" != "xyes"; then
1866 AC_MSG_ERROR([--enable-gallium-llvm is required when building $1])
1868 LLVM_REQUIRED_VERSION_MAJOR="3"
1869 LLVM_REQUIRED_VERSION_MINOR="4"
1870 LLVM_REQUIRED_VERSION_PATCH="2"
1871 if test "${LLVM_VERSION_INT}${LLVM_VERSION_PATCH}" -lt "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}${LLVM_REQUIRED_VERSION_PATCH}"; then
1872 AC_MSG_ERROR([LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR.$LLVM_REQUIRED_VERSION_PATCH or newer is required for $1])
1874 if test true && $LLVM_CONFIG --targets-built | grep -qvw 'R600' ; then
1875 AC_MSG_ERROR([LLVM R600 Target not enabled. You can enable it when building the LLVM
1876 sources with the --enable-experimental-targets=R600
1879 LLVM_COMPONENTS="${LLVM_COMPONENTS} r600 bitreader ipo"
1880 NEED_RADEON_LLVM=yes
1881 if test "x$have_libelf" != xyes; then
1882 AC_MSG_ERROR([$1 requires libelf when using llvm])
1886 dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this block
1887 if test -n "$with_gallium_drivers"; then
1888 gallium_drivers=`IFS=', '; echo $with_gallium_drivers`
1889 for driver in $gallium_drivers; do
1892 HAVE_GALLIUM_SVGA=yes
1893 gallium_require_drm "svga"
1894 gallium_require_drm_loader
1897 HAVE_GALLIUM_I915=yes
1898 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1899 gallium_require_drm "Gallium i915"
1900 gallium_require_drm_loader
1903 HAVE_GALLIUM_ILO=yes
1904 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1905 gallium_require_drm "Gallium i965/ilo"
1906 gallium_require_drm_loader
1909 HAVE_GALLIUM_R300=yes
1910 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1911 gallium_require_drm "Gallium R300"
1912 gallium_require_drm_loader
1913 gallium_require_llvm "Gallium R300"
1916 HAVE_GALLIUM_R600=yes
1917 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1918 gallium_require_drm "Gallium R600"
1919 gallium_require_drm_loader
1920 if test "x$enable_r600_llvm" = xyes -o "x$enable_opencl" = xyes; then
1921 radeon_llvm_check "r600g"
1922 LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
1924 if test "x$enable_r600_llvm" = xyes; then
1925 USE_R600_LLVM_COMPILER=yes;
1927 if test "x$enable_opencl" = xyes; then
1928 LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
1932 HAVE_GALLIUM_RADEONSI=yes
1933 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1934 gallium_require_drm "radeonsi"
1935 gallium_require_drm_loader
1936 radeon_llvm_check "radeonsi"
1937 require_egl_drm "radeonsi"
1940 HAVE_GALLIUM_NOUVEAU=yes
1941 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
1942 gallium_require_drm "nouveau"
1943 gallium_require_drm_loader
1946 HAVE_GALLIUM_FREEDRENO=yes
1947 PKG_CHECK_MODULES([FREEDRENO], [libdrm_freedreno >= $LIBDRM_FREEDRENO_REQUIRED])
1948 gallium_require_drm "freedreno"
1949 gallium_require_drm_loader
1952 HAVE_GALLIUM_SOFTPIPE=yes
1953 if test "x$MESA_LLVM" = x1; then
1954 HAVE_GALLIUM_LLVMPIPE=yes
1958 HAVE_GALLIUM_VC4=yes
1959 gallium_require_drm "vc4"
1960 gallium_require_drm_loader
1963 i?86 | x86_64 | amd64)
1964 USE_VC4_SIMULATOR=yes
1969 AC_MSG_ERROR([Unknown Gallium driver: $driver])
1975 dnl Set LLVM_LIBS - This is done after the driver configuration so
1976 dnl that drivers can add additional components to LLVM_COMPONENTS.
1977 dnl Previously, gallium drivers were updating LLVM_LIBS directly
1978 dnl by calling llvm-config --libs ${DRIVER_LLVM_COMPONENTS}, but
1979 dnl this was causing the same libraries to be appear multiple times
1982 if test "x$MESA_LLVM" != x0; then
1984 LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`"
1986 if test "x$enable_llvm_shared_libs" = xyes; then
1987 dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
1988 LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
1989 AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.so"], [llvm_have_one_so=yes])
1991 if test "x$llvm_have_one_so" = xyes; then
1992 dnl LLVM was built using auto*, so there is only one shared object.
1993 LLVM_LIBS="-l$LLVM_SO_NAME"
1995 dnl If LLVM was built with CMake, there will be one shared object per
1997 AS_IF([test ! -f "$LLVM_LIBDIR/libLLVMTarget.so"],
1998 [AC_MSG_ERROR([Could not find llvm shared libraries:
1999 Please make sure you have built llvm with the --enable-shared option
2000 and that your llvm libraries are installed in $LLVM_LIBDIR
2001 If you have installed your llvm libraries to a different directory you
2002 can use the --with-llvm-prefix= configure flag to specify this directory.
2003 NOTE: Mesa is attempting to use llvm shared libraries by default.
2004 If you do not want to build with llvm shared libraries and instead want to
2005 use llvm static libraries then add --disable-llvm-shared-libs to your configure
2006 invocation and rebuild.])])
2008 dnl We don't need to update LLVM_LIBS in this case because the LLVM
2009 dnl install uses a shared object for each component and we have
2010 dnl already added all of these objects to LLVM_LIBS.
2013 AC_MSG_WARN([Building mesa with statically linked LLVM may cause compilation issues])
2014 dnl We need to link to llvm system libs when using static libs
2015 dnl However, only llvm 3.5+ provides --system-libs
2016 if test $LLVM_VERSION_MAJOR -eq 3 -a $LLVM_VERSION_MINOR -ge 5; then
2017 LLVM_LIBS="$LLVM_LIBS `$LLVM_CONFIG --system-libs`"
2022 AM_CONDITIONAL(HAVE_GALLIUM_SVGA, test "x$HAVE_GALLIUM_SVGA" = xyes)
2023 AM_CONDITIONAL(HAVE_GALLIUM_I915, test "x$HAVE_GALLIUM_I915" = xyes)
2024 AM_CONDITIONAL(HAVE_GALLIUM_ILO, test "x$HAVE_GALLIUM_ILO" = xyes)
2025 AM_CONDITIONAL(HAVE_GALLIUM_R300, test "x$HAVE_GALLIUM_R300" = xyes)
2026 AM_CONDITIONAL(HAVE_GALLIUM_R600, test "x$HAVE_GALLIUM_R600" = xyes)
2027 AM_CONDITIONAL(HAVE_GALLIUM_RADEONSI, test "x$HAVE_GALLIUM_RADEONSI" = xyes)
2028 AM_CONDITIONAL(HAVE_GALLIUM_RADEON_COMMON, test "x$HAVE_GALLIUM_R600" = xyes -o \
2029 "x$HAVE_GALLIUM_RADEONSI" = xyes)
2030 AM_CONDITIONAL(HAVE_GALLIUM_NOUVEAU, test "x$HAVE_GALLIUM_NOUVEAU" = xyes)
2031 AM_CONDITIONAL(HAVE_GALLIUM_FREEDRENO, test "x$HAVE_GALLIUM_FREEDRENO" = xyes)
2032 AM_CONDITIONAL(HAVE_GALLIUM_SOFTPIPE, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes)
2033 AM_CONDITIONAL(HAVE_GALLIUM_LLVMPIPE, test "x$HAVE_GALLIUM_LLVMPIPE" = xyes)
2034 AM_CONDITIONAL(HAVE_GALLIUM_VC4, test "x$HAVE_GALLIUM_VC4" = xyes)
2036 AM_CONDITIONAL(HAVE_GALLIUM_STATIC_TARGETS, test "x$enable_shared_pipe_drivers" = xno)
2038 # NOTE: anything using xcb or other client side libs ends up in separate
2039 # _CLIENT variables. The pipe loader is built in two variants,
2040 # one that is standalone and does not link any x client libs (for
2041 # use by XA tracker in particular, but could be used in any case
2042 # where communication with xserver is not desired).
2043 if test "x$enable_gallium_loader" = xyes; then
2044 if test "x$NEED_WINSYS_XLIB" = xyes; then
2045 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_XLIB"
2048 if test "x$enable_dri" = xyes; then
2049 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_DRI"
2052 if test "x$enable_gallium_drm_loader" = xyes; then
2053 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_DRM"
2054 PKG_CHECK_MODULES([GALLIUM_PIPE_LOADER_XCB], [xcb xcb-dri2],
2055 pipe_loader_have_xcb=yes, pipe_loader_have_xcb=no)
2056 if test "x$pipe_loader_have_xcb" = xyes; then
2057 GALLIUM_PIPE_LOADER_CLIENT_DEFINES="$GALLIUM_PIPE_LOADER_CLIENT_DEFINES -DHAVE_PIPE_LOADER_XCB"
2058 GALLIUM_PIPE_LOADER_CLIENT_LIBS="$GALLIUM_PIPE_LOADER_CLIENT_LIBS $GALLIUM_PIPE_LOADER_XCB_LIBS $LIBDRM_LIBS"
2062 GALLIUM_PIPE_LOADER_CLIENT_DEFINES="$GALLIUM_PIPE_LOADER_CLIENT_DEFINES $GALLIUM_PIPE_LOADER_DEFINES"
2063 GALLIUM_PIPE_LOADER_CLIENT_LIBS="$GALLIUM_PIPE_LOADER_CLIENT_LIBS $GALLIUM_PIPE_LOADER_LIBS"
2065 AC_SUBST([GALLIUM_PIPE_LOADER_DEFINES])
2066 AC_SUBST([GALLIUM_PIPE_LOADER_LIBS])
2067 AC_SUBST([GALLIUM_PIPE_LOADER_CLIENT_DEFINES])
2068 AC_SUBST([GALLIUM_PIPE_LOADER_CLIENT_LIBS])
2071 AM_CONDITIONAL(HAVE_I915_DRI, test x$HAVE_I915_DRI = xyes)
2072 AM_CONDITIONAL(HAVE_I965_DRI, test x$HAVE_I965_DRI = xyes)
2073 AM_CONDITIONAL(HAVE_NOUVEAU_DRI, test x$HAVE_NOUVEAU_DRI = xyes)
2074 AM_CONDITIONAL(HAVE_R200_DRI, test x$HAVE_R200_DRI = xyes)
2075 AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes)
2076 AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes)
2078 AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$HAVE_GALLIUM_R300" = xyes -o \
2079 "x$HAVE_GALLIUM_R600" = xyes -o \
2080 "x$HAVE_GALLIUM_RADEONSI" = xyes)
2081 AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$NEED_WINSYS_XLIB" = xyes)
2082 AM_CONDITIONAL(NEED_RADEON_LLVM, test x$NEED_RADEON_LLVM = xyes)
2083 AM_CONDITIONAL(USE_R600_LLVM_COMPILER, test x$USE_R600_LLVM_COMPILER = xyes)
2084 AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes)
2085 AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes)
2086 AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
2087 AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1)
2088 AM_CONDITIONAL(USE_VC4_SIMULATOR, test x$USE_VC4_SIMULATOR = xyes)
2089 if test "x$USE_VC4_SIMULATOR" = xyes -a "x$HAVE_GALLIUM_ILO" = xyes; then
2090 AC_MSG_ERROR([VC4 simulator on x86 replaces i965 driver build, so ilo must be disabled.])
2095 AM_CONDITIONAL(DRICOMMON_NEED_LIBDRM, test "x$DRICOMMON_NEED_LIBDRM" = xyes)
2096 AM_CONDITIONAL(HAVE_LIBDRM, test "x$have_libdrm" = xyes)
2097 AM_CONDITIONAL(HAVE_X11_DRIVER, test "x$enable_xlib_glx" = xyes)
2098 AM_CONDITIONAL(HAVE_OSMESA, test "x$enable_osmesa" = xyes)
2099 AM_CONDITIONAL(HAVE_GALLIUM_OSMESA, test "x$enable_gallium_osmesa" = xyes)
2101 AM_CONDITIONAL(HAVE_X86_ASM, test "x$asm_arch" = xx86 -o "x$asm_arch" = xx86_64)
2102 AM_CONDITIONAL(HAVE_X86_64_ASM, test "x$asm_arch" = xx86_64)
2103 AM_CONDITIONAL(HAVE_SPARC_ASM, test "x$asm_arch" = xsparc)
2105 AC_SUBST([NINE_MAJOR], 1)
2106 AC_SUBST([NINE_MINOR], 0)
2107 AC_SUBST([NINE_TINY], 0)
2108 AC_SUBST([NINE_VERSION], "$NINE_MAJOR.$NINE_MINOR.$NINE_TINY")
2110 AC_SUBST([VDPAU_MAJOR], 1)
2111 AC_SUBST([VDPAU_MINOR], 0)
2113 VA_MAJOR=`$PKG_CONFIG --modversion libva | $SED -n 's/\([[^\.]]*\)\..*$/\1/p'`
2114 VA_MINOR=`$PKG_CONFIG --modversion libva | $SED -n 's/.*\.\(.*\)\..*$/\1/p'`
2115 AC_SUBST([VA_MAJOR], $VA_MAJOR)
2116 AC_SUBST([VA_MINOR], $VA_MINOR)
2118 AC_SUBST([XVMC_MAJOR], 1)
2119 AC_SUBST([XVMC_MINOR], 0)
2121 XA_HEADER="$srcdir/src/gallium/state_trackers/xa/xa_tracker.h"
2122 XA_MAJOR=`grep "#define XA_TRACKER_VERSION_MAJOR" $XA_HEADER | $SED 's/^#define XA_TRACKER_VERSION_MAJOR //'`
2123 XA_MINOR=`grep "#define XA_TRACKER_VERSION_MINOR" $XA_HEADER | $SED 's/^#define XA_TRACKER_VERSION_MINOR //'`
2124 XA_TINY=`grep "#define XA_TRACKER_VERSION_PATCH" $XA_HEADER | $SED 's/^#define XA_TRACKER_VERSION_PATCH //'`
2126 AC_SUBST([XA_MAJOR], $XA_MAJOR)
2127 AC_SUBST([XA_MINOR], $XA_MINOR)
2128 AC_SUBST([XA_TINY], $XA_TINY)
2129 AC_SUBST([XA_VERSION], "$XA_MAJOR.$XA_MINOR.$XA_TINY")
2131 dnl Restore LDFLAGS and CPPFLAGS
2132 LDFLAGS="$_SAVE_LDFLAGS"
2133 CPPFLAGS="$_SAVE_CPPFLAGS"
2135 dnl Suppress clang's warnings about unused CFLAGS and CXXFLAGS
2136 if test "x$acv_mesa_CLANG" = xyes; then
2137 CFLAGS="$CFLAGS -Qunused-arguments"
2138 CXXFLAGS="$CXXFLAGS -Qunused-arguments"
2141 dnl Add user CFLAGS and CXXFLAGS
2142 CFLAGS="$CFLAGS $USER_CFLAGS"
2143 CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
2145 dnl Substitute the config
2146 AC_CONFIG_FILES([Makefile
2148 src/egl/drivers/dri2/Makefile
2149 src/egl/main/Makefile
2151 src/egl/wayland/wayland-drm/Makefile
2152 src/egl/wayland/wayland-egl/Makefile
2153 src/egl/wayland/wayland-egl/wayland-egl.pc
2154 src/gallium/Makefile
2155 src/gallium/auxiliary/Makefile
2156 src/gallium/auxiliary/pipe-loader/Makefile
2157 src/gallium/drivers/freedreno/Makefile
2158 src/gallium/drivers/galahad/Makefile
2159 src/gallium/drivers/i915/Makefile
2160 src/gallium/drivers/identity/Makefile
2161 src/gallium/drivers/ilo/Makefile
2162 src/gallium/drivers/llvmpipe/Makefile
2163 src/gallium/drivers/noop/Makefile
2164 src/gallium/drivers/nouveau/Makefile
2165 src/gallium/drivers/r300/Makefile
2166 src/gallium/drivers/r600/Makefile
2167 src/gallium/drivers/radeon/Makefile
2168 src/gallium/drivers/radeonsi/Makefile
2169 src/gallium/drivers/rbug/Makefile
2170 src/gallium/drivers/softpipe/Makefile
2171 src/gallium/drivers/svga/Makefile
2172 src/gallium/drivers/trace/Makefile
2173 src/gallium/drivers/vc4/Makefile
2174 src/gallium/drivers/vc4/kernel/Makefile
2175 src/gallium/state_trackers/clover/Makefile
2176 src/gallium/state_trackers/dri/Makefile
2177 src/gallium/state_trackers/glx/xlib/Makefile
2178 src/gallium/state_trackers/nine/Makefile
2179 src/gallium/state_trackers/omx/Makefile
2180 src/gallium/state_trackers/osmesa/Makefile
2181 src/gallium/state_trackers/va/Makefile
2182 src/gallium/state_trackers/vdpau/Makefile
2183 src/gallium/state_trackers/vega/Makefile
2184 src/gallium/state_trackers/xa/Makefile
2185 src/gallium/state_trackers/xvmc/Makefile
2186 src/gallium/targets/d3dadapter9/Makefile
2187 src/gallium/targets/d3dadapter9/d3d.pc
2188 src/gallium/targets/dri/Makefile
2189 src/gallium/targets/libgl-xlib/Makefile
2190 src/gallium/targets/omx/Makefile
2191 src/gallium/targets/opencl/Makefile
2192 src/gallium/targets/osmesa/Makefile
2193 src/gallium/targets/osmesa/osmesa.pc
2194 src/gallium/targets/pipe-loader/Makefile
2195 src/gallium/targets/va/Makefile
2196 src/gallium/targets/vdpau/Makefile
2197 src/gallium/targets/xa/Makefile
2198 src/gallium/targets/xa/xatracker.pc
2199 src/gallium/targets/xvmc/Makefile
2200 src/gallium/tests/trivial/Makefile
2201 src/gallium/tests/unit/Makefile
2202 src/gallium/winsys/freedreno/drm/Makefile
2203 src/gallium/winsys/i915/drm/Makefile
2204 src/gallium/winsys/intel/drm/Makefile
2205 src/gallium/winsys/nouveau/drm/Makefile
2206 src/gallium/winsys/radeon/drm/Makefile
2207 src/gallium/winsys/svga/drm/Makefile
2208 src/gallium/winsys/sw/dri/Makefile
2209 src/gallium/winsys/sw/fbdev/Makefile
2210 src/gallium/winsys/sw/kms-dri/Makefile
2211 src/gallium/winsys/sw/null/Makefile
2212 src/gallium/winsys/sw/wayland/Makefile
2213 src/gallium/winsys/sw/wrapper/Makefile
2214 src/gallium/winsys/sw/xlib/Makefile
2215 src/gallium/winsys/vc4/drm/Makefile
2220 src/glx/apple/Makefile
2221 src/glx/tests/Makefile
2225 src/mapi/es1api/glesv1_cm.pc
2226 src/mapi/es2api/glesv2.pc
2227 src/mapi/glapi/gen/Makefile
2228 src/mapi/vgapi/Makefile
2229 src/mapi/vgapi/vg.pc
2232 src/mesa/drivers/dri/dri.pc
2233 src/mesa/drivers/dri/common/Makefile
2234 src/mesa/drivers/dri/common/xmlpool/Makefile
2235 src/mesa/drivers/dri/i915/Makefile
2236 src/mesa/drivers/dri/i965/Makefile
2237 src/mesa/drivers/dri/Makefile
2238 src/mesa/drivers/dri/nouveau/Makefile
2239 src/mesa/drivers/dri/r200/Makefile
2240 src/mesa/drivers/dri/radeon/Makefile
2241 src/mesa/drivers/dri/swrast/Makefile
2242 src/mesa/drivers/osmesa/Makefile
2243 src/mesa/drivers/osmesa/osmesa.pc
2244 src/mesa/drivers/x11/Makefile
2245 src/mesa/main/tests/Makefile
2247 src/util/tests/hash_table/Makefile])
2252 dnl Output some configuration info for the user
2255 echo " prefix: $prefix"
2256 echo " exec_prefix: $exec_prefix"
2257 echo " libdir: $libdir"
2258 echo " includedir: $includedir"
2262 echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
2263 echo " OpenVG: $enable_openvg"
2267 case "x$enable_osmesa$enable_gallium_osmesa" in
2269 echo " OSMesa: lib$OSMESA_LIB (Gallium)"
2272 echo " OSMesa: lib$OSMESA_LIB"
2280 if test "x$enable_dri" != xno; then
2281 echo " DRI platform: $dri_platform"
2282 if test -z "$DRI_DIRS"; then
2283 echo " DRI drivers: no"
2285 echo " DRI drivers: $DRI_DIRS"
2287 echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
2290 case "x$enable_glx$enable_xlib_glx" in
2292 echo " GLX: Xlib-based"
2295 echo " GLX: DRI-based"
2298 echo " GLX: $enable_glx"
2304 echo " EGL: $enable_egl"
2305 if test "$enable_egl" = yes; then
2306 echo " EGL platforms: $egl_platforms"
2309 if test "x$HAVE_EGL_DRIVER_DRI2" != "x"; then
2310 egl_drivers="$egl_drivers builtin:egl_dri2"
2313 echo " EGL drivers: $egl_drivers"
2317 if test "x$MESA_LLVM" = x1; then
2319 echo " llvm-config: $LLVM_CONFIG"
2320 echo " llvm-version: $LLVM_VERSION"
2326 if test -n "$with_gallium_drivers"; then
2327 echo " Gallium: yes"
2335 echo " Shared libs: $enable_shared"
2336 echo " Static libs: $enable_static"
2337 echo " Shared-glapi: $enable_shared_glapi"
2339 dnl Compiler options
2340 # cleanup the CFLAGS/CXXFLAGS/DEFINES vars
2341 cflags=`echo $CFLAGS | \
2342 $SED 's/^ *//;s/ */ /;s/ *$//'`
2343 cxxflags=`echo $CXXFLAGS | \
2344 $SED 's/^ *//;s/ */ /;s/ *$//'`
2345 defines=`echo $DEFINES | $SED 's/^ *//;s/ */ /;s/ *$//'`
2347 echo " CFLAGS: $cflags"
2348 echo " CXXFLAGS: $cxxflags"
2349 echo " Macros: $defines"
2351 if test "x$MESA_LLVM" = x1; then
2352 echo " LLVM_CFLAGS: $LLVM_CFLAGS"
2353 echo " LLVM_CXXFLAGS: $LLVM_CXXFLAGS"
2354 echo " LLVM_CPPFLAGS: $LLVM_CPPFLAGS"
2357 echo " PYTHON2: $PYTHON2"
2360 echo " Run '${MAKE-make}' to build Mesa"