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])
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.54
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.51
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
43 WAYLAND_REQUIRED=1.2.0
46 XSHMFENCE_REQUIRED=1.1
55 AC_CHECK_PROGS([MAKE], [gmake make])
56 AC_CHECK_PROGS([PYTHON2], [python2 python])
61 LT_INIT([disable-static])
64 AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-parse.c"],
65 [AC_MSG_ERROR([bison not found - unable to compile glcpp-parse.y])]))
67 AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-lex.c"],
68 [AC_MSG_ERROR([flex not found - unable to compile glcpp-lex.l])]))
70 AC_PATH_PROG([PERL], [perl])
72 AC_CHECK_PROG(INDENT, indent, indent, cat)
73 if test "x$INDENT" != "xcat"; then
74 AC_SUBST(INDENT_FLAGS, '-i4 -nut -br -brs -npcs -ce -TGLubyte -TGLbyte -TBool')
79 dnl We need a POSIX shell for parts of the build. Assume we have one
83 # Solaris /bin/sh is too old/non-POSIX compliant
84 AC_PATH_PROGS(POSIX_SHELL, [ksh93 ksh sh])
89 dnl clang is mostly GCC-compatible, but its version is much lower,
90 dnl so we have to check for it.
91 AC_MSG_CHECKING([if compiling with clang])
94 [AC_LANG_PROGRAM([], [[
99 [acv_mesa_CLANG=yes], [acv_mesa_CLANG=no])
101 AC_MSG_RESULT([$acv_mesa_CLANG])
103 dnl If we're using GCC, make sure that it is at least version 3.3.0. Older
104 dnl versions are explictly not supported.
106 if test "x$GCC" = xyes -a "x$acv_mesa_CLANG" = xno; then
107 AC_MSG_CHECKING([whether gcc version is sufficient])
111 GCC_VERSION=`$CC -dumpversion`
112 if test $? -eq 0; then
113 GCC_VERSION_MAJOR=`echo $GCC_VERSION | cut -d. -f1`
114 GCC_VERSION_MINOR=`echo $GCC_VERSION | cut -d. -f2`
117 if test $GCC_VERSION_MAJOR -lt 3 -o $GCC_VERSION_MAJOR -eq 3 -a $GCC_VERSION_MINOR -lt 3 ; then
119 AC_MSG_ERROR([If using GCC, version 3.3.0 or later is required.])
124 if test "x$cross_compiling" = xyes; then
129 dnl Check for compiler builtins
130 AX_GCC_BUILTIN([__builtin_bswap32])
131 AX_GCC_BUILTIN([__builtin_bswap64])
133 AM_CONDITIONAL([GEN_ASM_OFFSETS], test "x$GEN_ASM_OFFSETS" = xyes)
135 dnl Make sure the pkg-config macros are defined
136 m4_ifndef([PKG_PROG_PKG_CONFIG],
137 [m4_fatal([Could not locate the pkg-config autoconf macros.
138 These are usually located in /usr/share/aclocal/pkg.m4. If your macros
139 are in a different location, try setting the environment variable
140 ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
141 PKG_PROG_PKG_CONFIG()
143 dnl LIB_DIR - library basename
144 LIB_DIR=`echo $libdir | $SED 's%.*/%%'`
147 dnl Cache LDFLAGS and CPPFLAGS so we can add to them and restore later
148 _SAVE_LDFLAGS="$LDFLAGS"
149 _SAVE_CPPFLAGS="$CPPFLAGS"
156 DEFINES="$DEFINES -D_GNU_SOURCE -DHAVE_PTHREAD"
159 DEFINES="$DEFINES -DHAVE_PTHREAD -DSVR4"
162 DEFINES="$DEFINES -DHAVE_PTHREAD"
166 dnl Add flags for gcc and g++
167 if test "x$GCC" = xyes; then
170 CFLAGS="$CFLAGS -Wall -std=gnu99"
173 CFLAGS="$CFLAGS -Wall -std=c99"
177 # Enable -Werror=implicit-function-declaration and
178 # -Werror=missing-prototypes, if available, or otherwise, just
179 # -Wmissing-prototypes. This is particularly useful to avoid
180 # generating a loadable driver module that has undefined symbols.
181 save_CFLAGS="$CFLAGS"
182 AC_MSG_CHECKING([whether $CC supports -Werror=missing-prototypes])
183 CFLAGS="$CFLAGS -Werror=implicit-function-declaration"
184 CFLAGS="$CFLAGS -Werror=missing-prototypes"
185 AC_LINK_IFELSE([AC_LANG_PROGRAM()],
186 AC_MSG_RESULT([yes]),
187 [CFLAGS="$save_CFLAGS -Wmissing-prototypes";
188 AC_MSG_RESULT([no])]);
190 # Enable -fvisibility=hidden if using a gcc that supports it
191 save_CFLAGS="$CFLAGS"
192 AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
193 VISIBILITY_CFLAGS="-fvisibility=hidden"
194 CFLAGS="$CFLAGS $VISIBILITY_CFLAGS"
195 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
196 [VISIBILITY_CFLAGS=""; AC_MSG_RESULT([no])]);
198 # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed.
201 # Work around aliasing bugs - developers should comment this out
202 CFLAGS="$CFLAGS -fno-strict-aliasing"
204 # gcc's builtin memcmp is slower than glibc's
205 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
206 CFLAGS="$CFLAGS -fno-builtin-memcmp"
208 if test "x$GXX" = xyes; then
209 CXXFLAGS="$CXXFLAGS -Wall"
211 # Enable -fvisibility=hidden if using a gcc that supports it
212 save_CXXFLAGS="$CXXFLAGS"
213 AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
214 VISIBILITY_CXXFLAGS="-fvisibility=hidden"
215 CXXFLAGS="$CXXFLAGS $VISIBILITY_CXXFLAGS"
217 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
218 [VISIBILITY_CXXFLAGS="" ; AC_MSG_RESULT([no])]);
221 # Restore CXXFLAGS; VISIBILITY_CXXFLAGS are added to it where needed.
222 CXXFLAGS=$save_CXXFLAGS
224 # Work around aliasing bugs - developers should comment this out
225 CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
227 # gcc's builtin memcmp is slower than glibc's
228 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
229 CXXFLAGS="$CXXFLAGS -fno-builtin-memcmp"
232 dnl even if the compiler appears to support it, using visibility attributes isn't
233 dnl going to do anything useful currently on cygwin apart from emit lots of warnings
237 VISIBILITY_CXXFLAGS=""
241 AC_SUBST([VISIBILITY_CFLAGS])
242 AC_SUBST([VISIBILITY_CXXFLAGS])
245 dnl Optional flags, check for compiler support
247 AX_CHECK_COMPILE_FLAG([-msse4.1], [SSE41_SUPPORTED=1], [SSE41_SUPPORTED=0])
248 AM_CONDITIONAL([SSE41_SUPPORTED], [test x$SSE41_SUPPORTED = x1])
251 dnl Hacks to enable 32 or 64 bit build
253 AC_ARG_ENABLE([32-bit],
254 [AS_HELP_STRING([--enable-32-bit],
255 [build 32-bit libraries @<:@default=auto@:>@])],
256 [enable_32bit="$enableval"],
259 if test "x$enable_32bit" = xyes; then
260 if test "x$GCC" = xyes; then
261 CFLAGS="$CFLAGS -m32"
262 CCASFLAGS="$CCASFLAGS -m32"
264 if test "x$GXX" = xyes; then
265 CXXFLAGS="$CXXFLAGS -m32"
268 AC_ARG_ENABLE([64-bit],
269 [AS_HELP_STRING([--enable-64-bit],
270 [build 64-bit libraries @<:@default=auto@:>@])],
271 [enable_64bit="$enableval"],
274 if test "x$enable_64bit" = xyes; then
275 if test "x$GCC" = xyes; then
276 CFLAGS="$CFLAGS -m64"
278 if test "x$GXX" = xyes; then
279 CXXFLAGS="$CXXFLAGS -m64"
283 dnl Can't have static and shared libraries, default to static if user
284 dnl explicitly requested. If both disabled, set to static since shared
285 dnl was explicitly requested.
286 case "x$enable_static$enable_shared" in
288 AC_MSG_WARN([Cannot build static and shared libraries, disabling shared])
292 AC_MSG_WARN([Cannot disable both static and shared libraries, enabling shared])
297 AM_CONDITIONAL(BUILD_SHARED, test "x$enable_shared" = xyes)
300 dnl other compiler options
302 AC_ARG_ENABLE([debug],
303 [AS_HELP_STRING([--enable-debug],
304 [use debug compiler flags and macros @<:@default=disabled@:>@])],
305 [enable_debug="$enableval"],
308 if test "x$enable_debug" = xyes; then
309 DEFINES="$DEFINES -DDEBUG"
310 if test "x$GCC" = xyes; then
311 CFLAGS="$CFLAGS -g -O0"
313 if test "x$GXX" = xyes; then
314 CXXFLAGS="$CXXFLAGS -g -O0"
319 dnl Check if linker supports -Bsymbolic
321 save_LDFLAGS=$LDFLAGS
322 LDFLAGS="$LDFLAGS -Wl,-Bsymbolic"
323 AC_MSG_CHECKING([if ld supports -Bsymbolic])
325 [AC_LANG_SOURCE([int main() { return 0;}])],
326 [AC_MSG_RESULT([yes])
327 BSYMBOLIC="-Wl,-Bsymbolic";],
330 LDFLAGS=$save_LDFLAGS
332 AC_SUBST([BSYMBOLIC])
335 dnl Check if linker supports garbage collection
337 save_LDFLAGS=$LDFLAGS
338 LDFLAGS="$LDFLAGS -Wl,--gc-sections"
339 AC_MSG_CHECKING([whether ld supports --gc-sections])
341 [AC_LANG_SOURCE([static char UnusedFunc() { return 5; } int main() { return 0;}])],
342 [AC_MSG_RESULT([yes])
343 GC_SECTIONS="-Wl,--gc-sections";],
346 LDFLAGS=$save_LDFLAGS
348 AC_SUBST([GC_SECTIONS])
351 dnl OpenBSD does not have DT_NEEDED entries for libc by design
352 dnl so when these flags are passed to ld via libtool the checks will fail
356 LD_NO_UNDEFINED="" ;;
358 LD_NO_UNDEFINED="-Wl,--no-undefined" ;;
361 AC_SUBST([LD_NO_UNDEFINED])
364 dnl Check if linker supports version scripts
366 AC_MSG_CHECKING([if the linker supports version-scripts])
367 save_LDFLAGS=$LDFLAGS
368 LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
369 cat > conftest.map <<EOF
379 [AC_LANG_SOURCE([int main() { return 0;}])],
380 [have_ld_version_script=yes;AC_MSG_RESULT(yes)],
381 [have_ld_version_script=no; AC_MSG_RESULT(no)])
382 LDFLAGS=$save_LDFLAGS
383 AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")
386 dnl compatibility symlinks
390 HAVE_COMPAT_SYMLINKS=yes ;;
392 HAVE_COMPAT_SYMLINKS=no ;;
395 AM_CONDITIONAL(HAVE_COMPAT_SYMLINKS, test "x$HAVE_COMPAT_SYMLINKS" = xyes)
413 AC_ARG_WITH([gl-lib-name],
414 [AS_HELP_STRING([--with-gl-lib-name@<:@=NAME@:>@],
415 [specify GL library name @<:@default=GL@:>@])],
418 AC_ARG_WITH([osmesa-lib-name],
419 [AS_HELP_STRING([--with-osmesa-lib-name@<:@=NAME@:>@],
420 [specify OSMesa library name @<:@default=OSMesa@:>@])],
421 [OSMESA_LIB=$withval],
423 AS_IF([test "x$GL_LIB" = xyes], [GL_LIB=GL])
424 AS_IF([test "x$OSMESA_LIB" = xyes], [OSMESA_LIB=OSMesa])
427 dnl Mangled Mesa support
429 AC_ARG_ENABLE([mangling],
430 [AS_HELP_STRING([--enable-mangling],
431 [enable mangled symbols and library name @<:@default=disabled@:>@])],
432 [enable_mangling="${enableval}"],
435 if test "x${enable_mangling}" = "xyes" ; then
436 DEFINES="${DEFINES} -DUSE_MGL_NAMESPACE"
437 GL_LIB="Mangled${GL_LIB}"
438 OSMESA_LIB="Mangled${OSMESA_LIB}"
441 AC_SUBST([OSMESA_LIB])
444 dnl potentially-infringing-but-nobody-knows-for-sure stuff
446 AC_ARG_ENABLE([texture-float],
447 [AS_HELP_STRING([--enable-texture-float],
448 [enable floating-point textures and renderbuffers @<:@default=disabled@:>@])],
449 [enable_texture_float="$enableval"],
450 [enable_texture_float=no]
452 if test "x$enable_texture_float" = xyes; then
453 AC_MSG_WARN([Floating-point textures enabled.])
454 AC_MSG_WARN([Please consult docs/patents.txt with your lawyer before building Mesa.])
455 DEFINES="$DEFINES -DTEXTURE_FLOAT_ENABLED"
459 dnl Arch/platform-specific settings
462 [AS_HELP_STRING([--disable-asm],
463 [disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
464 [enable_asm="$enableval"],
468 AC_MSG_CHECKING([whether to enable assembly])
469 test "x$enable_asm" = xno && AC_MSG_RESULT([no])
470 # disable if cross compiling on x86/x86_64 since we must run gen_matypes
471 if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
473 i?86 | x86_64 | amd64)
475 AC_MSG_RESULT([no, cross compiling])
479 # check for supported arches
480 if test "x$enable_asm" = xyes; then
484 linux* | *freebsd* | dragonfly* | *netbsd* | openbsd*)
485 test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86
494 linux* | *freebsd* | dragonfly* | *netbsd* | openbsd*)
495 test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
510 DEFINES="$DEFINES -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
511 AC_MSG_RESULT([yes, x86])
514 DEFINES="$DEFINES -DUSE_X86_64_ASM"
515 AC_MSG_RESULT([yes, x86_64])
518 DEFINES="$DEFINES -DUSE_SPARC_ASM"
519 AC_MSG_RESULT([yes, sparc])
522 AC_MSG_RESULT([no, platform not supported])
527 dnl Check to see if dlopen is in default libraries (like Solaris, which
528 dnl has it in libc), or if libdl is needed to get it.
529 AC_CHECK_FUNC([dlopen], [DEFINES="$DEFINES -DHAVE_DLOPEN"],
530 [AC_CHECK_LIB([dl], [dlopen],
531 [DEFINES="$DEFINES -DHAVE_DLOPEN"; DLOPEN_LIBS="-ldl"])])
532 AC_SUBST([DLOPEN_LIBS])
534 dnl Check if that library also has dladdr
535 save_LDFLAGS="$LDFLAGS"
536 LDFLAGS="$LDFLAGS $DLOPEN_LIBS"
537 AC_CHECK_FUNCS([dladdr])
538 LDFLAGS="$save_LDFLAGS"
544 AC_CHECK_FUNCS([clock_gettime], [CLOCK_LIB=],
545 [AC_CHECK_LIB([rt], [clock_gettime], [CLOCK_LIB=-lrt],
546 [AC_MSG_ERROR([Couldn't find clock_gettime])])])
547 AC_SUBST([CLOCK_LIB])
551 dnl See if posix_memalign is available
552 AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
554 dnl Check for pthreads
556 dnl AX_PTHREADS leaves PTHREAD_LIBS empty for gcc and sets PTHREAD_CFLAGS
557 dnl to -pthread, which causes problems if we need -lpthread to appear in
559 test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread"
561 dnl SELinux awareness.
562 AC_ARG_ENABLE([selinux],
563 [AS_HELP_STRING([--enable-selinux],
564 [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
565 [MESA_SELINUX="$enableval"],
567 if test "x$enable_selinux" = "xyes"; then
568 PKG_CHECK_MODULES([SELINUX], [libselinux], [],
569 [AC_CHECK_HEADER([selinux/selinux.h],[],
570 [AC_MSG_ERROR([SELinux headers not found])])
571 AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
572 [AC_MSG_ERROR([SELinux library not found])])
573 SELINUX_LIBS="-lselinux"])
574 DEFINES="$DEFINES -DMESA_SELINUX"
576 AC_SUBST([SELINUX_CFLAGS])
577 AC_SUBST([SELINUX_LIBS])
580 AC_ARG_ENABLE([opengl],
581 [AS_HELP_STRING([--disable-opengl],
582 [disable support for standard OpenGL API @<:@default=no@:>@])],
583 [enable_opengl="$enableval"],
585 AC_ARG_ENABLE([gles1],
586 [AS_HELP_STRING([--enable-gles1],
587 [enable support for OpenGL ES 1.x API @<:@default=no@:>@])],
588 [enable_gles1="$enableval"],
590 AC_ARG_ENABLE([gles2],
591 [AS_HELP_STRING([--enable-gles2],
592 [enable support for OpenGL ES 2.x API @<:@default=no@:>@])],
593 [enable_gles2="$enableval"],
595 AC_ARG_ENABLE([openvg],
596 [AS_HELP_STRING([--enable-openvg],
597 [enable support for OpenVG API @<:@default=no@:>@])],
598 [enable_openvg="$enableval"],
602 [AS_HELP_STRING([--enable-dri],
603 [enable DRI modules @<:@default=enabled@:>@])],
604 [enable_dri="$enableval"],
615 AC_ARG_ENABLE([dri3],
616 [AS_HELP_STRING([--enable-dri3],
617 [enable DRI3 @<:@default=auto@:>@])],
618 [enable_dri3="$enableval"],
619 [enable_dri3="$dri3_default"])
621 [AS_HELP_STRING([--enable-glx],
622 [enable GLX library @<:@default=enabled@:>@])],
623 [enable_glx="$enableval"],
625 AC_ARG_ENABLE([osmesa],
626 [AS_HELP_STRING([--enable-osmesa],
627 [enable OSMesa library @<:@default=disabled@:>@])],
628 [enable_osmesa="$enableval"],
630 AC_ARG_ENABLE([gallium-osmesa],
631 [AS_HELP_STRING([--enable-gallium-osmesa],
632 [enable Gallium implementation of the OSMesa library @<:@default=disabled@:>@])],
633 [enable_gallium_osmesa="$enableval"],
634 [enable_gallium_osmesa=no])
636 [AS_HELP_STRING([--disable-egl],
637 [disable EGL library @<:@default=enabled@:>@])],
638 [enable_egl="$enableval"],
642 [AS_HELP_STRING([--enable-xa],
643 [enable build of the XA X Acceleration API @<:@default=no@:>@])],
644 [enable_xa="$enableval"],
647 [AS_HELP_STRING([--enable-gbm],
648 [enable gbm library @<:@default=auto@:>@])],
649 [enable_gbm="$enableval"],
652 AC_ARG_ENABLE([xvmc],
653 [AS_HELP_STRING([--enable-xvmc],
654 [enable xvmc library @<:@default=auto@:>@])],
655 [enable_xvmc="$enableval"],
657 AC_ARG_ENABLE([vdpau],
658 [AS_HELP_STRING([--enable-vdpau],
659 [enable vdpau library @<:@default=auto@:>@])],
660 [enable_vdpau="$enableval"],
663 [AS_HELP_STRING([--enable-omx],
664 [enable OpenMAX library @<:@default=no@:>@])],
665 [enable_omx="$enableval"],
667 AC_ARG_ENABLE([opencl],
668 [AS_HELP_STRING([--enable-opencl],
669 [enable OpenCL library @<:@default=no@:>@])],
670 [enable_opencl="$enableval"],
672 AC_ARG_ENABLE([opencl_icd],
673 [AS_HELP_STRING([--enable-opencl-icd],
674 [Build an OpenCL ICD library to be loaded by an ICD implementation
675 @<:@default=no@:>@])],
676 [enable_opencl_icd="$enableval"],
677 [enable_opencl_icd=no])
678 AC_ARG_ENABLE([xlib-glx],
679 [AS_HELP_STRING([--enable-xlib-glx],
680 [make GLX library Xlib-based instead of DRI-based @<:@default=disabled@:>@])],
681 [enable_xlib_glx="$enableval"],
682 [enable_xlib_glx=no])
683 AC_ARG_ENABLE([gallium-egl],
684 [AS_HELP_STRING([--enable-gallium-egl],
685 [enable optional EGL state tracker (not required
686 for EGL support in Gallium with OpenGL and OpenGL ES)
687 @<:@default=disable@:>@])],
688 [enable_gallium_egl="$enableval"],
689 [enable_gallium_egl=no])
690 AC_ARG_ENABLE([gallium-gbm],
691 [AS_HELP_STRING([--enable-gallium-gbm],
692 [enable optional gbm state tracker (not required for
693 gbm support in Gallium)
694 @<:@default=auto@:>@])],
695 [enable_gallium_gbm="$enableval"],
696 [enable_gallium_gbm=auto])
698 AC_ARG_ENABLE([r600-llvm-compiler],
699 [AS_HELP_STRING([--enable-r600-llvm-compiler],
700 [Enable experimental LLVM backend for graphics shaders @<:@default=disable@:>@])],
701 [enable_r600_llvm="$enableval"],
702 [enable_r600_llvm=no])
704 AC_ARG_ENABLE([gallium-tests],
705 [AS_HELP_STRING([--enable-gallium-tests],
706 [Enable optional Gallium tests) @<:@default=disable@:>@])],
707 [enable_gallium_tests="$enableval"],
708 [enable_gallium_tests=no])
710 # Option for Gallium drivers
712 # Keep this in sync with the --with-gallium-drivers help string default value
713 GALLIUM_DRIVERS_DEFAULT="r300,r600,svga,swrast"
715 AC_ARG_WITH([gallium-drivers],
716 [AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@],
717 [comma delimited Gallium drivers list, e.g.
718 "i915,ilo,nouveau,r300,r600,radeonsi,freedreno,svga,swrast"
719 @<:@default=r300,r600,svga,swrast@:>@])],
720 [with_gallium_drivers="$withval"],
721 [with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"])
723 # Doing '--without-gallium-drivers' will set this variable to 'no'. Clear it
724 # here so that the script doesn't choke on an unknown driver name later.
725 case "$with_gallium_drivers" in
726 yes) with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT" ;;
727 no) with_gallium_drivers='' ;;
730 if test "x$enable_opengl" = xno -a \
731 "x$enable_gles1" = xno -a \
732 "x$enable_gles2" = xno -a \
733 "x$enable_openvg" = xno -a \
734 "x$enable_xa" = xno -a \
735 "x$enable_xvmc" = xno -a \
736 "x$enable_vdpau" = xno -a \
737 "x$enable_omx" = xno -a \
738 "x$enable_opencl" = xno; then
739 AC_MSG_ERROR([at least one API should be enabled])
742 # Building OpenGL ES1 and/or ES2 without OpenGL is not supported on mesa 9.0.x
743 if test "x$enable_opengl" = xno -a \
744 "x$enable_gles1" = xyes; then
745 AC_MSG_ERROR([Building OpenGL ES1 without OpenGL is not supported])
748 if test "x$enable_opengl" = xno -a \
749 "x$enable_gles2" = xyes; then
750 AC_MSG_ERROR([Building OpenGL ES2 without OpenGL is not supported])
753 AM_CONDITIONAL(HAVE_OPENGL, test "x$enable_opengl" = xyes)
754 AM_CONDITIONAL(HAVE_OPENGL_ES1, test "x$enable_gles1" = xyes)
755 AM_CONDITIONAL(HAVE_OPENGL_ES2, test "x$enable_gles2" = xyes)
756 AM_CONDITIONAL(NEED_OPENGL_COMMON, test "x$enable_opengl" = xyes -o \
757 "x$enable_gles1" = xyes -o \
758 "x$enable_gles2" = xyes)
760 if test "x$enable_glx" = xno; then
761 AC_MSG_WARN([GLX disabled, disabling Xlib-GLX])
765 if test "x$enable_dri$enable_xlib_glx" = xyesyes; then
766 AC_MSG_ERROR([DRI and Xlib-GLX cannot be built together])
769 if test "x$enable_opengl$enable_xlib_glx" = xnoyes; then
770 AC_MSG_ERROR([Xlib-GLX cannot be built without OpenGL])
773 # Disable GLX if OpenGL is not enabled
774 if test "x$enable_glx$enable_opengl" = xyesno; then
775 AC_MSG_WARN([OpenGL not enabled, disabling GLX])
779 # Disable GLX if DRI and Xlib-GLX are not enabled
780 if test "x$enable_glx" = xyes -a \
781 "x$enable_dri" = xno -a \
782 "x$enable_xlib_glx" = xno; then
783 AC_MSG_WARN([Neither DRI nor Xlib-GLX enabled, disabling GLX])
787 AM_CONDITIONAL(HAVE_DRI_GLX, test "x$enable_glx" = xyes -a \
788 "x$enable_dri" = xyes)
789 AM_CONDITIONAL(HAVE_DRI, test "x$enable_dri" = xyes)
790 AM_CONDITIONAL(HAVE_DRI3, test "x$enable_dri3" = xyes)
792 AC_ARG_ENABLE([shared-glapi],
793 [AS_HELP_STRING([--enable-shared-glapi],
794 [Enable shared glapi for OpenGL @<:@default=yes@:>@])],
795 [enable_shared_glapi="$enableval"],
796 [enable_shared_glapi=yes])
798 case "x$enable_opengl$enable_gles1$enable_gles2" in
800 if test "x$enable_shared_glapi" = xno; then
801 AC_MSG_ERROR([shared GLAPI required when building two or more of
802 the following APIs - opengl, gles1 gles2])
807 # Building Xlib-GLX requires shared glapi to be disabled.
808 if test "x$enable_xlib_glx" = xyes; then
809 AC_MSG_NOTICE([Shared GLAPI should not used with Xlib-GLX, disabling])
810 enable_shared_glapi=no
813 AM_CONDITIONAL(HAVE_SHARED_GLAPI, test "x$enable_shared_glapi" = xyes)
816 dnl Driver specific build directories
818 GALLIUM_TARGET_DIRS=""
819 GALLIUM_WINSYS_DIRS="sw"
820 GALLIUM_DRIVERS_DIRS="galahad trace rbug noop identity"
821 GALLIUM_STATE_TRACKERS_DIRS=""
823 case "x$enable_glx$enable_xlib_glx" in
825 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
826 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
827 GALLIUM_STATE_TRACKERS_DIRS="glx $GALLIUM_STATE_TRACKERS_DIRS"
828 NEED_WINSYS_XLIB="yes"
832 if test "x$enable_dri" = xyes; then
833 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/dri"
834 GALLIUM_STATE_TRACKERS_DIRS="dri $GALLIUM_STATE_TRACKERS_DIRS"
837 if test "x$enable_gallium_osmesa" = xyes; then
838 if ! echo "$with_gallium_drivers" | grep -q 'swrast'; then
839 AC_MSG_ERROR([gallium_osmesa requires the gallium swrast driver])
841 if test "x$enable_osmesa" = xyes; then
842 AC_MSG_ERROR([Cannot enable both classic and Gallium OSMesa implementations])
844 GALLIUM_STATE_TRACKERS_DIRS="osmesa $GALLIUM_STATE_TRACKERS_DIRS"
845 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS osmesa"
848 AC_SUBST([MESA_LLVM])
851 PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED],
852 [have_libdrm=yes], [have_libdrm=no])
853 if test "x$have_libdrm" = xyes; then
854 DEFINES="$DEFINES -DHAVE_LIBDRM"
864 PKG_CHECK_MODULES([LIBUDEV], [libudev >= $LIBUDEV_REQUIRED],
865 have_libudev=yes, have_libudev=no)
867 if test "x$enable_dri" = xyes; then
868 if test "$enable_static" = yes; then
869 AC_MSG_ERROR([Cannot use static libraries for DRI drivers])
872 # not a hard requirement as swrast does not depend on it
873 if test "x$have_libdrm" = xyes; then
874 DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
878 dnl Direct rendering or just indirect rendering
881 dnl Disable by default on GNU/Hurd
882 driglx_direct_default="no"
885 dnl Disable by default on cygwin
886 driglx_direct_default="no"
889 driglx_direct_default="yes"
892 AC_ARG_ENABLE([driglx-direct],
893 [AS_HELP_STRING([--disable-driglx-direct],
894 [disable direct rendering in GLX and EGL for DRI \
895 @<:@default=auto@:>@])],
896 [driglx_direct="$enableval"],
897 [driglx_direct="$driglx_direct_default"])
900 dnl libGL configuration per driver
902 case "x$enable_glx$enable_xlib_glx" in
905 PKG_CHECK_MODULES([XLIBGL], [x11 xext])
906 GL_PC_REQ_PRIV="x11 xext"
907 X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
908 GL_LIB_DEPS="$XLIBGL_LIBS"
909 GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
910 GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm $PTHREAD_LIBS"
914 PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
915 if test x"$driglx_direct" = xyes; then
916 if test "x$have_libdrm" != xyes; then
917 AC_MSG_ERROR([Direct rendering requires libdrm >= $LIBDRM_REQUIRED])
919 PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
920 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED"
921 if test x"$enable_dri3" = xyes; then
922 PKG_CHECK_MODULES([DRI3PROTO], [dri3proto >= $DRI3PROTO_REQUIRED])
923 PKG_CHECK_MODULES([PRESENTPROTO], [presentproto >= $PRESENTPROTO_REQUIRED])
927 # find the DRI deps for libGL
928 dri_modules="x11 xext xdamage xfixes x11-xcb xcb-glx >= $XCBGLX_REQUIRED xcb-dri2 >= $XCBDRI2_REQUIRED"
930 if test x"$enable_dri3" = xyes; then
931 dri_modules="$dri_modules xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED"
934 # add xf86vidmode if available
935 PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no)
936 if test "$HAVE_XF86VIDMODE" = yes ; then
937 dri_modules="$dri_modules xxf86vm"
940 PKG_CHECK_MODULES([DRIGL], [$dri_modules])
941 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
942 X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
943 GL_LIB_DEPS="$DRIGL_LIBS"
945 # need DRM libs, $PTHREAD_LIBS, etc.
946 GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
947 GL_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
951 if test "$have_libudev" = yes; then
952 DEFINES="$DEFINES -DHAVE_LIBUDEV"
955 # This is outside the case (above) so that it is invoked even for non-GLX
957 AM_CONDITIONAL(HAVE_XF86VIDMODE, test "x$HAVE_XF86VIDMODE" = xyes)
959 GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
960 GLESv1_CM_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
961 GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
962 GLESv2_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
964 AC_SUBST([X11_INCLUDES])
965 AC_SUBST([GL_LIB_DEPS])
966 AC_SUBST([GL_PC_REQ_PRIV])
967 AC_SUBST([GL_PC_LIB_PRIV])
968 AC_SUBST([GL_PC_CFLAGS])
969 AC_SUBST([DRI_PC_REQ_PRIV])
970 AC_SUBST([GLESv1_CM_LIB_DEPS])
971 AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
972 AC_SUBST([GLESv2_LIB_DEPS])
973 AC_SUBST([GLESv2_PC_LIB_PRIV])
975 AC_SUBST([HAVE_XF86VIDMODE])
980 case "x$enable_glx$enable_xlib_glx" in
982 DEFINES="$DEFINES -DUSE_XSHM"
985 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
986 if test "x$driglx_direct" = xyes; then
987 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
996 AC_ARG_ENABLE([glx-tls],
997 [AS_HELP_STRING([--enable-glx-tls],
998 [enable TLS support in GLX @<:@default=disabled@:>@])],
999 [GLX_USE_TLS="$enableval"],
1001 AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
1003 AS_IF([test "x$GLX_USE_TLS" = xyes -a "x$ax_pthread_ok" = xyes],
1004 [DEFINES="${DEFINES} -DGLX_USE_TLS -DHAVE_PTHREAD"])
1009 dnl Directory for DRI drivers
1010 AC_ARG_WITH([dri-driverdir],
1011 [AS_HELP_STRING([--with-dri-driverdir=DIR],
1012 [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
1013 [DRI_DRIVER_INSTALL_DIR="$withval"],
1014 [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
1015 AC_SUBST([DRI_DRIVER_INSTALL_DIR])
1016 dnl Extra search path for DRI drivers
1017 AC_ARG_WITH([dri-searchpath],
1018 [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
1019 [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
1020 [DRI_DRIVER_SEARCH_DIR="$withval"],
1021 [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
1022 AC_SUBST([DRI_DRIVER_SEARCH_DIR])
1023 dnl Which drivers to build - default is chosen by platform
1024 AC_ARG_WITH([dri-drivers],
1025 [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
1026 [comma delimited classic DRI drivers list, e.g.
1027 "swrast,i965,radeon" @<:@default=auto@:>@])],
1028 [with_dri_drivers="$withval"],
1029 [with_dri_drivers=auto])
1031 if test "x$with_dri_drivers" = xauto; then
1032 if test "x$enable_opengl" = xyes -a "x$enable_dri" = xyes; then
1033 with_dri_drivers="yes"
1035 with_dri_drivers="no"
1038 if test "x$with_dri_drivers" = xno; then
1042 dnl If $with_dri_drivers is yes, drivers will be added through
1043 dnl platform checks. Set DEFINES and LIB_DEPS
1044 if test "x$enable_dri" = xyes; then
1045 # Platform specific settings and drivers to build
1048 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
1049 DEFINES="$DEFINES -DHAVE_ALIAS"
1050 if test "x$enable_dri3" = xyes; then
1051 DEFINES="$DEFINES -DHAVE_DRI3"
1054 if test "x$have_libudev" != xyes; then
1055 AC_MSG_ERROR([libudev-dev required for building DRI])
1060 # Build only the drivers for cards that exist on PowerPC/sparc
1061 if test "x$with_dri_drivers" = "xyes"; then
1062 with_dri_drivers="r200 radeon swrast"
1067 *freebsd* | dragonfly* | *netbsd* | openbsd*)
1068 DEFINES="$DEFINES -DHAVE_PTHREAD -DUSE_EXTERNAL_DXTN_LIB=1"
1069 DEFINES="$DEFINES -DHAVE_ALIAS"
1072 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
1073 DEFINES="$DEFINES -DHAVE_ALIAS"
1076 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
1079 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
1080 if test "x$with_dri_drivers" = "xyes"; then
1081 with_dri_drivers="swrast"
1085 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DGLX_ALIAS_UNSUPPORTED"
1086 if test "x$with_dri_drivers" = "xyes"; then
1087 with_dri_drivers="swrast"
1093 if test "x$with_dri_drivers" = "xyes"; then
1094 with_dri_drivers="i915 i965 nouveau r200 radeon swrast"
1098 PKG_CHECK_EXISTS([expat], [have_expat=yes], [have_expat=no])
1099 if test "x$have_expat" = "xyes"; then
1100 PKG_CHECK_MODULES([EXPAT], [expat], [],
1101 AC_MSG_ERROR([Expat required for DRI.]))
1103 # expat version 2.0 and earlier do not provide expat.pc
1107 # If we are building any DRI driver other than swrast.
1108 if test -n "$with_dri_drivers"; then
1109 if test "x$with_dri_drivers" != xswrast; then
1110 # ... libdrm is required
1111 if test "x$have_libdrm" != xyes; then
1112 AC_MSG_ERROR([DRI drivers requires libdrm >= $LIBDRM_REQUIRED])
1114 DRICOMMON_NEED_LIBDRM=yes
1116 DRICOMMON_NEED_LIBDRM=no
1120 # put all the necessary libs together
1121 DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1124 AC_SUBST([DRI_LIB_DEPS])
1127 dnl Duplicates in DRI_DIRS are removed by sorting it at the end of this block
1128 if test -n "$with_dri_drivers"; then
1129 if test "x$enable_opengl" != xyes; then
1130 AC_MSG_ERROR([--with-dri-drivers requires OpenGL])
1133 dri_drivers=`IFS=', '; echo $with_dri_drivers`
1134 for driver in $dri_drivers; do
1135 DRI_DIRS="$DRI_DIRS $driver"
1139 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1143 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1146 HAVE_NOUVEAU_DRI=yes;
1147 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NVVIEUX_REQUIRED])
1150 HAVE_RADEON_DRI=yes;
1151 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1155 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1158 HAVE_SWRAST_DRI=yes;
1161 AC_MSG_ERROR([classic DRI driver '$driver' does not exist])
1165 DRI_DIRS=`echo $DRI_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
1168 AM_CONDITIONAL(NEED_MEGADRIVER, test -n "$DRI_DIRS")
1169 AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_xlib_glx" = xyes -o \
1170 "x$enable_osmesa" = xyes -o \
1174 dnl OSMesa configuration
1177 dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
1178 AC_ARG_WITH([osmesa-bits],
1179 [AS_HELP_STRING([--with-osmesa-bits=BITS],
1180 [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
1181 [osmesa_bits="$withval"],
1183 if test "x$osmesa_bits" != x8; then
1184 if test "x$enable_dri" = xyes -o "x$enable_glx" = xyes; then
1185 AC_MSG_WARN([Ignoring OSMesa channel bits because of non-OSMesa driver])
1189 case "x$osmesa_bits" in
1191 OSMESA_LIB="${OSMESA_LIB}"
1194 OSMESA_LIB="${OSMESA_LIB}$osmesa_bits"
1195 DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
1198 AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
1202 if test "x$enable_osmesa" = xyes -o "x$enable_gallium_osmesa" = xyes; then
1203 # only link libraries with osmesa if shared
1204 if test "$enable_static" = no; then
1205 OSMESA_LIB_DEPS="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
1210 OSMESA_PC_LIB_PRIV="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
1213 AC_SUBST([OSMESA_LIB_DEPS])
1214 AC_SUBST([OSMESA_MESA_DEPS])
1215 AC_SUBST([OSMESA_PC_REQ])
1216 AC_SUBST([OSMESA_PC_LIB_PRIV])
1219 dnl gbm configuration
1221 if test "x$enable_gbm" = xauto; then
1222 case "$with_egl_platforms" in
1229 if test "x$enable_gbm" = xyes; then
1230 if test "x$need_libudev$have_libudev" = xyesno; then
1231 AC_MSG_ERROR([gbm requires udev >= $LIBUDEV_REQUIRED])
1234 if test "x$enable_dri" = xyes; then
1235 GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri"
1236 if test "x$enable_shared_glapi" = xno; then
1237 AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi])
1240 # Strictly speaking libgbm does not require --enable-dri, although
1241 # both of its backends do. Thus one can build libgbm without any
1242 # backends if --disable-dri is set.
1243 # To avoid unnecessary complexity of checking if at least one backend
1244 # is available when building, just mandate --enable-dri.
1245 AC_MSG_ERROR([gbm requires --enable-dri])
1248 AM_CONDITIONAL(HAVE_GBM, test "x$enable_gbm" = xyes)
1249 if test "x$need_libudev" = xyes; then
1250 GBM_PC_REQ_PRIV="libudev >= $LIBUDEV_REQUIRED"
1254 GBM_PC_LIB_PRIV="$DLOPEN_LIBS"
1255 AC_SUBST([GBM_PC_REQ_PRIV])
1256 AC_SUBST([GBM_PC_LIB_PRIV])
1259 dnl EGL configuration
1263 if test "x$enable_egl" = xyes; then
1264 EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS $PTHREAD_LIBS"
1266 AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"])
1268 if test "$enable_static" != yes; then
1269 if test "x$enable_dri" = xyes; then
1270 HAVE_EGL_DRIVER_DRI2=1
1275 AM_CONDITIONAL(HAVE_EGL, test "x$enable_egl" = xyes)
1276 AC_SUBST([EGL_LIB_DEPS])
1279 dnl EGL Gallium configuration
1281 if test "x$enable_gallium_egl" = xyes; then
1282 if test -z "$with_gallium_drivers"; then
1283 AC_MSG_ERROR([cannot enable egl_gallium without Gallium])
1285 if test "x$enable_egl" = xno; then
1286 AC_MSG_ERROR([cannot enable egl_gallium without EGL])
1288 if test "x$have_libdrm" != xyes; then
1289 AC_MSG_ERROR([egl_gallium requires libdrm >= $LIBDRM_REQUIRED])
1292 GALLIUM_STATE_TRACKERS_DIRS="egl $GALLIUM_STATE_TRACKERS_DIRS"
1293 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl-static"
1295 AM_CONDITIONAL(HAVE_GALLIUM_EGL, test "x$enable_gallium_egl" = xyes)
1298 dnl gbm Gallium configuration
1300 if test "x$enable_gallium_gbm" = xauto; then
1301 case "$enable_gbm$enable_gallium_egl$enable_dri$with_egl_platforms" in
1303 enable_gallium_gbm=yes ;;
1305 enable_gallium_gbm=no ;;
1308 if test "x$enable_gallium_gbm" = xyes; then
1309 if test -z "$with_gallium_drivers"; then
1310 AC_MSG_ERROR([cannot enable gbm_gallium without Gallium])
1312 if test "x$enable_gbm" = xno; then
1313 AC_MSG_ERROR([cannot enable gbm_gallium without gbm])
1315 # gbm_gallium abuses DRI_LIB_DEPS to link. Make sure it is set.
1316 if test "x$enable_dri" = xno; then
1317 AC_MSG_ERROR([gbm_gallium requires --enable-dri to build])
1320 GALLIUM_STATE_TRACKERS_DIRS="gbm $GALLIUM_STATE_TRACKERS_DIRS"
1321 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS gbm"
1322 enable_gallium_loader=yes
1324 AM_CONDITIONAL(HAVE_GALLIUM_GBM, test "x$enable_gallium_gbm" = xyes)
1327 dnl XA configuration
1329 if test "x$enable_xa" = xyes; then
1330 if test "x$with_gallium_drivers" = xswrast; then
1332 Building xa requires at least one non swrast gallium driver.
1333 If you are looking to use libxatracker.so with vmware's virtual gpu,
1334 make sure to include svga in the gallium drivers list, apart from
1336 Example: ./configure --enable-xa --with-gallium-drivers=svga...])
1338 GALLIUM_STATE_TRACKERS_DIRS="xa $GALLIUM_STATE_TRACKERS_DIRS"
1339 enable_gallium_loader=yes
1341 AM_CONDITIONAL(HAVE_ST_XA, test "x$enable_xa" = xyes)
1344 dnl OpenVG configuration
1348 if test "x$enable_openvg" = xyes; then
1349 if test "x$enable_egl" = xno; then
1350 AC_MSG_ERROR([cannot enable OpenVG without EGL])
1352 if test -z "$with_gallium_drivers"; then
1353 AC_MSG_ERROR([cannot enable OpenVG without Gallium])
1355 if test "x$enable_gallium_egl" = xno; then
1356 AC_MSG_ERROR([cannot enable OpenVG without egl_gallium])
1359 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
1360 VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS $PTHREAD_LIBS"
1361 GALLIUM_STATE_TRACKERS_DIRS="vega $GALLIUM_STATE_TRACKERS_DIRS"
1362 VG_PC_LIB_PRIV="-lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
1363 AC_SUBST([VG_PC_LIB_PRIV])
1365 AM_CONDITIONAL(HAVE_OPENVG, test "x$enable_openvg" = xyes)
1368 dnl Gallium G3DVL configuration
1370 if test -n "$with_gallium_drivers" && ! echo "$with_gallium_drivers" | grep -q 'swrast'; then
1371 if test "x$enable_xvmc" = xauto; then
1372 PKG_CHECK_EXISTS([xvmc], [enable_xvmc=yes], [enable_xvmc=no])
1375 if test "x$enable_vdpau" = xauto; then
1376 PKG_CHECK_EXISTS([vdpau], [enable_vdpau=yes], [enable_vdpau=no])
1379 if test "x$enable_omx" = xauto; then
1380 PKG_CHECK_EXISTS([libomxil-bellagio], [enable_omx=yes], [enable_omx=no])
1384 if test "x$enable_xvmc" = xyes; then
1385 PKG_CHECK_MODULES([XVMC], [xvmc >= $XVMC_REQUIRED x11-xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
1386 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xvmc"
1388 AM_CONDITIONAL(HAVE_ST_XVMC, test "x$enable_xvmc" = xyes)
1390 if test "x$enable_vdpau" = xyes; then
1391 PKG_CHECK_MODULES([VDPAU], [vdpau >= $VDPAU_REQUIRED x11-xcb xcb-dri2 >= $XCBDRI2_REQUIRED],
1392 [VDPAU_LIBS="`$PKG_CONFIG --libs x11-xcb xcb-dri2`"])
1393 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS vdpau"
1395 AM_CONDITIONAL(HAVE_ST_VDPAU, test "x$enable_vdpau" = xyes)
1397 if test "x$enable_omx" = xyes; then
1398 PKG_CHECK_MODULES([OMX], [libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED x11-xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
1399 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS omx"
1401 AM_CONDITIONAL(HAVE_ST_OMX, test "x$enable_omx" = xyes)
1404 dnl OpenCL configuration
1407 AC_ARG_WITH([libclc-path],
1408 [AS_HELP_STRING([--with-libclc-path],
1409 [DEPRECATED: See http://dri.freedesktop.org/wiki/GalliumCompute#How_to_Install])],
1410 [LIBCLC_PATH="$withval"],
1413 if test -n "$LIBCLC_PATH"; then
1414 AC_MSG_ERROR([The --with-libclc-path option has been deprecated.
1415 Please review the updated build instructions for clover:
1416 http://dri.freedesktop.org/wiki/GalliumCompute])
1420 AC_ARG_WITH([clang-libdir],
1421 [AS_HELP_STRING([--with-clang-libdir],
1422 [Path to Clang libraries @<:@default=llvm-config --libdir@:>@])],
1423 [CLANG_LIBDIR="$withval"],
1426 PKG_CHECK_EXISTS([libclc], [have_libclc=yes], [have_libclc=no])
1428 if test "x$enable_opencl" = xyes; then
1429 if test -z "$with_gallium_drivers"; then
1430 AC_MSG_ERROR([cannot enable OpenCL without Gallium])
1433 if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 7; then
1434 AC_MSG_ERROR([gcc >= 4.7 is required to build clover])
1437 if test "x$have_libclc" = xno; then
1438 AC_MSG_ERROR([pkg-config cannot find libclc.pc which is required to build clover.
1439 Make sure the directory containing libclc.pc is specified in your
1440 PKG_CONFIG_PATH environment variable.
1441 By default libclc.pc is installed to /usr/local/share/pkgconfig/])
1443 LIBCLC_INCLUDEDIR=`$PKG_CONFIG --variable=includedir libclc`
1444 LIBCLC_LIBEXECDIR=`$PKG_CONFIG --variable=libexecdir libclc`
1445 AC_SUBST([LIBCLC_INCLUDEDIR])
1446 AC_SUBST([LIBCLC_LIBEXECDIR])
1449 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS clover"
1450 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS opencl"
1451 enable_gallium_loader=yes
1453 if test "x$enable_opencl_icd" = xyes; then
1454 OPENCL_LIBNAME="MesaOpenCL"
1456 OPENCL_LIBNAME="OpenCL"
1459 AM_CONDITIONAL(HAVE_CLOVER, test "x$enable_opencl" = xyes)
1460 AM_CONDITIONAL(HAVE_CLOVER_ICD, test "x$enable_opencl_icd" = xyes)
1461 AC_SUBST([OPENCL_LIBNAME])
1464 dnl Gallium configuration
1466 AM_CONDITIONAL(HAVE_GALLIUM, test -n "$with_gallium_drivers")
1468 AC_SUBST([LLVM_BINDIR])
1469 AC_SUBST([LLVM_CFLAGS])
1470 AC_SUBST([LLVM_CPPFLAGS])
1471 AC_SUBST([LLVM_CXXFLAGS])
1472 AC_SUBST([LLVM_LIBDIR])
1473 AC_SUBST([LLVM_LIBS])
1474 AC_SUBST([LLVM_LDFLAGS])
1475 AC_SUBST([LLVM_INCLUDEDIR])
1476 AC_SUBST([LLVM_VERSION])
1477 AC_SUBST([CLANG_RESOURCE_DIR])
1479 case "x$enable_opengl$enable_gles1$enable_gles2" in
1481 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
1485 AC_SUBST([VG_LIB_DEPS])
1486 AC_SUBST([EGL_CLIENT_APIS])
1489 dnl EGL Platforms configuration
1491 AC_ARG_WITH([egl-platforms],
1492 [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1493 [comma delimited native platforms libEGL supports, e.g.
1494 "x11,drm" @<:@default=auto@:>@])],
1495 [with_egl_platforms="$withval"],
1496 [if test "x$enable_egl" = xyes; then
1497 with_egl_platforms="x11"
1499 with_egl_platforms=""
1502 if test "x$with_egl_platforms" != "x" -a "x$enable_egl" != xyes; then
1503 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1506 # Do per-EGL platform setups and checks
1507 egl_platforms=`IFS=', '; echo $with_egl_platforms`
1508 for plat in $egl_platforms; do
1511 PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED])
1512 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/wayland"
1514 WAYLAND_PREFIX=`$PKG_CONFIG --variable=prefix wayland-client`
1515 AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner],,
1516 [${WAYLAND_PREFIX}/bin$PATH_SEPARATOR$PATH])
1520 PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 >= $XCBDRI2_REQUIRED xcb-xfixes])
1524 test "x$enable_gbm" = "xno" &&
1525 AC_MSG_ERROR([EGL platform drm needs gbm])
1526 test "x$have_libdrm" != xyes &&
1527 AC_MSG_ERROR([EGL platform drm requires libdrm >= $LIBDRM_REQUIRED])
1530 android|fbdev|gdi|null)
1534 AC_MSG_ERROR([EGL platform '$plat' does not exist])
1538 case "$plat$need_libudev$have_libudev" in
1539 waylandyesno|drmyesno)
1540 AC_MSG_ERROR([cannot build $plat platform without udev >= $LIBUDEV_REQUIRED]) ;;
1544 # libEGL wants to default to the first platform specified in
1545 # ./configure. parse that here.
1546 if test "x$egl_platforms" != "x"; then
1547 FIRST_PLATFORM_CAPS=`echo $egl_platforms | sed 's| .*||' | tr 'a-z' 'A-Z'`
1548 EGL_NATIVE_PLATFORM="_EGL_PLATFORM_$FIRST_PLATFORM_CAPS"
1550 EGL_NATIVE_PLATFORM="_EGL_INVALID_PLATFORM"
1553 if echo "$egl_platforms" | grep -q 'x11'; then
1554 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
1555 NEED_WINSYS_XLIB=yes
1557 AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep -q 'x11')
1558 AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep -q 'wayland')
1559 AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep -q 'drm')
1560 AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep -q 'fbdev')
1561 AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep -q 'null')
1563 AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
1565 AC_SUBST([EGL_NATIVE_PLATFORM])
1566 AC_SUBST([EGL_CFLAGS])
1568 # If we don't have the X11 platform, set this define so we don't try to include
1570 if ! echo "$egl_platforms" | grep -q 'x11'; then
1571 DEFINES="$DEFINES -DMESA_EGL_NO_X11_HEADERS"
1572 GL_PC_CFLAGS="$GL_PC_CFLAGS -DMESA_EGL_NO_X11_HEADERS"
1575 AC_ARG_WITH([egl-driver-dir],
1576 [AS_HELP_STRING([--with-egl-driver-dir=DIR],
1577 [directory for EGL drivers [[default=${libdir}/egl]]])],
1578 [EGL_DRIVER_INSTALL_DIR="$withval"],
1579 [EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
1580 AC_SUBST([EGL_DRIVER_INSTALL_DIR])
1582 AC_ARG_WITH([max-width],
1583 [AS_HELP_STRING([--with-max-width=N],
1584 [Maximum framebuffer width (4096)])],
1585 [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1586 AS_IF([test "${withval}" -gt "4096"],
1587 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1589 AC_ARG_WITH([max-height],
1590 [AS_HELP_STRING([--with-max-height=N],
1591 [Maximum framebuffer height (4096)])],
1592 [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1593 AS_IF([test "${withval}" -gt "4096"],
1594 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1600 AC_ARG_ENABLE([gallium-llvm],
1601 [AS_HELP_STRING([--enable-gallium-llvm],
1602 [build gallium LLVM support @<:@default=enabled on x86/x86_64@:>@])],
1603 [enable_gallium_llvm="$enableval"],
1604 [enable_gallium_llvm=auto])
1606 AC_ARG_ENABLE([llvm-shared-libs],
1607 [AS_HELP_STRING([--enable-llvm-shared-libs],
1608 [link with LLVM shared libraries @<:@default=enabled@:>@])],
1609 [enable_llvm_shared_libs="$enableval"],
1610 [enable_llvm_shared_libs=yes])
1612 AC_ARG_WITH([llvm-prefix],
1613 [AS_HELP_STRING([--with-llvm-prefix],
1614 [Prefix for LLVM installations in non-standard locations])],
1615 [llvm_prefix="$withval"],
1619 # Call this inside ` ` to get the return value.
1620 # $1 is the llvm-config command with arguments.
1621 strip_unwanted_llvm_flags() {
1622 # Use \> (marks the end of the word)
1624 -e 's/-DNDEBUG\>//g' \
1625 -e 's/-pedantic\>//g' \
1626 -e 's/-Wcovered-switch-default\>//g' \
1630 -e 's/-Wcast-qual\>//g' \
1631 -e 's/-Woverloaded-virtual\>//g' \
1632 -e 's/-fcolor-diagnostics\>//g' \
1633 -e 's/-fdata-sections\>//g' \
1634 -e 's/-ffunction-sections\>//g' \
1635 -e 's/-fno-exceptions\>//g' \
1636 -e 's/-fomit-frame-pointer\>//g' \
1637 -e 's/-fvisibility-inlines-hidden\>//g' \
1639 -e 's/-fstack-protector-strong\>//g'
1643 if test -z "$with_gallium_drivers"; then
1644 enable_gallium_llvm=no
1646 if test "x$enable_gallium_llvm" = xauto; then
1648 i*86|x86_64|amd64) enable_gallium_llvm=yes;;
1651 if test "x$enable_gallium_llvm" = xyes; then
1652 if test -n "$llvm_prefix"; then
1653 AC_PATH_TOOL([LLVM_CONFIG], [llvm-config], [no], ["$llvm_prefix/bin"])
1655 AC_PATH_TOOL([LLVM_CONFIG], [llvm-config], [no])
1658 if test "x$LLVM_CONFIG" != xno; then
1659 LLVM_VERSION=`$LLVM_CONFIG --version | sed 's/svn.*//g'`
1660 LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1661 LLVM_BINDIR=`$LLVM_CONFIG --bindir`
1662 LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"`
1663 LLVM_CFLAGS=$LLVM_CPPFLAGS # CPPFLAGS seem to be sufficient
1664 LLVM_CXXFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cxxflags"`
1665 LLVM_INCLUDEDIR=`$LLVM_CONFIG --includedir`
1666 LLVM_LIBDIR=`$LLVM_CONFIG --libdir`
1668 AC_COMPUTE_INT([LLVM_VERSION_MAJOR], [LLVM_VERSION_MAJOR],
1669 [#include "${LLVM_INCLUDEDIR}/llvm/Config/llvm-config.h"])
1670 AC_COMPUTE_INT([LLVM_VERSION_MINOR], [LLVM_VERSION_MINOR],
1671 [#include "${LLVM_INCLUDEDIR}/llvm/Config/llvm-config.h"])
1673 dnl In LLVM 3.4.1 patch level was defined in config.h and not
1675 AC_COMPUTE_INT([LLVM_VERSION_PATCH], [LLVM_VERSION_PATCH],
1676 [#include "${LLVM_INCLUDEDIR}/llvm/Config/config.h"],
1677 LLVM_VERSION_PATCH=0) dnl Default if LLVM_VERSION_PATCH not found
1679 if test -n "${LLVM_VERSION_MAJOR}"; then
1680 LLVM_VERSION_INT="${LLVM_VERSION_MAJOR}0${LLVM_VERSION_MINOR}"
1682 LLVM_VERSION_INT=`echo $LLVM_VERSION | sed -e 's/\([[0-9]]\)\.\([[0-9]]\)/\10\2/g'`
1685 LLVM_REQUIRED_VERSION_MAJOR="3"
1686 LLVM_REQUIRED_VERSION_MINOR="1"
1687 if test "$LLVM_VERSION_INT" -lt "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}"; then
1688 AC_MSG_ERROR([LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR or newer is required])
1691 LLVM_COMPONENTS="engine bitwriter"
1692 if $LLVM_CONFIG --components | grep -qw 'mcjit'; then
1693 LLVM_COMPONENTS="${LLVM_COMPONENTS} mcjit"
1696 if test "x$enable_opencl" = xyes; then
1697 LLVM_COMPONENTS="${LLVM_COMPONENTS} ipo linker instrumentation"
1698 # LLVM 3.3 >= 177971 requires IRReader
1699 if $LLVM_CONFIG --components | grep -qw 'irreader'; then
1700 LLVM_COMPONENTS="${LLVM_COMPONENTS} irreader"
1702 # LLVM 3.4 requires Option
1703 if $LLVM_CONFIG --components | grep -qw 'option'; then
1704 LLVM_COMPONENTS="${LLVM_COMPONENTS} option"
1707 DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT -DLLVM_VERSION_PATCH=$LLVM_VERSION_PATCH"
1710 dnl Check for Clang internal headers
1711 if test "x$enable_opencl" = xyes; then
1712 if test -z "$CLANG_LIBDIR"; then
1713 CLANG_LIBDIR=${LLVM_LIBDIR}
1715 CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
1716 AS_IF([test ! -f "$CLANG_RESOURCE_DIR/include/stddef.h"],
1717 [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.])])
1728 dnl Directory for XVMC libs
1729 AC_ARG_WITH([xvmc-libdir],
1730 [AS_HELP_STRING([--with-xvmc-libdir=DIR],
1731 [directory for the XVMC libraries @<:@default=${libdir}@:>@])],
1732 [XVMC_LIB_INSTALL_DIR="$withval"],
1733 [XVMC_LIB_INSTALL_DIR='${libdir}'])
1734 AC_SUBST([XVMC_LIB_INSTALL_DIR])
1739 if test "x$enable_gallium_tests" = xyes; then
1740 enable_gallium_loader=yes
1742 AM_CONDITIONAL(HAVE_GALLIUM_TESTS, test "x$enable_gallium_tests" = xyes)
1744 if test "x$enable_gallium_loader" = xyes; then
1745 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS pipe-loader"
1747 AM_CONDITIONAL(NEED_GALLIUM_LOADER, test "x$enable_gallium_loader" = xyes)
1749 dnl Directory for VDPAU libs
1750 AC_ARG_WITH([vdpau-libdir],
1751 [AS_HELP_STRING([--with-vdpau-libdir=DIR],
1752 [directory for the VDPAU libraries @<:@default=${libdir}/vdpau@:>@])],
1753 [VDPAU_LIB_INSTALL_DIR="$withval"],
1754 [VDPAU_LIB_INSTALL_DIR='${libdir}/vdpau'])
1755 AC_SUBST([VDPAU_LIB_INSTALL_DIR])
1757 OMX_LIB_INSTALL_DIR_DEFAULT=''
1758 if test "x$enable_omx" = xyes; then
1759 OMX_LIB_INSTALL_DIR_DEFAULT=`$PKG_CONFIG --variable=pluginsdir libomxil-bellagio`
1762 AC_ARG_WITH([omx-libdir],
1763 [AS_HELP_STRING([--with-omx-libdir=DIR],
1764 [directory for the OMX libraries])],
1765 [OMX_LIB_INSTALL_DIR="$withval"],
1766 [OMX_LIB_INSTALL_DIR="$OMX_LIB_INSTALL_DIR_DEFAULT"])
1767 AC_SUBST([OMX_LIB_INSTALL_DIR])
1769 dnl Directory for OpenCL libs
1770 AC_ARG_WITH([opencl-libdir],
1771 [AS_HELP_STRING([--with-opencl-libdir=DIR],
1772 [directory for auxiliary libraries used by the OpenCL implementation @<:@default=${libdir}/opencl@:>@])],
1773 [OPENCL_LIB_INSTALL_DIR="$withval"],
1774 [OPENCL_LIB_INSTALL_DIR='${libdir}/opencl'])
1775 AC_SUBST([OPENCL_LIB_INSTALL_DIR])
1778 dnl Gallium helper functions
1780 gallium_check_st() {
1781 if test "x$NEED_NONNULL_WINSYS" = xyes; then
1782 if test "x$have_libdrm" != xyes; then
1783 AC_MSG_ERROR([DRI or Xorg DDX requires libdrm >= $LIBDRM_REQUIRED])
1785 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
1787 if test "x$enable_dri" = xyes && test -n "$2"; then
1788 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
1790 if test "x$enable_xa" = xyes && test -n "$3"; then
1791 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
1793 if test "x$enable_xvmc" = xyes && test -n "$4"; then
1794 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $4"
1796 if test "x$enable_vdpau" = xyes && test -n "$5"; then
1797 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $5"
1799 if test "x$enable_omx" = xyes && test "x$6" != x; then
1800 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $6"
1804 gallium_require_llvm() {
1805 if test "x$MESA_LLVM" = x0; then
1807 i*86|x86_64|amd64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
1812 gallium_require_drm_loader() {
1813 if test "x$enable_gallium_loader" = xyes; then
1814 if test "x$need_libudev$have_libudev" = xyesno; then
1815 AC_MSG_ERROR([Gallium drm loader requires libudev >= $LIBUDEV_REQUIRED])
1817 if test "x$have_libdrm" != xyes; then
1818 AC_MSG_ERROR([Gallium drm loader requires libdrm >= $LIBDRM_REQUIRED])
1820 enable_gallium_drm_loader=yes
1825 case "$with_egl_platforms" in
1829 AC_MSG_ERROR([--with-egl-platforms=drm is required to build the $1 driver.])
1832 if test "x$enable_gbm" != xyes; then
1833 AC_MSG_ERROR([--enable-gbm is required to build the $1 driver.])
1837 radeon_llvm_check() {
1838 if test "x$enable_gallium_llvm" != "xyes"; then
1839 AC_MSG_ERROR([--enable-gallium-llvm is required when building $1])
1841 LLVM_REQUIRED_VERSION_MAJOR="3"
1842 LLVM_REQUIRED_VERSION_MINOR="3"
1843 if test "$LLVM_VERSION_INT" -lt "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}"; then
1844 AC_MSG_ERROR([LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR or newer is required for $1])
1846 if test true && $LLVM_CONFIG --targets-built | grep -qvw 'R600' ; then
1847 AC_MSG_ERROR([LLVM R600 Target not enabled. You can enable it when building the LLVM
1848 sources with the --enable-experimental-targets=R600
1851 LLVM_COMPONENTS="${LLVM_COMPONENTS} r600 bitreader ipo"
1852 NEED_RADEON_LLVM=yes
1853 AC_CHECK_LIB([elf], [elf_memory], [ELF_LIB=-lelf],
1854 [AC_MSG_ERROR([$1 requires libelf when using LLVM])])
1858 if test "x$enable_dri" = xyes -o "x$enable_xa" = xyes -o \
1859 "x$enable_xvmc" = xyes -o "x$enable_vdpau" = xyes; then
1860 NEED_NONNULL_WINSYS=yes
1862 AM_CONDITIONAL(NEED_NONNULL_WINSYS, test "x$NEED_NONNULL_WINSYS" = xyes)
1864 dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this block
1865 if test -n "$with_gallium_drivers"; then
1866 gallium_drivers=`IFS=', '; echo $with_gallium_drivers`
1867 for driver in $gallium_drivers; do
1870 HAVE_GALLIUM_SVGA=yes
1871 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga softpipe"
1872 gallium_require_drm_loader
1873 gallium_check_st "svga/drm" "dri-vmwgfx" ""
1876 HAVE_GALLIUM_I915=yes
1877 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1878 gallium_require_drm_loader
1879 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915 softpipe"
1880 if test "x$MESA_LLVM" = x1; then
1881 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1883 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1884 gallium_check_st "i915/drm" "dri-i915"
1885 DRICOMMON_NEED_LIBDRM=yes
1888 HAVE_GALLIUM_ILO=yes
1889 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1890 gallium_require_drm_loader
1891 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS ilo"
1892 gallium_check_st "intel/drm" "dri-ilo"
1893 DRICOMMON_NEED_LIBDRM=yes
1896 HAVE_GALLIUM_R300=yes
1897 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1898 gallium_require_drm_loader
1899 gallium_require_llvm "Gallium R300"
1900 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
1901 gallium_check_st "radeon/drm" "r300/dri" "" "" ""
1902 DRICOMMON_NEED_LIBDRM=yes
1905 HAVE_GALLIUM_R600=yes
1906 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1907 gallium_require_drm_loader
1908 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
1909 if test "x$enable_r600_llvm" = xyes -o "x$enable_opencl" = xyes; then
1910 radeon_llvm_check "r600g"
1911 LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
1913 if test "x$enable_r600_llvm" = xyes; then
1914 USE_R600_LLVM_COMPILER=yes;
1916 if test "x$enable_opencl" = xyes; then
1917 LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
1919 gallium_check_st "radeon/drm" "r600/dri" "" "r600/xvmc" "r600/vdpau" "r600/omx"
1920 DRICOMMON_NEED_LIBDRM=yes
1923 HAVE_GALLIUM_RADEONSI=yes
1924 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1925 gallium_require_drm_loader
1926 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS radeonsi"
1927 radeon_llvm_check "radeonsi"
1928 require_egl_drm "radeonsi"
1929 gallium_check_st "radeon/drm" "radeonsi/dri" "" "" "radeonsi/vdpau" "radeonsi/omx"
1930 DRICOMMON_NEED_LIBDRM=yes
1933 HAVE_GALLIUM_NOUVEAU=yes
1934 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
1935 gallium_require_drm_loader
1936 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau"
1937 gallium_check_st "nouveau/drm" "dri-nouveau" "" "xvmc-nouveau" "vdpau-nouveau" "omx-nouveau"
1938 DRICOMMON_NEED_LIBDRM=yes
1941 HAVE_GALLIUM_FREEDRENO=yes
1942 PKG_CHECK_MODULES([FREEDRENO], [libdrm_freedreno >= $LIBDRM_FREEDRENO_REQUIRED])
1943 gallium_require_drm_loader
1944 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS freedreno"
1945 gallium_check_st "freedreno/drm" "dri-freedreno" "" "" ""
1946 DRICOMMON_NEED_LIBDRM=yes
1949 HAVE_GALLIUM_SOFTPIPE=yes
1950 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS softpipe"
1951 if test "x$MESA_LLVM" = x1; then
1952 HAVE_GALLIUM_LLVMPIPE=yes
1953 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1956 if test "x$enable_dri" = xyes; then
1957 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast"
1961 AC_MSG_ERROR([Unknown Gallium driver: $driver])
1967 dnl Set LLVM_LIBS - This is done after the driver configuration so
1968 dnl that drivers can add additonal components to LLVM_COMPONENTS.
1969 dnl Previously, gallium drivers were updating LLVM_LIBS directly
1970 dnl by calling llvm-config --libs ${DRIVER_LLVM_COMPONENTS}, but
1971 dnl this was causing the same libraries to be appear multiple times
1974 if test "x$MESA_LLVM" != x0; then
1976 LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`"
1978 if test "x$enable_llvm_shared_libs" = xyes; then
1979 dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
1980 LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
1981 AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.so"], [llvm_have_one_so=yes])
1983 if test "x$llvm_have_one_so" = xyes; then
1984 dnl LLVM was built using auto*, so there is only one shared object.
1985 LLVM_LIBS="-l$LLVM_SO_NAME"
1987 dnl If LLVM was built with CMake, there will be one shared object per
1989 AS_IF([test ! -f "$LLVM_LIBDIR/libLLVMTarget.so"],
1990 [AC_MSG_ERROR([Could not find llvm shared libraries:
1991 Please make sure you have built llvm with the --enable-shared option
1992 and that your llvm libraries are installed in $LLVM_LIBDIR
1993 If you have installed your llvm libraries to a different directory you
1994 can use the --with-llvm-prefix= configure flag to specify this directory.
1995 NOTE: Mesa is attempting to use llvm shared libraries by default.
1996 If you do not want to build with llvm shared libraries and instead want to
1997 use llvm static libraries then add --disable-llvm-shared-libs to your configure
1998 invocation and rebuild.])])
2000 dnl We don't need to update LLVM_LIBS in this case because the LLVM
2001 dnl install uses a shared object for each compoenent and we have
2002 dnl already added all of these objects to LLVM_LIBS.
2005 AC_MSG_WARN([Building mesa with staticly linked LLVM may cause compilation issues])
2009 AM_CONDITIONAL(HAVE_GALLIUM_SVGA, test "x$HAVE_GALLIUM_SVGA" = xyes)
2010 AM_CONDITIONAL(HAVE_GALLIUM_I915, test "x$HAVE_GALLIUM_I915" = xyes)
2011 AM_CONDITIONAL(HAVE_GALLIUM_ILO, test "x$HAVE_GALLIUM_ILO" = xyes)
2012 AM_CONDITIONAL(HAVE_GALLIUM_R300, test "x$HAVE_GALLIUM_R300" = xyes)
2013 AM_CONDITIONAL(HAVE_GALLIUM_R600, test "x$HAVE_GALLIUM_R600" = xyes)
2014 AM_CONDITIONAL(HAVE_GALLIUM_RADEONSI, test "x$HAVE_GALLIUM_RADEONSI" = xyes)
2015 AM_CONDITIONAL(HAVE_GALLIUM_RADEON_COMMON, test "x$HAVE_GALLIUM_R600" = xyes -o \
2016 "x$HAVE_GALLIUM_RADEONSI" = xyes)
2017 AM_CONDITIONAL(HAVE_GALLIUM_NOUVEAU, test "x$HAVE_GALLIUM_NOUVEAU" = xyes)
2018 AM_CONDITIONAL(HAVE_GALLIUM_FREEDRENO, test "x$HAVE_GALLIUM_FREEDRENO" = xyes)
2019 AM_CONDITIONAL(HAVE_GALLIUM_SOFTPIPE, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes)
2020 AM_CONDITIONAL(HAVE_GALLIUM_LLVMPIPE, test "x$HAVE_GALLIUM_LLVMPIPE" = xyes)
2022 AM_CONDITIONAL(NEED_GALLIUM_SOFTPIPE_DRIVER, test "x$HAVE_GALLIUM_SVGA" = xyes -o \
2023 "x$HAVE_GALLIUM_I915" = xyes -o \
2024 "x$HAVE_GALLIUM_SOFTPIPE" = xyes)
2025 AM_CONDITIONAL(NEED_GALLIUM_LLVMPIPE_DRIVER, test "x$HAVE_GALLIUM_I915" = xyes -o \
2026 "x$HAVE_GALLIUM_SOFTPIPE" = xyes \
2027 && test "x$MESA_LLVM" = x1)
2029 # NOTE: anything using xcb or other client side libs ends up in separate
2030 # _CLIENT variables. The pipe loader is built in two variants,
2031 # one that is standalone and does not link any x client libs (for
2032 # use by XA tracker in particular, but could be used in any case
2033 # where communication with xserver is not desired).
2034 if test "x$enable_gallium_loader" = xyes; then
2035 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/null"
2037 if test "x$NEED_WINSYS_XLIB" = xyes; then
2038 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_XLIB"
2041 if test "x$enable_dri" = xyes; then
2042 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_DRI"
2045 if test "x$enable_gallium_drm_loader" = xyes; then
2046 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_DRM"
2047 PKG_CHECK_MODULES([GALLIUM_PIPE_LOADER_XCB], [xcb xcb-dri2],
2048 pipe_loader_have_xcb=yes, pipe_loader_have_xcb=no)
2049 if test "x$pipe_loader_have_xcb" = xyes; then
2050 GALLIUM_PIPE_LOADER_CLIENT_DEFINES="$GALLIUM_PIPE_LOADER_CLIENT_DEFINES -DHAVE_PIPE_LOADER_XCB"
2051 GALLIUM_PIPE_LOADER_CLIENT_LIBS="$GALLIUM_PIPE_LOADER_CLIENT_LIBS $GALLIUM_PIPE_LOADER_XCB_LIBS $LIBDRM_LIBS"
2055 GALLIUM_PIPE_LOADER_CLIENT_DEFINES="$GALLIUM_PIPE_LOADER_CLIENT_DEFINES $GALLIUM_PIPE_LOADER_DEFINES"
2056 GALLIUM_PIPE_LOADER_CLIENT_LIBS="$GALLIUM_PIPE_LOADER_CLIENT_LIBS $GALLIUM_PIPE_LOADER_LIBS"
2058 AC_SUBST([GALLIUM_PIPE_LOADER_DEFINES])
2059 AC_SUBST([GALLIUM_PIPE_LOADER_LIBS])
2060 AC_SUBST([GALLIUM_PIPE_LOADER_CLIENT_DEFINES])
2061 AC_SUBST([GALLIUM_PIPE_LOADER_CLIENT_LIBS])
2064 AM_CONDITIONAL(HAVE_I915_DRI, test x$HAVE_I915_DRI = xyes)
2065 AM_CONDITIONAL(HAVE_I965_DRI, test x$HAVE_I965_DRI = xyes)
2066 AM_CONDITIONAL(HAVE_NOUVEAU_DRI, test x$HAVE_NOUVEAU_DRI = xyes)
2067 AM_CONDITIONAL(HAVE_R200_DRI, test x$HAVE_R200_DRI = xyes)
2068 AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes)
2069 AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes)
2071 AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$NEED_NONNULL_WINSYS" = xyes -a \
2072 "x$HAVE_GALLIUM_R300" = xyes -o \
2073 "x$HAVE_GALLIUM_R600" = xyes -o \
2074 "x$HAVE_GALLIUM_RADEONSI" = xyes)
2075 AM_CONDITIONAL(NEED_WINSYS_WRAPPER, test "x$HAVE_GALLIUM_I915" = xyes -o \
2076 "x$HAVE_GALLIUM_SVGA" = xyes)
2077 AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$NEED_WINSYS_XLIB" = xyes)
2078 AM_CONDITIONAL(NEED_RADEON_LLVM, test x$NEED_RADEON_LLVM = xyes)
2079 AM_CONDITIONAL(USE_R600_LLVM_COMPILER, test x$USE_R600_LLVM_COMPILER = xyes)
2080 AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes)
2081 AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes)
2082 AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
2083 AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1)
2087 AM_CONDITIONAL(DRICOMMON_NEED_LIBDRM, test "x$DRICOMMON_NEED_LIBDRM" = xyes)
2088 AM_CONDITIONAL(HAVE_LIBDRM, test "x$have_libdrm" = xyes)
2089 AM_CONDITIONAL(HAVE_X11_DRIVER, test "x$enable_xlib_glx" = xyes)
2090 AM_CONDITIONAL(HAVE_OSMESA, test "x$enable_osmesa" = xyes)
2091 AM_CONDITIONAL(HAVE_GALLIUM_OSMESA, test "x$enable_gallium_osmesa" = xyes)
2093 AM_CONDITIONAL(HAVE_X86_ASM, test "x$asm_arch" = xx86 -o "x$asm_arch" = xx86_64)
2094 AM_CONDITIONAL(HAVE_X86_64_ASM, test "x$asm_arch" = xx86_64)
2095 AM_CONDITIONAL(HAVE_SPARC_ASM, test "x$asm_arch" = xsparc)
2097 AC_SUBST([VDPAU_MAJOR], 1)
2098 AC_SUBST([VDPAU_MINOR], 0)
2100 AC_SUBST([XVMC_MAJOR], 1)
2101 AC_SUBST([XVMC_MINOR], 0)
2103 XA_HEADER="$srcdir/src/gallium/state_trackers/xa/xa_tracker.h"
2104 XA_MAJOR=`grep "#define XA_TRACKER_VERSION_MAJOR" $XA_HEADER | $SED 's/^#define XA_TRACKER_VERSION_MAJOR //'`
2105 XA_MINOR=`grep "#define XA_TRACKER_VERSION_MINOR" $XA_HEADER | $SED 's/^#define XA_TRACKER_VERSION_MINOR //'`
2106 XA_TINY=`grep "#define XA_TRACKER_VERSION_PATCH" $XA_HEADER | $SED 's/^#define XA_TRACKER_VERSION_PATCH //'`
2108 AC_SUBST([XA_MAJOR], $XA_MAJOR)
2109 AC_SUBST([XA_MINOR], $XA_MINOR)
2110 AC_SUBST([XA_TINY], $XA_TINY)
2111 AC_SUBST([XA_VERSION], "$XA_MAJOR.$XA_MINOR.$XA_TINY")
2113 dnl Restore LDFLAGS and CPPFLAGS
2114 LDFLAGS="$_SAVE_LDFLAGS"
2115 CPPFLAGS="$_SAVE_CPPFLAGS"
2117 dnl Suppress clang's warnings about unused CFLAGS and CXXFLAGS
2118 if test "x$acv_mesa_CLANG" = xyes; then
2119 CFLAGS="$CFLAGS -Qunused-arguments"
2120 CXXFLAGS="$CXXFLAGS -Qunused-arguments"
2123 dnl Add user CFLAGS and CXXFLAGS
2124 CFLAGS="$CFLAGS $USER_CFLAGS"
2125 CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
2127 dnl Substitute the config
2128 AC_CONFIG_FILES([Makefile
2130 src/egl/drivers/dri2/Makefile
2131 src/egl/main/Makefile
2133 src/egl/wayland/Makefile
2134 src/egl/wayland/wayland-drm/Makefile
2135 src/egl/wayland/wayland-egl/Makefile
2136 src/egl/wayland/wayland-egl/wayland-egl.pc
2137 src/gallium/auxiliary/Makefile
2138 src/gallium/auxiliary/pipe-loader/Makefile
2139 src/gallium/drivers/Makefile
2140 src/gallium/drivers/freedreno/Makefile
2141 src/gallium/drivers/galahad/Makefile
2142 src/gallium/drivers/i915/Makefile
2143 src/gallium/drivers/identity/Makefile
2144 src/gallium/drivers/ilo/Makefile
2145 src/gallium/drivers/llvmpipe/Makefile
2146 src/gallium/drivers/noop/Makefile
2147 src/gallium/drivers/nouveau/Makefile
2148 src/gallium/drivers/r300/Makefile
2149 src/gallium/drivers/r600/Makefile
2150 src/gallium/drivers/radeon/Makefile
2151 src/gallium/drivers/radeonsi/Makefile
2152 src/gallium/drivers/rbug/Makefile
2153 src/gallium/drivers/softpipe/Makefile
2154 src/gallium/drivers/svga/Makefile
2155 src/gallium/drivers/trace/Makefile
2156 src/gallium/state_trackers/Makefile
2157 src/gallium/state_trackers/clover/Makefile
2158 src/gallium/state_trackers/dri/Makefile
2159 src/gallium/state_trackers/dri/drm/Makefile
2160 src/gallium/state_trackers/dri/sw/Makefile
2161 src/gallium/state_trackers/egl/Makefile
2162 src/gallium/state_trackers/gbm/Makefile
2163 src/gallium/state_trackers/glx/xlib/Makefile
2164 src/gallium/state_trackers/omx/Makefile
2165 src/gallium/state_trackers/osmesa/Makefile
2166 src/gallium/state_trackers/vdpau/Makefile
2167 src/gallium/state_trackers/vega/Makefile
2168 src/gallium/state_trackers/xa/Makefile
2169 src/gallium/state_trackers/xvmc/Makefile
2170 src/gallium/targets/Makefile
2171 src/gallium/targets/dri-freedreno/Makefile
2172 src/gallium/targets/dri-i915/Makefile
2173 src/gallium/targets/dri-ilo/Makefile
2174 src/gallium/targets/dri-nouveau/Makefile
2175 src/gallium/targets/dri-swrast/Makefile
2176 src/gallium/targets/dri-vmwgfx/Makefile
2177 src/gallium/targets/egl-static/Makefile
2178 src/gallium/targets/gbm/Makefile
2179 src/gallium/targets/opencl/Makefile
2180 src/gallium/targets/xa/Makefile
2181 src/gallium/targets/xa/xatracker.pc
2182 src/gallium/targets/omx-nouveau/Makefile
2183 src/gallium/targets/osmesa/Makefile
2184 src/gallium/targets/osmesa/osmesa.pc
2185 src/gallium/targets/pipe-loader/Makefile
2186 src/gallium/targets/radeonsi/dri/Makefile
2187 src/gallium/targets/radeonsi/omx/Makefile
2188 src/gallium/targets/radeonsi/vdpau/Makefile
2189 src/gallium/targets/r300/dri/Makefile
2190 src/gallium/targets/r600/dri/Makefile
2191 src/gallium/targets/r600/omx/Makefile
2192 src/gallium/targets/r600/vdpau/Makefile
2193 src/gallium/targets/r600/xvmc/Makefile
2194 src/gallium/targets/libgl-xlib/Makefile
2195 src/gallium/targets/vdpau-nouveau/Makefile
2196 src/gallium/targets/xvmc-nouveau/Makefile
2197 src/gallium/tests/trivial/Makefile
2198 src/gallium/tests/unit/Makefile
2199 src/gallium/winsys/Makefile
2200 src/gallium/winsys/freedreno/drm/Makefile
2201 src/gallium/winsys/i915/drm/Makefile
2202 src/gallium/winsys/i915/sw/Makefile
2203 src/gallium/winsys/intel/drm/Makefile
2204 src/gallium/winsys/nouveau/drm/Makefile
2205 src/gallium/winsys/radeon/drm/Makefile
2206 src/gallium/winsys/svga/drm/Makefile
2207 src/gallium/winsys/sw/dri/Makefile
2208 src/gallium/winsys/sw/fbdev/Makefile
2209 src/gallium/winsys/sw/null/Makefile
2210 src/gallium/winsys/sw/wayland/Makefile
2211 src/gallium/winsys/sw/wrapper/Makefile
2212 src/gallium/winsys/sw/xlib/Makefile
2217 src/glx/tests/Makefile
2221 src/mapi/es1api/Makefile
2222 src/mapi/es1api/glesv1_cm.pc
2223 src/mapi/es2api/Makefile
2224 src/mapi/es2api/glesv2.pc
2225 src/mapi/glapi/Makefile
2226 src/mapi/glapi/gen/Makefile
2227 src/mapi/glapi/tests/Makefile
2228 src/mapi/shared-glapi/Makefile
2229 src/mapi/shared-glapi/tests/Makefile
2230 src/mapi/vgapi/Makefile
2231 src/mapi/vgapi/vg.pc
2234 src/mesa/drivers/dri/dri.pc
2235 src/mesa/drivers/dri/common/Makefile
2236 src/mesa/drivers/dri/common/xmlpool/Makefile
2237 src/mesa/drivers/dri/i915/Makefile
2238 src/mesa/drivers/dri/i965/Makefile
2239 src/mesa/drivers/dri/Makefile
2240 src/mesa/drivers/dri/nouveau/Makefile
2241 src/mesa/drivers/dri/r200/Makefile
2242 src/mesa/drivers/dri/radeon/Makefile
2243 src/mesa/drivers/dri/swrast/Makefile
2244 src/mesa/drivers/osmesa/Makefile
2245 src/mesa/drivers/osmesa/osmesa.pc
2246 src/mesa/drivers/x11/Makefile
2247 src/mesa/main/tests/Makefile
2248 src/mesa/main/tests/hash_table/Makefile])
2250 dnl Sort the dirs alphabetically
2251 GALLIUM_TARGET_DIRS=`echo $GALLIUM_TARGET_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2252 GALLIUM_WINSYS_DIRS=`echo $GALLIUM_WINSYS_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2253 GALLIUM_DRIVERS_DIRS=`echo $GALLIUM_DRIVERS_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2254 GALLIUM_STATE_TRACKERS_DIRS=`echo $GALLIUM_STATE_TRACKERS_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2259 dnl Output some configuration info for the user
2262 echo " prefix: $prefix"
2263 echo " exec_prefix: $exec_prefix"
2264 echo " libdir: $libdir"
2265 echo " includedir: $includedir"
2269 echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
2270 echo " OpenVG: $enable_openvg"
2274 case "x$enable_osmesa$enable_gallium_osmesa" in
2276 echo " OSMesa: lib$OSMESA_LIB (Gallium)"
2279 echo " OSMesa: lib$OSMESA_LIB"
2286 if test "x$enable_dri" != xno; then
2287 if test -z "$DRI_DIRS"; then
2288 echo " DRI drivers: no"
2290 echo " DRI drivers: $DRI_DIRS"
2292 echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
2295 case "x$enable_glx$enable_xlib_glx" in
2297 echo " GLX: Xlib-based"
2300 echo " GLX: DRI-based"
2303 echo " GLX: $enable_glx"
2309 echo " EGL: $enable_egl"
2310 if test "$enable_egl" = yes; then
2311 echo " EGL platforms: $egl_platforms"
2314 if test "x$HAVE_EGL_DRIVER_DRI2" != "x"; then
2315 egl_drivers="$egl_drivers builtin:egl_dri2"
2318 if test "x$enable_gallium_egl" = xyes; then
2319 echo " EGL drivers: ${egl_drivers} egl_gallium"
2320 echo " EGL Gallium STs:$EGL_CLIENT_APIS"
2322 echo " EGL drivers: $egl_drivers"
2327 if test "x$MESA_LLVM" = x1; then
2329 echo " llvm-config: $LLVM_CONFIG"
2330 echo " llvm-version: $LLVM_VERSION"
2336 if test -n "$with_gallium_drivers"; then
2337 echo " Gallium: yes"
2338 echo " Target dirs: $GALLIUM_TARGET_DIRS"
2339 echo " Winsys dirs: $GALLIUM_WINSYS_DIRS"
2340 echo " Driver dirs: $GALLIUM_DRIVERS_DIRS"
2341 echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS"
2349 echo " Shared libs: $enable_shared"
2350 echo " Static libs: $enable_static"
2351 echo " Shared-glapi: $enable_shared_glapi"
2353 dnl Compiler options
2354 # cleanup the CFLAGS/CXXFLAGS/DEFINES vars
2355 cflags=`echo $CFLAGS | \
2356 $SED 's/^ *//;s/ */ /;s/ *$//'`
2357 cxxflags=`echo $CXXFLAGS | \
2358 $SED 's/^ *//;s/ */ /;s/ *$//'`
2359 defines=`echo $DEFINES | $SED 's/^ *//;s/ */ /;s/ *$//'`
2361 echo " CFLAGS: $cflags"
2362 echo " CXXFLAGS: $cxxflags"
2363 echo " Macros: $defines"
2365 if test "x$MESA_LLVM" = x1; then
2366 echo " LLVM_CFLAGS: $LLVM_CFLAGS"
2367 echo " LLVM_CXXFLAGS: $LLVM_CXXFLAGS"
2368 echo " LLVM_CPPFLAGS: $LLVM_CPPFLAGS"
2371 echo " PYTHON2: $PYTHON2"
2374 echo " Run '${MAKE-make}' to build Mesa"