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.50
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
290 AC_MSG_WARN([Messa build supports only shared libraries, enabling shared])
297 dnl other compiler options
299 AC_ARG_ENABLE([debug],
300 [AS_HELP_STRING([--enable-debug],
301 [use debug compiler flags and macros @<:@default=disabled@:>@])],
302 [enable_debug="$enableval"],
305 if test "x$enable_debug" = xyes; then
306 DEFINES="$DEFINES -DDEBUG"
307 if test "x$GCC" = xyes; then
308 CFLAGS="$CFLAGS -g -O0"
310 if test "x$GXX" = xyes; then
311 CXXFLAGS="$CXXFLAGS -g -O0"
316 dnl compatibility symlinks
320 HAVE_COMPAT_SYMLINKS=yes ;;
322 HAVE_COMPAT_SYMLINKS=no ;;
325 AM_CONDITIONAL(HAVE_COMPAT_SYMLINKS, test "x$HAVE_COMPAT_SYMLINKS" = xyes)
343 AC_ARG_WITH([gl-lib-name],
344 [AS_HELP_STRING([--with-gl-lib-name@<:@=NAME@:>@],
345 [specify GL library name @<:@default=GL@:>@])],
348 AC_ARG_WITH([osmesa-lib-name],
349 [AS_HELP_STRING([--with-osmesa-lib-name@<:@=NAME@:>@],
350 [specify OSMesa library name @<:@default=OSMesa@:>@])],
351 [OSMESA_LIB=$withval],
353 AS_IF([test "x$GL_LIB" = xyes], [GL_LIB=GL])
354 AS_IF([test "x$OSMESA_LIB" = xyes], [OSMESA_LIB=OSMesa])
357 dnl Mangled Mesa support
359 AC_ARG_ENABLE([mangling],
360 [AS_HELP_STRING([--enable-mangling],
361 [enable mangled symbols and library name @<:@default=disabled@:>@])],
362 [enable_mangling="${enableval}"],
365 if test "x${enable_mangling}" = "xyes" ; then
366 DEFINES="${DEFINES} -DUSE_MGL_NAMESPACE"
367 GL_LIB="Mangled${GL_LIB}"
368 OSMESA_LIB="Mangled${OSMESA_LIB}"
371 AC_SUBST([OSMESA_LIB])
374 dnl potentially-infringing-but-nobody-knows-for-sure stuff
376 AC_ARG_ENABLE([texture-float],
377 [AS_HELP_STRING([--enable-texture-float],
378 [enable floating-point textures and renderbuffers @<:@default=disabled@:>@])],
379 [enable_texture_float="$enableval"],
380 [enable_texture_float=no]
382 if test "x$enable_texture_float" = xyes; then
383 AC_MSG_WARN([Floating-point textures enabled.])
384 AC_MSG_WARN([Please consult docs/patents.txt with your lawyer before building Mesa.])
385 DEFINES="$DEFINES -DTEXTURE_FLOAT_ENABLED"
389 dnl Arch/platform-specific settings
392 [AS_HELP_STRING([--disable-asm],
393 [disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
394 [enable_asm="$enableval"],
398 AC_MSG_CHECKING([whether to enable assembly])
399 test "x$enable_asm" = xno && AC_MSG_RESULT([no])
400 # disable if cross compiling on x86/x86_64 since we must run gen_matypes
401 if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
403 i?86 | x86_64 | amd64)
405 AC_MSG_RESULT([no, cross compiling])
409 # check for supported arches
410 if test "x$enable_asm" = xyes; then
414 linux* | *freebsd* | dragonfly* | *netbsd* | openbsd*)
415 test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86
424 linux* | *freebsd* | dragonfly* | *netbsd* | openbsd*)
425 test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
440 DEFINES="$DEFINES -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
441 AC_MSG_RESULT([yes, x86])
444 DEFINES="$DEFINES -DUSE_X86_64_ASM"
445 AC_MSG_RESULT([yes, x86_64])
448 DEFINES="$DEFINES -DUSE_SPARC_ASM"
449 AC_MSG_RESULT([yes, sparc])
452 AC_MSG_RESULT([no, platform not supported])
457 dnl Check to see if dlopen is in default libraries (like Solaris, which
458 dnl has it in libc), or if libdl is needed to get it.
459 AC_CHECK_FUNC([dlopen], [DEFINES="$DEFINES -DHAVE_DLOPEN"],
460 [AC_CHECK_LIB([dl], [dlopen],
461 [DEFINES="$DEFINES -DHAVE_DLOPEN"; DLOPEN_LIBS="-ldl"])])
462 AC_SUBST([DLOPEN_LIBS])
468 AC_CHECK_FUNCS([clock_gettime], [CLOCK_LIB=],
469 [AC_CHECK_LIB([rt], [clock_gettime], [CLOCK_LIB=-lrt],
470 [AC_MSG_ERROR([Couldn't find clock_gettime])])])
471 AC_SUBST([CLOCK_LIB])
475 dnl See if posix_memalign is available
476 AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
478 dnl Check for pthreads
480 dnl AX_PTHREADS leaves PTHREAD_LIBS empty for gcc and sets PTHREAD_CFLAGS
481 dnl to -pthread, which causes problems if we need -lpthread to appear in
483 test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread"
485 dnl SELinux awareness.
486 AC_ARG_ENABLE([selinux],
487 [AS_HELP_STRING([--enable-selinux],
488 [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
489 [MESA_SELINUX="$enableval"],
491 if test "x$enable_selinux" = "xyes"; then
492 PKG_CHECK_MODULES([SELINUX], [libselinux], [],
493 [AC_CHECK_HEADER([selinux/selinux.h],[],
494 [AC_MSG_ERROR([SELinux headers not found])])
495 AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
496 [AC_MSG_ERROR([SELinux library not found])])
497 SELINUX_LIBS="-lselinux"])
498 DEFINES="$DEFINES -DMESA_SELINUX"
500 AC_SUBST([SELINUX_CFLAGS])
501 AC_SUBST([SELINUX_LIBS])
504 AC_ARG_ENABLE([opengl],
505 [AS_HELP_STRING([--disable-opengl],
506 [disable support for standard OpenGL API @<:@default=no@:>@])],
507 [enable_opengl="$enableval"],
509 AC_ARG_ENABLE([gles1],
510 [AS_HELP_STRING([--enable-gles1],
511 [enable support for OpenGL ES 1.x API @<:@default=no@:>@])],
512 [enable_gles1="$enableval"],
514 AC_ARG_ENABLE([gles2],
515 [AS_HELP_STRING([--enable-gles2],
516 [enable support for OpenGL ES 2.x API @<:@default=no@:>@])],
517 [enable_gles2="$enableval"],
519 AC_ARG_ENABLE([openvg],
520 [AS_HELP_STRING([--enable-openvg],
521 [enable support for OpenVG API @<:@default=no@:>@])],
522 [enable_openvg="$enableval"],
526 [AS_HELP_STRING([--enable-dri],
527 [enable DRI modules @<:@default=enabled@:>@])],
528 [enable_dri="$enableval"],
530 AC_ARG_ENABLE([dri3],
531 [AS_HELP_STRING([--enable-dri3],
532 [enable DRI3 @<:@default=enabled@:>@])],
533 [enable_dri3="$enableval"],
536 [AS_HELP_STRING([--enable-glx],
537 [enable GLX library @<:@default=enabled@:>@])],
538 [enable_glx="$enableval"],
540 AC_ARG_ENABLE([osmesa],
541 [AS_HELP_STRING([--enable-osmesa],
542 [enable OSMesa library @<:@default=disabled@:>@])],
543 [enable_osmesa="$enableval"],
545 AC_ARG_ENABLE([gallium-osmesa],
546 [AS_HELP_STRING([--enable-gallium-osmesa],
547 [enable Gallium implementation of the OSMesa library @<:@default=disabled@:>@])],
548 [enable_gallium_osmesa="$enableval"],
549 [enable_gallium_osmesa=no])
551 [AS_HELP_STRING([--disable-egl],
552 [disable EGL library @<:@default=enabled@:>@])],
553 [enable_egl="$enableval"],
557 [AS_HELP_STRING([--enable-xa],
558 [enable build of the XA X Acceleration API @<:@default=no@:>@])],
559 [enable_xa="$enableval"],
562 [AS_HELP_STRING([--enable-gbm],
563 [enable gbm library @<:@default=auto@:>@])],
564 [enable_gbm="$enableval"],
567 AC_ARG_ENABLE([xvmc],
568 [AS_HELP_STRING([--enable-xvmc],
569 [enable xvmc library @<:@default=auto@:>@])],
570 [enable_xvmc="$enableval"],
572 AC_ARG_ENABLE([vdpau],
573 [AS_HELP_STRING([--enable-vdpau],
574 [enable vdpau library @<:@default=auto@:>@])],
575 [enable_vdpau="$enableval"],
578 [AS_HELP_STRING([--enable-omx],
579 [enable OpenMAX library @<:@default=no@:>@])],
580 [enable_omx="$enableval"],
582 AC_ARG_ENABLE([opencl],
583 [AS_HELP_STRING([--enable-opencl],
584 [enable OpenCL library @<:@default=no@:>@])],
585 [enable_opencl="$enableval"],
587 AC_ARG_ENABLE([opencl_icd],
588 [AS_HELP_STRING([--enable-opencl-icd],
589 [Build an OpenCL ICD library to be loaded by an ICD implementation
590 @<:@default=no@:>@])],
591 [enable_opencl_icd="$enableval"],
592 [enable_opencl_icd=no])
593 AC_ARG_ENABLE([xlib-glx],
594 [AS_HELP_STRING([--enable-xlib-glx],
595 [make GLX library Xlib-based instead of DRI-based @<:@default=disabled@:>@])],
596 [enable_xlib_glx="$enableval"],
597 [enable_xlib_glx=no])
598 AC_ARG_ENABLE([gallium-egl],
599 [AS_HELP_STRING([--enable-gallium-egl],
600 [enable optional EGL state tracker (not required
601 for EGL support in Gallium with OpenGL and OpenGL ES)
602 @<:@default=disable@:>@])],
603 [enable_gallium_egl="$enableval"],
604 [enable_gallium_egl=no])
605 AC_ARG_ENABLE([gallium-gbm],
606 [AS_HELP_STRING([--enable-gallium-gbm],
607 [enable optional gbm state tracker (not required for
608 gbm support in Gallium)
609 @<:@default=auto@:>@])],
610 [enable_gallium_gbm="$enableval"],
611 [enable_gallium_gbm=auto])
613 AC_ARG_ENABLE([r600-llvm-compiler],
614 [AS_HELP_STRING([--enable-r600-llvm-compiler],
615 [Enable experimental LLVM backend for graphics shaders @<:@default=disable@:>@])],
616 [enable_r600_llvm="$enableval"],
617 [enable_r600_llvm=no])
619 AC_ARG_ENABLE([gallium-tests],
620 [AS_HELP_STRING([--enable-gallium-tests],
621 [Enable optional Gallium tests) @<:@default=disable@:>@])],
622 [enable_gallium_tests="$enableval"],
623 [enable_gallium_tests=no])
625 # Option for Gallium drivers
627 # Keep this in sync with the --with-gallium-drivers help string default value
628 GALLIUM_DRIVERS_DEFAULT="r300,r600,svga,swrast"
630 AC_ARG_WITH([gallium-drivers],
631 [AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@],
632 [comma delimited Gallium drivers list, e.g.
633 "i915,ilo,nouveau,r300,r600,radeonsi,freedreno,svga,swrast"
634 @<:@default=r300,r600,svga,swrast@:>@])],
635 [with_gallium_drivers="$withval"],
636 [with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"])
638 # Doing '--without-gallium-drivers' will set this variable to 'no'. Clear it
639 # here so that the script doesn't choke on an unknown driver name later.
640 case "$with_gallium_drivers" in
641 yes) with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT" ;;
642 no) with_gallium_drivers='' ;;
645 if test "x$enable_opengl" = xno -a \
646 "x$enable_gles1" = xno -a \
647 "x$enable_gles2" = xno -a \
648 "x$enable_openvg" = xno -a \
649 "x$enable_xa" = xno -a \
650 "x$enable_xvmc" = xno -a \
651 "x$enable_vdpau" = xno -a \
652 "x$enable_omx" = xno -a \
653 "x$enable_opencl" = xno; then
654 AC_MSG_ERROR([at least one API should be enabled])
657 # Building OpenGL ES1 and/or ES2 without OpenGL is not supported on mesa 9.0.x
658 if test "x$enable_opengl" = xno -a \
659 "x$enable_gles1" = xyes; then
660 AC_MSG_ERROR([Building OpenGL ES1 without OpenGL is not supported])
663 if test "x$enable_opengl" = xno -a \
664 "x$enable_gles2" = xyes; then
665 AC_MSG_ERROR([Building OpenGL ES2 without OpenGL is not supported])
668 AM_CONDITIONAL(HAVE_OPENGL, test "x$enable_opengl" = xyes)
669 AM_CONDITIONAL(HAVE_OPENGL_ES1, test "x$enable_gles1" = xyes)
670 AM_CONDITIONAL(HAVE_OPENGL_ES2, test "x$enable_gles2" = xyes)
671 AM_CONDITIONAL(NEED_OPENGL_COMMON, test "x$enable_opengl" = xyes -o \
672 "x$enable_gles1" = xyes -o \
673 "x$enable_gles2" = xyes)
675 if test "x$enable_glx" = xno; then
676 AC_MSG_WARN([GLX disabled, disabling Xlib-GLX])
680 if test "x$enable_dri$enable_xlib_glx" = xyesyes; then
681 AC_MSG_ERROR([DRI and Xlib-GLX cannot be built together])
684 if test "x$enable_opengl$enable_xlib_glx" = xnoyes; then
685 AC_MSG_ERROR([Xlib-GLX cannot be built without OpenGL])
688 # Disable GLX if OpenGL is not enabled
689 if test "x$enable_glx$enable_opengl" = xyesno; then
690 AC_MSG_WARN([OpenGL not enabled, disabling GLX])
694 # Disable GLX if DRI and Xlib-GLX are not enabled
695 if test "x$enable_glx" = xyes -a \
696 "x$enable_dri" = xno -a \
697 "x$enable_xlib_glx" = xno; then
698 AC_MSG_WARN([Neither DRI nor Xlib-GLX enabled, disabling GLX])
702 AM_CONDITIONAL(HAVE_DRI_GLX, test "x$enable_glx" = xyes -a \
703 "x$enable_dri" = xyes)
704 AM_CONDITIONAL(HAVE_DRI, test "x$enable_dri" = xyes)
705 AM_CONDITIONAL(HAVE_DRI3, test "x$enable_dri3" = xyes)
707 AC_ARG_ENABLE([shared-glapi],
708 [AS_HELP_STRING([--enable-shared-glapi],
709 [Enable shared glapi for OpenGL @<:@default=yes@:>@])],
710 [enable_shared_glapi="$enableval"],
711 [enable_shared_glapi=yes])
713 case "x$enable_opengl$enable_gles1$enable_gles2" in
715 if test "x$enable_shared_glapi" = xno; then
716 AC_MSG_ERROR([shared GLAPI required when building two or more of
717 the following APIs - opengl, gles1 gles2])
722 # Building Xlib-GLX requires shared glapi to be disabled.
723 if test "x$enable_xlib_glx" = xyes; then
724 AC_MSG_NOTICE([Shared GLAPI should not used with Xlib-GLX, disabling])
725 enable_shared_glapi=no
728 AM_CONDITIONAL(HAVE_SHARED_GLAPI, test "x$enable_shared_glapi" = xyes)
731 dnl Driver specific build directories
733 GALLIUM_TARGET_DIRS=""
734 GALLIUM_WINSYS_DIRS="sw"
735 GALLIUM_DRIVERS_DIRS="galahad trace rbug noop identity"
736 GALLIUM_STATE_TRACKERS_DIRS=""
738 case "x$enable_glx$enable_xlib_glx" in
740 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
741 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
742 GALLIUM_STATE_TRACKERS_DIRS="glx $GALLIUM_STATE_TRACKERS_DIRS"
743 NEED_WINSYS_XLIB="yes"
747 if test "x$enable_dri" = xyes; then
748 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/dri"
749 GALLIUM_STATE_TRACKERS_DIRS="dri $GALLIUM_STATE_TRACKERS_DIRS"
752 if test "x$enable_gallium_osmesa" = xyes; then
753 if test -z "$with_gallium_drivers"; then
754 AC_MSG_ERROR([Cannot enable gallium_osmesa without Gallium])
756 if test "x$enable_osmesa" = xyes; then
757 AC_MSG_ERROR([Cannot enable both classic and Gallium OSMesa implementations])
759 GALLIUM_STATE_TRACKERS_DIRS="osmesa $GALLIUM_STATE_TRACKERS_DIRS"
760 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS osmesa"
763 AC_SUBST([MESA_LLVM])
766 PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED],
767 [have_libdrm=yes], [have_libdrm=no])
768 if test "x$have_libdrm" = xyes; then
769 DEFINES="$DEFINES -DHAVE_LIBDRM"
772 PKG_CHECK_MODULES([LIBUDEV], [libudev >= $LIBUDEV_REQUIRED],
773 have_libudev=yes, have_libudev=no)
775 if test "x$enable_dri" = xyes; then
776 # not a hard requirement as swrast does not depend on it
777 if test "x$have_libdrm" = xyes; then
778 DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
782 dnl Direct rendering or just indirect rendering
785 dnl Disable by default on GNU/Hurd
786 driglx_direct_default="no"
789 dnl Disable by default on cygwin
790 driglx_direct_default="no"
793 driglx_direct_default="yes"
796 AC_ARG_ENABLE([driglx-direct],
797 [AS_HELP_STRING([--disable-driglx-direct],
798 [disable direct rendering in GLX and EGL for DRI \
799 @<:@default=auto@:>@])],
800 [driglx_direct="$enableval"],
801 [driglx_direct="$driglx_direct_default"])
804 dnl libGL configuration per driver
806 case "x$enable_glx$enable_xlib_glx" in
809 PKG_CHECK_MODULES([XLIBGL], [x11 xext])
810 GL_PC_REQ_PRIV="x11 xext"
811 X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
812 GL_LIB_DEPS="$XLIBGL_LIBS"
813 GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
814 GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm $PTHREAD_LIBS"
818 PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
819 if test x"$driglx_direct" = xyes; then
820 if test "x$have_libdrm" != xyes; then
821 AC_MSG_ERROR([Direct rendering requires libdrm >= $LIBDRM_REQUIRED])
823 PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
824 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED"
825 if test x"$enable_dri3" = xyes; then
826 if test x"$have_libudev" != xyes; then
827 AC_MSG_ERROR([DRI3 requires libudev >= $LIBUDEV_REQUIRED])
829 PKG_CHECK_MODULES([DRI3PROTO], [dri3proto >= $DRI3PROTO_REQUIRED])
830 PKG_CHECK_MODULES([PRESENTPROTO], [presentproto >= $PRESENTPROTO_REQUIRED])
834 # find the DRI deps for libGL
835 dri_modules="x11 xext xdamage xfixes x11-xcb xcb-glx >= $XCBGLX_REQUIRED xcb-dri2 >= $XCBDRI2_REQUIRED"
837 if test x"$enable_dri3" = xyes; then
838 dri_modules="$dri_modules xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED"
841 # add xf86vidmode if available
842 PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no)
843 if test "$HAVE_XF86VIDMODE" = yes ; then
844 dri_modules="$dri_modules xxf86vm"
847 PKG_CHECK_MODULES([DRIGL], [$dri_modules])
848 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
849 X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
850 GL_LIB_DEPS="$DRIGL_LIBS"
852 # need DRM libs, $PTHREAD_LIBS, etc.
853 GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
854 GL_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
858 if test "$have_libudev" = yes; then
859 DEFINES="$DEFINES -DHAVE_LIBUDEV"
862 # This is outside the case (above) so that it is invoked even for non-GLX
864 AM_CONDITIONAL(HAVE_XF86VIDMODE, test "x$HAVE_XF86VIDMODE" = xyes)
866 GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
867 GLESv1_CM_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
868 GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
869 GLESv2_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
871 AC_SUBST([X11_INCLUDES])
872 AC_SUBST([GL_LIB_DEPS])
873 AC_SUBST([GL_PC_REQ_PRIV])
874 AC_SUBST([GL_PC_LIB_PRIV])
875 AC_SUBST([GL_PC_CFLAGS])
876 AC_SUBST([DRI_PC_REQ_PRIV])
877 AC_SUBST([GLESv1_CM_LIB_DEPS])
878 AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
879 AC_SUBST([GLESv2_LIB_DEPS])
880 AC_SUBST([GLESv2_PC_LIB_PRIV])
882 AC_SUBST([HAVE_XF86VIDMODE])
887 case "x$enable_glx$enable_xlib_glx" in
889 DEFINES="$DEFINES -DUSE_XSHM"
892 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
893 if test "x$driglx_direct" = xyes; then
894 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
903 AC_ARG_ENABLE([glx-tls],
904 [AS_HELP_STRING([--enable-glx-tls],
905 [enable TLS support in GLX @<:@default=disabled@:>@])],
906 [GLX_USE_TLS="$enableval"],
908 AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
910 AS_IF([test "x$GLX_USE_TLS" = xyes -a "x$ax_pthread_ok" = xyes],
911 [DEFINES="${DEFINES} -DGLX_USE_TLS -DHAVE_PTHREAD"])
916 dnl Directory for DRI drivers
917 AC_ARG_WITH([dri-driverdir],
918 [AS_HELP_STRING([--with-dri-driverdir=DIR],
919 [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
920 [DRI_DRIVER_INSTALL_DIR="$withval"],
921 [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
922 AC_SUBST([DRI_DRIVER_INSTALL_DIR])
923 dnl Extra search path for DRI drivers
924 AC_ARG_WITH([dri-searchpath],
925 [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
926 [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
927 [DRI_DRIVER_SEARCH_DIR="$withval"],
928 [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
929 AC_SUBST([DRI_DRIVER_SEARCH_DIR])
930 dnl Which drivers to build - default is chosen by platform
931 AC_ARG_WITH([dri-drivers],
932 [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
933 [comma delimited classic DRI drivers list, e.g.
934 "swrast,i965,radeon" @<:@default=auto@:>@])],
935 [with_dri_drivers="$withval"],
936 [with_dri_drivers=auto])
938 if test "x$with_dri_drivers" = xauto; then
939 if test "x$enable_opengl" = xyes -a "x$enable_dri" = xyes; then
940 with_dri_drivers="yes"
942 with_dri_drivers="no"
945 if test "x$with_dri_drivers" = xno; then
949 dnl If $with_dri_drivers is yes, drivers will be added through
950 dnl platform checks. Set DEFINES and LIB_DEPS
951 if test "x$enable_dri" = xyes; then
952 # Platform specific settings and drivers to build
955 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
956 DEFINES="$DEFINES -DHAVE_ALIAS"
957 if test "x$enable_dri3" = xyes; then
958 DEFINES="$DEFINES -DHAVE_DRI3"
961 if test "x$have_libudev" != xyes; then
962 AC_MSG_ERROR([libudev-dev required for building DRI])
967 # Build only the drivers for cards that exist on PowerPC/sparc
968 if test "x$with_dri_drivers" = "xyes"; then
969 with_dri_drivers="r200 radeon swrast"
974 *freebsd* | dragonfly* | *netbsd* | openbsd*)
975 DEFINES="$DEFINES -DHAVE_PTHREAD -DUSE_EXTERNAL_DXTN_LIB=1"
976 DEFINES="$DEFINES -DHAVE_ALIAS"
979 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
980 DEFINES="$DEFINES -DHAVE_ALIAS"
983 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
986 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
987 if test "x$with_dri_drivers" = "xyes"; then
988 with_dri_drivers="swrast"
994 if test "x$with_dri_drivers" = "xyes"; then
995 with_dri_drivers="i915 i965 nouveau r200 radeon swrast"
999 PKG_CHECK_EXISTS([EXPAT], [have_expat=yes], [have_expat=no])
1000 if test "x$have_expat" = "xyes"; then
1001 PKG_CHECK_MODULES([EXPAT], [expat], [],
1002 AC_MSG_ERROR([Expat required for DRI.]))
1004 # expat version 2.0 and earlier do not provide expat.pc
1008 # If we are building any DRI driver other than swrast.
1009 if test -n "$with_dri_drivers"; then
1010 if test "x$with_dri_drivers" != xswrast; then
1011 # ... libdrm is required
1012 if test "x$have_libdrm" != xyes; then
1013 AC_MSG_ERROR([DRI drivers requires libdrm >= $LIBDRM_REQUIRED])
1015 DRICOMMON_NEED_LIBDRM=yes
1017 DRICOMMON_NEED_LIBDRM=no
1021 # put all the necessary libs together
1022 DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1023 GALLIUM_DRI_LIB_DEPS="$GALLIUM_DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIBS -lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
1027 AC_SUBST([DRI_LIB_DEPS])
1028 AC_SUBST([GALLIUM_DRI_LIB_DEPS])
1031 dnl Duplicates in DRI_DIRS are removed by sorting it at the end of this block
1032 if test -n "$with_dri_drivers"; then
1033 if test "x$enable_opengl" != xyes; then
1034 AC_MSG_ERROR([--with-dri-drivers requires OpenGL])
1037 dri_drivers=`IFS=', '; echo $with_dri_drivers`
1038 for driver in $dri_drivers; do
1039 DRI_DIRS="$DRI_DIRS $driver"
1043 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1047 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1050 HAVE_NOUVEAU_DRI=yes;
1051 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NVVIEUX_REQUIRED])
1054 HAVE_RADEON_DRI=yes;
1055 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1059 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1062 HAVE_SWRAST_DRI=yes;
1065 AC_MSG_ERROR([classic DRI driver '$driver' does not exist])
1069 DRI_DIRS=`echo $DRI_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
1072 AM_CONDITIONAL(NEED_MEGADRIVER, test -n "$DRI_DIRS")
1073 AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_xlib_glx" = xyes -o \
1074 "x$enable_osmesa" = xyes -o \
1078 dnl OSMesa configuration
1081 dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
1082 AC_ARG_WITH([osmesa-bits],
1083 [AS_HELP_STRING([--with-osmesa-bits=BITS],
1084 [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
1085 [osmesa_bits="$withval"],
1087 if test "x$osmesa_bits" != x8; then
1088 if test "x$enable_dri" = xyes -o "x$enable_glx" = xyes; then
1089 AC_MSG_WARN([Ignoring OSMesa channel bits because of non-OSMesa driver])
1093 case "x$osmesa_bits" in
1095 OSMESA_LIB="${OSMESA_LIB}"
1098 OSMESA_LIB="${OSMESA_LIB}$osmesa_bits"
1099 DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
1102 AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
1106 if test "x$enable_osmesa" = xyes -o "x$enable_gallium_osmesa" = xyes; then
1107 OSMESA_LIB_DEPS="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
1109 OSMESA_PC_LIB_PRIV="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
1112 AC_SUBST([OSMESA_LIB_DEPS])
1113 AC_SUBST([OSMESA_MESA_DEPS])
1114 AC_SUBST([OSMESA_PC_REQ])
1115 AC_SUBST([OSMESA_PC_LIB_PRIV])
1118 dnl gbm configuration
1120 if test "x$enable_gbm" = xauto; then
1121 case "$with_egl_platforms" in
1128 if test "x$enable_gbm" = xyes; then
1129 if test x"$have_libudev" != xyes; then
1130 AC_MSG_ERROR([gbm requires udev >= $LIBUDEV_REQUIRED])
1133 if test "x$enable_dri" = xyes; then
1134 GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri"
1135 if test "x$enable_shared_glapi" = xno; then
1136 AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi])
1140 AM_CONDITIONAL(HAVE_GBM, test "x$enable_gbm" = xyes)
1141 GBM_PC_REQ_PRIV="libudev >= $LIBUDEV_REQUIRED"
1142 GBM_PC_LIB_PRIV="$DLOPEN_LIBS"
1143 AC_SUBST([GBM_PC_REQ_PRIV])
1144 AC_SUBST([GBM_PC_LIB_PRIV])
1147 dnl EGL configuration
1151 if test "x$enable_egl" = xyes; then
1152 EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS $PTHREAD_LIBS"
1154 AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"])
1156 if test "x$enable_dri" = xyes; then
1157 HAVE_EGL_DRIVER_DRI2=1
1160 AM_CONDITIONAL(HAVE_EGL, test "x$enable_egl" = xyes)
1161 AC_SUBST([EGL_LIB_DEPS])
1164 dnl EGL Gallium configuration
1166 if test "x$enable_gallium_egl" = xyes; then
1167 if test -z "$with_gallium_drivers"; then
1168 AC_MSG_ERROR([cannot enable egl_gallium without Gallium])
1170 if test "x$enable_egl" = xno; then
1171 AC_MSG_ERROR([cannot enable egl_gallium without EGL])
1173 if test "x$have_libdrm" != xyes; then
1174 AC_MSG_ERROR([egl_gallium requires libdrm >= $LIBDRM_REQUIRED])
1177 GALLIUM_STATE_TRACKERS_DIRS="egl $GALLIUM_STATE_TRACKERS_DIRS"
1178 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl-static"
1180 AM_CONDITIONAL(HAVE_GALLIUM_EGL, test "x$enable_gallium_egl" = xyes)
1183 dnl gbm Gallium configuration
1185 if test "x$enable_gallium_gbm" = xauto; then
1186 case "$enable_gbm$enable_gallium_egl$enable_dri$with_egl_platforms" in
1188 enable_gallium_gbm=yes ;;
1190 enable_gallium_gbm=no ;;
1193 if test "x$enable_gallium_gbm" = xyes; then
1194 if test -z "$with_gallium_drivers"; then
1195 AC_MSG_ERROR([cannot enable gbm_gallium without Gallium])
1197 if test "x$enable_gbm" = xno; then
1198 AC_MSG_ERROR([cannot enable gbm_gallium without gbm])
1200 # gbm_gallium abuses DRI_LIB_DEPS to link. Make sure it is set.
1201 if test "x$enable_dri" = xno; then
1202 AC_MSG_ERROR([gbm_gallium requires --enable-dri to build])
1205 GALLIUM_STATE_TRACKERS_DIRS="gbm $GALLIUM_STATE_TRACKERS_DIRS"
1206 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS gbm"
1207 enable_gallium_loader=yes
1209 AM_CONDITIONAL(HAVE_GALLIUM_GBM, test "x$enable_gallium_gbm" = xyes)
1212 dnl XA configuration
1214 if test "x$enable_xa" = xyes; then
1215 if test "x$with_gallium_drivers" = xswrast; then
1217 Building xa requires at least one non swrast gallium driver.
1218 If you are looking to use libxatracker.so with vmware's virtual gpu,
1219 make sure to include svga in the gallium drivers list, apart from
1221 Example: ./configure --enable-xa --with-gallium-drivers=svga...])
1223 GALLIUM_STATE_TRACKERS_DIRS="xa $GALLIUM_STATE_TRACKERS_DIRS"
1224 enable_gallium_loader=yes
1226 AM_CONDITIONAL(HAVE_ST_XA, test "x$enable_xa" = xyes)
1229 dnl OpenVG configuration
1233 if test "x$enable_openvg" = xyes; then
1234 if test "x$enable_egl" = xno; then
1235 AC_MSG_ERROR([cannot enable OpenVG without EGL])
1237 if test -z "$with_gallium_drivers"; then
1238 AC_MSG_ERROR([cannot enable OpenVG without Gallium])
1240 if test "x$enable_gallium_egl" = xno; then
1241 AC_MSG_ERROR([cannot enable OpenVG without egl_gallium])
1244 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
1245 VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS $PTHREAD_LIBS"
1246 GALLIUM_STATE_TRACKERS_DIRS="vega $GALLIUM_STATE_TRACKERS_DIRS"
1247 VG_PC_LIB_PRIV="-lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
1248 AC_SUBST([VG_PC_LIB_PRIV])
1250 AM_CONDITIONAL(HAVE_OPENVG, test "x$enable_openvg" = xyes)
1253 dnl Gallium G3DVL configuration
1255 if test -n "$with_gallium_drivers"; then
1256 if test "x$enable_xvmc" = xauto; then
1257 PKG_CHECK_EXISTS([xvmc], [enable_xvmc=yes], [enable_xvmc=no])
1260 if test "x$enable_vdpau" = xauto; then
1261 PKG_CHECK_EXISTS([vdpau], [enable_vdpau=yes], [enable_vdpau=no])
1264 if test "x$enable_omx" = xauto; then
1265 PKG_CHECK_EXISTS([libomxil-bellagio], [enable_omx=yes], [enable_omx=no])
1269 if test "x$enable_xvmc" = xyes; then
1270 PKG_CHECK_MODULES([XVMC], [xvmc >= $XVMC_REQUIRED x11-xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
1271 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xvmc"
1273 AM_CONDITIONAL(HAVE_ST_XVMC, test "x$enable_xvmc" = xyes)
1275 if test "x$enable_vdpau" = xyes; then
1276 PKG_CHECK_MODULES([VDPAU], [vdpau >= $VDPAU_REQUIRED x11-xcb xcb-dri2 >= $XCBDRI2_REQUIRED],
1277 [VDPAU_LIBS="`$PKG_CONFIG --libs x11-xcb xcb-dri2`"])
1278 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS vdpau"
1280 AM_CONDITIONAL(HAVE_ST_VDPAU, test "x$enable_vdpau" = xyes)
1282 if test "x$enable_omx" = xyes; then
1283 PKG_CHECK_MODULES([OMX], [libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED x11-xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
1284 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS omx"
1286 AM_CONDITIONAL(HAVE_ST_OMX, test "x$enable_omx" = xyes)
1289 dnl OpenCL configuration
1292 AC_ARG_WITH([libclc-path],
1293 [AS_HELP_STRING([--with-libclc-path],
1294 [DEPRECATED: See http://dri.freedesktop.org/wiki/GalliumCompute#How_to_Install])],
1295 [LIBCLC_PATH="$withval"],
1298 if test -n "$LIBCLC_PATH"; then
1299 AC_MSG_ERROR([The --with-libclc-path option has been deprecated.
1300 Please review the updated build instructions for clover:
1301 http://dri.freedesktop.org/wiki/GalliumCompute])
1305 AC_ARG_WITH([clang-libdir],
1306 [AS_HELP_STRING([--with-clang-libdir],
1307 [Path to Clang libraries @<:@default=llvm-config --libdir@:>@])],
1308 [CLANG_LIBDIR="$withval"],
1311 PKG_CHECK_EXISTS([libclc], [have_libclc=yes], [have_libclc=no])
1313 if test "x$enable_opencl" = xyes; then
1314 if test -z "$with_gallium_drivers"; then
1315 AC_MSG_ERROR([cannot enable OpenCL without Gallium])
1318 if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 7; then
1319 AC_MSG_ERROR([gcc >= 4.7 is required to build clover])
1322 if test "x$have_libclc" = xno; then
1323 AC_MSG_ERROR([pkg-config cannot find libclc.pc which is required to build clover.
1324 Make sure the directory containing libclc.pc is specified in your
1325 PKG_CONFIG_PATH environment variable.
1326 By default libclc.pc is installed to /usr/local/share/pkgconfig/])
1328 LIBCLC_INCLUDEDIR=`$PKG_CONFIG --variable=includedir libclc`
1329 LIBCLC_LIBEXECDIR=`$PKG_CONFIG --variable=libexecdir libclc`
1330 AC_SUBST([LIBCLC_INCLUDEDIR])
1331 AC_SUBST([LIBCLC_LIBEXECDIR])
1334 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS clover"
1335 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS opencl"
1336 enable_gallium_loader=yes
1338 if test "x$enable_opencl_icd" = xyes; then
1339 OPENCL_LIBNAME="MesaOpenCL"
1341 OPENCL_LIBNAME="OpenCL"
1344 AM_CONDITIONAL(HAVE_CLOVER, test "x$enable_opencl" = xyes)
1345 AM_CONDITIONAL(HAVE_CLOVER_ICD, test "x$enable_opencl_icd" = xyes)
1346 AC_SUBST([OPENCL_LIBNAME])
1349 dnl Gallium configuration
1351 AM_CONDITIONAL(HAVE_GALLIUM, test -n "$with_gallium_drivers")
1353 AC_SUBST([LLVM_BINDIR])
1354 AC_SUBST([LLVM_CFLAGS])
1355 AC_SUBST([LLVM_CPPFLAGS])
1356 AC_SUBST([LLVM_CXXFLAGS])
1357 AC_SUBST([LLVM_LIBDIR])
1358 AC_SUBST([LLVM_LIBS])
1359 AC_SUBST([LLVM_LDFLAGS])
1360 AC_SUBST([LLVM_INCLUDEDIR])
1361 AC_SUBST([LLVM_VERSION])
1362 AC_SUBST([CLANG_RESOURCE_DIR])
1364 case "x$enable_opengl$enable_gles1$enable_gles2" in
1366 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
1370 AC_SUBST([VG_LIB_DEPS])
1371 AC_SUBST([EGL_CLIENT_APIS])
1374 dnl EGL Platforms configuration
1376 AC_ARG_WITH([egl-platforms],
1377 [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1378 [comma delimited native platforms libEGL supports, e.g.
1379 "x11,drm" @<:@default=auto@:>@])],
1380 [with_egl_platforms="$withval"],
1381 [if test "x$enable_egl" = xyes; then
1382 with_egl_platforms="x11"
1384 with_egl_platforms=""
1387 if test "x$with_egl_platforms" != "x" -a "x$enable_egl" != xyes; then
1388 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1391 # Do per-EGL platform setups and checks
1392 egl_platforms=`IFS=', '; echo $with_egl_platforms`
1393 for plat in $egl_platforms; do
1396 PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED])
1397 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/wayland"
1399 WAYLAND_PREFIX=`$PKG_CONFIG --variable=prefix wayland-client`
1400 AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner],,
1401 [${WAYLAND_PREFIX}/bin$PATH_SEPARATOR$PATH])
1405 PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 >= $XCBDRI2_REQUIRED xcb-xfixes])
1409 test "x$enable_gbm" = "xno" &&
1410 AC_MSG_ERROR([EGL platform drm needs gbm])
1411 test "x$have_libdrm" != xyes &&
1412 AC_MSG_ERROR([EGL platform drm requires libdrm >= $LIBDRM_REQUIRED])
1415 android|fbdev|gdi|null)
1419 AC_MSG_ERROR([EGL platform '$plat' does not exist])
1423 case "$plat$have_libudev" in
1425 AC_MSG_ERROR([cannot build $plat platform without udev >= $LIBUDEV_REQUIRED]) ;;
1429 # libEGL wants to default to the first platform specified in
1430 # ./configure. parse that here.
1431 if test "x$egl_platforms" != "x"; then
1432 FIRST_PLATFORM_CAPS=`echo $egl_platforms | sed 's| .*||' | tr 'a-z' 'A-Z'`
1433 EGL_NATIVE_PLATFORM="_EGL_PLATFORM_$FIRST_PLATFORM_CAPS"
1435 EGL_NATIVE_PLATFORM="_EGL_INVALID_PLATFORM"
1438 if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
1439 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
1440 NEED_WINSYS_XLIB=yes
1442 AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
1443 AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
1444 AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1)
1445 AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1)
1446 AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1)
1448 AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
1450 AC_SUBST([EGL_NATIVE_PLATFORM])
1451 AC_SUBST([EGL_CFLAGS])
1453 # If we don't have the X11 platform, set this define so we don't try to include
1455 if ! echo "$egl_platforms" | grep -q 'x11'; then
1456 DEFINES="$DEFINES -DMESA_EGL_NO_X11_HEADERS"
1457 GL_PC_CFLAGS="$GL_PC_CFLAGS -DMESA_EGL_NO_X11_HEADERS"
1460 AC_ARG_WITH([egl-driver-dir],
1461 [AS_HELP_STRING([--with-egl-driver-dir=DIR],
1462 [directory for EGL drivers [[default=${libdir}/egl]]])],
1463 [EGL_DRIVER_INSTALL_DIR="$withval"],
1464 [EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
1465 AC_SUBST([EGL_DRIVER_INSTALL_DIR])
1467 AC_ARG_WITH([max-width],
1468 [AS_HELP_STRING([--with-max-width=N],
1469 [Maximum framebuffer width (4096)])],
1470 [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1471 AS_IF([test "${withval}" -gt "4096"],
1472 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1474 AC_ARG_WITH([max-height],
1475 [AS_HELP_STRING([--with-max-height=N],
1476 [Maximum framebuffer height (4096)])],
1477 [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1478 AS_IF([test "${withval}" -gt "4096"],
1479 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1485 AC_ARG_ENABLE([gallium-llvm],
1486 [AS_HELP_STRING([--enable-gallium-llvm],
1487 [build gallium LLVM support @<:@default=enabled on x86/x86_64@:>@])],
1488 [enable_gallium_llvm="$enableval"],
1489 [enable_gallium_llvm=auto])
1491 AC_ARG_ENABLE([llvm-shared-libs],
1492 [AS_HELP_STRING([--enable-llvm-shared-libs],
1493 [link with LLVM shared libraries @<:@default=enabled@:>@])],
1494 [enable_llvm_shared_libs="$enableval"],
1495 [enable_llvm_shared_libs=yes])
1497 AC_ARG_WITH([llvm-prefix],
1498 [AS_HELP_STRING([--with-llvm-prefix],
1499 [Prefix for LLVM installations in non-standard locations])],
1500 [llvm_prefix="$withval"],
1504 # Call this inside ` ` to get the return value.
1505 # $1 is the llvm-config command with arguments.
1506 strip_unwanted_llvm_flags() {
1507 # Use \> (marks the end of the word)
1509 -e 's/-DNDEBUG\>//g' \
1510 -e 's/-pedantic\>//g' \
1511 -e 's/-Wcovered-switch-default\>//g' \
1515 -e 's/-Wcast-qual\>//g' \
1516 -e 's/-Woverloaded-virtual\>//g' \
1517 -e 's/-fcolor-diagnostics\>//g' \
1518 -e 's/-fdata-sections\>//g' \
1519 -e 's/-ffunction-sections\>//g' \
1520 -e 's/-fno-exceptions\>//g' \
1521 -e 's/-fomit-frame-pointer\>//g' \
1522 -e 's/-fvisibility-inlines-hidden\>//g' \
1527 if test -z "$with_gallium_drivers"; then
1528 enable_gallium_llvm=no
1530 if test "x$enable_gallium_llvm" = xauto; then
1532 i*86|x86_64|amd64) enable_gallium_llvm=yes;;
1535 if test "x$enable_gallium_llvm" = xyes; then
1536 if test -n "$llvm_prefix"; then
1537 AC_PATH_TOOL([LLVM_CONFIG], [llvm-config], [no], ["$llvm_prefix/bin"])
1539 AC_PATH_TOOL([LLVM_CONFIG], [llvm-config], [no])
1542 if test "x$LLVM_CONFIG" != xno; then
1543 LLVM_VERSION=`$LLVM_CONFIG --version | sed 's/svn.*//g'`
1544 LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1545 LLVM_BINDIR=`$LLVM_CONFIG --bindir`
1546 LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"`
1547 LLVM_CFLAGS=$LLVM_CPPFLAGS # CPPFLAGS seem to be sufficient
1548 LLVM_CXXFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cxxflags"`
1549 LLVM_INCLUDEDIR=`$LLVM_CONFIG --includedir`
1550 LLVM_LIBDIR=`$LLVM_CONFIG --libdir`
1552 AC_COMPUTE_INT([LLVM_VERSION_MAJOR], [LLVM_VERSION_MAJOR],
1553 [#include "${LLVM_INCLUDEDIR}/llvm/Config/llvm-config.h"])
1554 AC_COMPUTE_INT([LLVM_VERSION_MINOR], [LLVM_VERSION_MINOR],
1555 [#include "${LLVM_INCLUDEDIR}/llvm/Config/llvm-config.h"])
1557 if test -n "${LLVM_VERSION_MAJOR}"; then
1558 LLVM_VERSION_INT="${LLVM_VERSION_MAJOR}0${LLVM_VERSION_MINOR}"
1560 LLVM_VERSION_INT=`echo $LLVM_VERSION | sed -e 's/\([[0-9]]\)\.\([[0-9]]\)/\10\2/g'`
1563 LLVM_COMPONENTS="engine bitwriter"
1564 if $LLVM_CONFIG --components | grep -qw 'mcjit'; then
1565 LLVM_COMPONENTS="${LLVM_COMPONENTS} mcjit"
1568 if test "x$enable_opencl" = xyes; then
1569 LLVM_COMPONENTS="${LLVM_COMPONENTS} ipo linker instrumentation"
1570 # LLVM 3.3 >= 177971 requires IRReader
1571 if $LLVM_CONFIG --components | grep -qw 'irreader'; then
1572 LLVM_COMPONENTS="${LLVM_COMPONENTS} irreader"
1574 # LLVM 3.4 requires Option
1575 if $LLVM_CONFIG --components | grep -qw 'option'; then
1576 LLVM_COMPONENTS="${LLVM_COMPONENTS} option"
1579 DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT"
1582 dnl Check for Clang internal headers
1583 if test "x$enable_opencl" = xyes; then
1584 if test -z "$CLANG_LIBDIR"; then
1585 CLANG_LIBDIR=${LLVM_LIBDIR}
1587 CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
1588 AS_IF([test ! -f "$CLANG_RESOURCE_DIR/include/stddef.h"],
1589 [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.])])
1600 dnl Directory for XVMC libs
1601 AC_ARG_WITH([xvmc-libdir],
1602 [AS_HELP_STRING([--with-xvmc-libdir=DIR],
1603 [directory for the XVMC libraries @<:@default=${libdir}@:>@])],
1604 [XVMC_LIB_INSTALL_DIR="$withval"],
1605 [XVMC_LIB_INSTALL_DIR='${libdir}'])
1606 AC_SUBST([XVMC_LIB_INSTALL_DIR])
1611 if test "x$enable_gallium_tests" = xyes; then
1612 enable_gallium_loader=yes
1614 AM_CONDITIONAL(HAVE_GALLIUM_TESTS, test "x$enable_gallium_tests" = xyes)
1616 if test "x$enable_gallium_loader" = xyes; then
1617 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS pipe-loader"
1619 AM_CONDITIONAL(NEED_GALLIUM_LOADER, test "x$enable_gallium_loader" = xyes)
1621 dnl Directory for VDPAU libs
1622 AC_ARG_WITH([vdpau-libdir],
1623 [AS_HELP_STRING([--with-vdpau-libdir=DIR],
1624 [directory for the VDPAU libraries @<:@default=${libdir}/vdpau@:>@])],
1625 [VDPAU_LIB_INSTALL_DIR="$withval"],
1626 [VDPAU_LIB_INSTALL_DIR='${libdir}/vdpau'])
1627 AC_SUBST([VDPAU_LIB_INSTALL_DIR])
1629 OMX_LIB_INSTALL_DIR_DEFAULT=''
1630 if test "x$enable_omx" = xyes; then
1631 OMX_LIB_INSTALL_DIR_DEFAULT=`$PKG_CONFIG --variable=pluginsdir libomxil-bellagio`
1634 AC_ARG_WITH([omx-libdir],
1635 [AS_HELP_STRING([--with-omx-libdir=DIR],
1636 [directory for the OMX libraries])],
1637 [OMX_LIB_INSTALL_DIR="$withval"],
1638 [OMX_LIB_INSTALL_DIR="$OMX_LIB_INSTALL_DIR_DEFAULT"])
1639 AC_SUBST([OMX_LIB_INSTALL_DIR])
1641 dnl Directory for OpenCL libs
1642 AC_ARG_WITH([opencl-libdir],
1643 [AS_HELP_STRING([--with-opencl-libdir=DIR],
1644 [directory for auxiliary libraries used by the OpenCL implementation @<:@default=${libdir}/opencl@:>@])],
1645 [OPENCL_LIB_INSTALL_DIR="$withval"],
1646 [OPENCL_LIB_INSTALL_DIR='${libdir}/opencl'])
1647 AC_SUBST([OPENCL_LIB_INSTALL_DIR])
1650 dnl Gallium helper functions
1652 gallium_check_st() {
1653 if test "x$NEED_NONNULL_WINSYS" = xyes; then
1654 if test "x$have_libdrm" != xyes; then
1655 AC_MSG_ERROR([DRI or Xorg DDX requires libdrm >= $LIBDRM_REQUIRED])
1657 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
1659 if test "x$enable_dri" = xyes && test -n "$2"; then
1660 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
1662 if test "x$enable_xa" = xyes && test -n "$3"; then
1663 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
1665 if test "x$enable_xvmc" = xyes && test -n "$4"; then
1666 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $4"
1668 if test "x$enable_vdpau" = xyes && test -n "$5"; then
1669 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $5"
1671 if test "x$enable_omx" = xyes && test "x$6" != x; then
1672 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $6"
1676 gallium_require_llvm() {
1677 if test "x$MESA_LLVM" = x0; then
1679 i*86|x86_64|amd64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
1684 gallium_require_drm_loader() {
1685 if test "x$enable_gallium_loader" = xyes; then
1686 if test "x$have_libudev" != xyes; then
1687 AC_MSG_ERROR([Gallium drm loader requires libudev >= $LIBUDEV_REQUIRED])
1689 if test "x$have_libdrm" != xyes; then
1690 AC_MSG_ERROR([Gallium drm loader requires libdrm >= $LIBDRM_REQUIRED])
1692 enable_gallium_drm_loader=yes
1696 radeon_llvm_check() {
1697 if test "x$enable_gallium_llvm" != "xyes"; then
1698 AC_MSG_ERROR([--enable-gallium-llvm is required when building $1])
1700 LLVM_REQUIRED_VERSION_MAJOR="3"
1701 LLVM_REQUIRED_VERSION_MINOR="3"
1702 if test "$LLVM_VERSION_INT" -lt "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}"; then
1703 AC_MSG_ERROR([LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR or newer is required for $1])
1705 if test true && $LLVM_CONFIG --targets-built | grep -qvw 'R600' ; then
1706 AC_MSG_ERROR([LLVM R600 Target not enabled. You can enable it when building the LLVM
1707 sources with the --enable-experimental-targets=R600
1710 LLVM_COMPONENTS="${LLVM_COMPONENTS} r600 bitreader ipo"
1711 NEED_RADEON_LLVM=yes
1712 AC_CHECK_LIB([elf], [elf_memory], [ELF_LIB=-lelf],
1713 [AC_MSG_ERROR([$1 requires libelf when using LLVM])])
1717 if test "x$enable_dri" = xyes -o "x$enable_xa" = xyes -o \
1718 "x$enable_xvmc" = xyes -o "x$enable_vdpau" = xyes; then
1719 NEED_NONNULL_WINSYS=yes
1721 AM_CONDITIONAL(NEED_NONNULL_WINSYS, test "x$NEED_NONNULL_WINSYS" = xyes)
1723 dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this block
1724 if test -n "$with_gallium_drivers"; then
1725 gallium_drivers=`IFS=', '; echo $with_gallium_drivers`
1726 for driver in $gallium_drivers; do
1729 HAVE_GALLIUM_SVGA=yes
1730 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga softpipe"
1731 gallium_require_drm_loader
1732 gallium_check_st "svga/drm" "dri-vmwgfx" ""
1735 HAVE_GALLIUM_I915=yes
1736 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1737 gallium_require_drm_loader
1738 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915 softpipe"
1739 if test "x$MESA_LLVM" = x1; then
1740 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1742 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1743 gallium_check_st "i915/drm" "dri-i915"
1744 DRICOMMON_NEED_LIBDRM=yes
1747 HAVE_GALLIUM_ILO=yes
1748 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1749 gallium_require_drm_loader
1750 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS ilo"
1751 gallium_check_st "intel/drm" "dri-ilo"
1752 DRICOMMON_NEED_LIBDRM=yes
1755 HAVE_GALLIUM_R300=yes
1756 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1757 gallium_require_drm_loader
1758 gallium_require_llvm "Gallium R300"
1759 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
1760 gallium_check_st "radeon/drm" "r300/dri" "" "" ""
1761 DRICOMMON_NEED_LIBDRM=yes
1764 HAVE_GALLIUM_R600=yes
1765 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1766 gallium_require_drm_loader
1767 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
1768 if test "x$enable_r600_llvm" = xyes -o "x$enable_opencl" = xyes; then
1769 radeon_llvm_check "r600g"
1770 LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
1772 if test "x$enable_r600_llvm" = xyes; then
1773 USE_R600_LLVM_COMPILER=yes;
1775 if test "x$enable_opencl" = xyes; then
1776 LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
1778 gallium_check_st "radeon/drm" "r600/dri" "" "r600/xvmc" "r600/vdpau" "r600/omx"
1779 DRICOMMON_NEED_LIBDRM=yes
1782 HAVE_GALLIUM_RADEONSI=yes
1783 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1784 gallium_require_drm_loader
1785 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS radeonsi"
1786 radeon_llvm_check "radeonsi"
1787 gallium_check_st "radeon/drm" "radeonsi/dri" "" "" "radeonsi/vdpau" "radeonsi/omx"
1788 DRICOMMON_NEED_LIBDRM=yes
1791 HAVE_GALLIUM_NOUVEAU=yes
1792 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
1793 gallium_require_drm_loader
1794 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau"
1795 gallium_check_st "nouveau/drm" "dri-nouveau" "" "xvmc-nouveau" "vdpau-nouveau"
1796 DRICOMMON_NEED_LIBDRM=yes
1799 HAVE_GALLIUM_FREEDRENO=yes
1800 PKG_CHECK_MODULES([FREEDRENO], [libdrm_freedreno >= $LIBDRM_FREEDRENO_REQUIRED])
1801 gallium_require_drm_loader
1802 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS freedreno"
1803 gallium_check_st "freedreno/drm" "dri-freedreno" "" "" ""
1804 DRICOMMON_NEED_LIBDRM=yes
1807 HAVE_GALLIUM_SOFTPIPE=yes
1808 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS softpipe"
1809 if test "x$MESA_LLVM" = x1; then
1810 HAVE_GALLIUM_LLVMPIPE=yes
1811 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1814 if test "x$enable_dri" = xyes; then
1815 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast"
1819 AC_MSG_ERROR([Unknown Gallium driver: $driver])
1825 dnl Set LLVM_LIBS - This is done after the driver configuration so
1826 dnl that drivers can add additonal components to LLVM_COMPONENTS.
1827 dnl Previously, gallium drivers were updating LLVM_LIBS directly
1828 dnl by calling llvm-config --libs ${DRIVER_LLVM_COMPONENTS}, but
1829 dnl this was causing the same libraries to be appear multiple times
1832 if test "x$MESA_LLVM" != x0; then
1834 LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`"
1836 if test "x$enable_llvm_shared_libs" = xyes; then
1837 dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
1838 LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
1839 AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.so"], [llvm_have_one_so=yes])
1841 if test "x$llvm_have_one_so" = xyes; then
1842 dnl LLVM was built using auto*, so there is only one shared object.
1843 LLVM_LIBS="-l$LLVM_SO_NAME"
1845 dnl If LLVM was built with CMake, there will be one shared object per
1847 AS_IF([test ! -f "$LLVM_LIBDIR/libLLVMTarget.so"],
1848 [AC_MSG_ERROR([Could not find llvm shared libraries:
1849 Please make sure you have built llvm with the --enable-shared option
1850 and that your llvm libraries are installed in $LLVM_LIBDIR
1851 If you have installed your llvm libraries to a different directory you
1852 can use the --with-llvm-prefix= configure flag to specify this directory.
1853 NOTE: Mesa is attempting to use llvm shared libraries by default.
1854 If you do not want to build with llvm shared libraries and instead want to
1855 use llvm static libraries then add --disable-llvm-shared-libs to your configure
1856 invocation and rebuild.])])
1858 dnl We don't need to update LLVM_LIBS in this case because the LLVM
1859 dnl install uses a shared object for each compoenent and we have
1860 dnl already added all of these objects to LLVM_LIBS.
1863 AC_MSG_WARN([Building mesa with staticly linked LLVM may cause compilation issues])
1867 AM_CONDITIONAL(HAVE_GALLIUM_SVGA, test "x$HAVE_GALLIUM_SVGA" = xyes)
1868 AM_CONDITIONAL(HAVE_GALLIUM_I915, test "x$HAVE_GALLIUM_I915" = xyes)
1869 AM_CONDITIONAL(HAVE_GALLIUM_ILO, test "x$HAVE_GALLIUM_ILO" = xyes)
1870 AM_CONDITIONAL(HAVE_GALLIUM_R300, test "x$HAVE_GALLIUM_R300" = xyes)
1871 AM_CONDITIONAL(HAVE_GALLIUM_R600, test "x$HAVE_GALLIUM_R600" = xyes)
1872 AM_CONDITIONAL(HAVE_GALLIUM_RADEONSI, test "x$HAVE_GALLIUM_RADEONSI" = xyes)
1873 AM_CONDITIONAL(HAVE_GALLIUM_NOUVEAU, test "x$HAVE_GALLIUM_NOUVEAU" = xyes)
1874 AM_CONDITIONAL(HAVE_GALLIUM_FREEDRENO, test "x$HAVE_GALLIUM_FREEDRENO" = xyes)
1875 AM_CONDITIONAL(HAVE_GALLIUM_SOFTPIPE, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes)
1876 AM_CONDITIONAL(HAVE_GALLIUM_LLVMPIPE, test "x$HAVE_GALLIUM_LLVMPIPE" = xyes)
1878 AM_CONDITIONAL(NEED_GALLIUM_SOFTPIPE_DRIVER, test "x$HAVE_GALLIUM_SVGA" = xyes -o \
1879 "x$HAVE_GALLIUM_I915" = xyes -o \
1880 "x$HAVE_GALLIUM_SOFTPIPE" = xyes)
1881 AM_CONDITIONAL(NEED_GALLIUM_LLVMPIPE_DRIVER, test "x$HAVE_GALLIUM_I915" = xyes -o \
1882 "x$HAVE_GALLIUM_SOFTPIPE" = xyes \
1883 && test "x$MESA_LLVM" = x1)
1885 # NOTE: anything using xcb or other client side libs ends up in separate
1886 # _CLIENT variables. The pipe loader is built in two variants,
1887 # one that is standalone and does not link any x client libs (for
1888 # use by XA tracker in particular, but could be used in any case
1889 # where communication with xserver is not desired).
1890 if test "x$enable_gallium_loader" = xyes; then
1891 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/null"
1893 if test "x$enable_gallium_xlib_loader" = xyes; then
1894 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
1895 NEED_WINSYS_XLIB="yes"
1896 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_XLIB"
1899 if test "x$enable_gallium_drm_loader" = xyes; then
1900 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_DRM"
1901 PKG_CHECK_MODULES([GALLIUM_PIPE_LOADER_XCB], [xcb xcb-dri2],
1902 pipe_loader_have_xcb=yes, pipe_loader_have_xcb=no)
1903 if test "x$pipe_loader_have_xcb" = xyes; then
1904 GALLIUM_PIPE_LOADER_CLIENT_DEFINES="$GALLIUM_PIPE_LOADER_CLIENT_DEFINES -DHAVE_PIPE_LOADER_XCB"
1905 GALLIUM_PIPE_LOADER_CLIENT_LIBS="$GALLIUM_PIPE_LOADER_CLIENT_LIBS $GALLIUM_PIPE_LOADER_XCB_LIBS $LIBDRM_LIBS"
1909 GALLIUM_PIPE_LOADER_CLIENT_DEFINES="$GALLIUM_PIPE_LOADER_CLIENT_DEFINES $GALLIUM_PIPE_LOADER_DEFINES"
1910 GALLIUM_PIPE_LOADER_CLIENT_LIBS="$GALLIUM_PIPE_LOADER_CLIENT_LIBS $GALLIUM_PIPE_LOADER_LIBS"
1912 AC_SUBST([GALLIUM_PIPE_LOADER_DEFINES])
1913 AC_SUBST([GALLIUM_PIPE_LOADER_LIBS])
1914 AC_SUBST([GALLIUM_PIPE_LOADER_CLIENT_DEFINES])
1915 AC_SUBST([GALLIUM_PIPE_LOADER_CLIENT_LIBS])
1917 AM_CONDITIONAL(NEED_PIPE_LOADER_XLIB, test "x$enable_gallium_xlib_loader" = xyes)
1919 AM_CONDITIONAL(HAVE_I915_DRI, test x$HAVE_I915_DRI = xyes)
1920 AM_CONDITIONAL(HAVE_I965_DRI, test x$HAVE_I965_DRI = xyes)
1921 AM_CONDITIONAL(HAVE_NOUVEAU_DRI, test x$HAVE_NOUVEAU_DRI = xyes)
1922 AM_CONDITIONAL(HAVE_R200_DRI, test x$HAVE_R200_DRI = xyes)
1923 AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes)
1924 AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes)
1926 AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$NEED_NONNULL_WINSYS" = xyes -a \
1927 "x$HAVE_GALLIUM_R300" = xyes -o \
1928 "x$HAVE_GALLIUM_R600" = xyes -o \
1929 "x$HAVE_GALLIUM_RADEONSI" = xyes)
1930 AM_CONDITIONAL(NEED_WINSYS_WRAPPER, test "x$HAVE_GALLIUM_I915" = xyes -o \
1931 "x$HAVE_GALLIUM_SVGA" = xyes)
1932 AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$NEED_WINSYS_XLIB" = xyes)
1933 AM_CONDITIONAL(NEED_RADEON_LLVM, test x$NEED_RADEON_LLVM = xyes)
1934 AM_CONDITIONAL(USE_R600_LLVM_COMPILER, test x$USE_R600_LLVM_COMPILER = xyes)
1935 AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes)
1936 AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes)
1937 AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
1938 AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1)
1942 AM_CONDITIONAL(DRICOMMON_NEED_LIBDRM, test "x$DRICOMMON_NEED_LIBDRM" = xyes)
1943 AM_CONDITIONAL(HAVE_LIBDRM, test "x$have_libdrm" = xyes)
1944 AM_CONDITIONAL(HAVE_X11_DRIVER, test "x$enable_xlib_glx" = xyes)
1945 AM_CONDITIONAL(HAVE_OSMESA, test "x$enable_osmesa" = xyes)
1946 AM_CONDITIONAL(HAVE_GALLIUM_OSMESA, test "x$enable_gallium_osmesa" = xyes)
1948 AM_CONDITIONAL(HAVE_X86_ASM, test "x$asm_arch" = xx86 -o "x$asm_arch" = xx86_64)
1949 AM_CONDITIONAL(HAVE_X86_64_ASM, test "x$asm_arch" = xx86_64)
1950 AM_CONDITIONAL(HAVE_SPARC_ASM, test "x$asm_arch" = xsparc)
1952 AC_SUBST([VDPAU_MAJOR], 1)
1953 AC_SUBST([VDPAU_MINOR], 0)
1955 AC_SUBST([XVMC_MAJOR], 1)
1956 AC_SUBST([XVMC_MINOR], 0)
1958 AC_SUBST([XA_MAJOR], 2)
1959 AC_SUBST([XA_MINOR], 2)
1960 AC_SUBST([XA_TINY], 0)
1961 AC_SUBST([XA_VERSION], "$XA_MAJOR.$XA_MINOR.$XA_TINY")
1963 dnl Restore LDFLAGS and CPPFLAGS
1964 LDFLAGS="$_SAVE_LDFLAGS"
1965 CPPFLAGS="$_SAVE_CPPFLAGS"
1967 dnl Suppress clang's warnings about unused CFLAGS and CXXFLAGS
1968 if test "x$acv_mesa_CLANG" = xyes; then
1969 CFLAGS="$CFLAGS -Qunused-arguments"
1970 CXXFLAGS="$CXXFLAGS -Qunused-arguments"
1973 dnl Add user CFLAGS and CXXFLAGS
1974 CFLAGS="$CFLAGS $USER_CFLAGS"
1975 CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
1977 dnl Substitute the config
1978 AC_CONFIG_FILES([Makefile
1981 src/egl/drivers/Makefile
1982 src/egl/drivers/dri2/Makefile
1983 src/egl/main/Makefile
1985 src/egl/wayland/Makefile
1986 src/egl/wayland/wayland-drm/Makefile
1987 src/egl/wayland/wayland-egl/Makefile
1988 src/egl/wayland/wayland-egl/wayland-egl.pc
1989 src/gallium/auxiliary/Makefile
1990 src/gallium/auxiliary/pipe-loader/Makefile
1991 src/gallium/drivers/Makefile
1992 src/gallium/drivers/freedreno/Makefile
1993 src/gallium/drivers/galahad/Makefile
1994 src/gallium/drivers/i915/Makefile
1995 src/gallium/drivers/identity/Makefile
1996 src/gallium/drivers/ilo/Makefile
1997 src/gallium/drivers/llvmpipe/Makefile
1998 src/gallium/drivers/noop/Makefile
1999 src/gallium/drivers/nouveau/Makefile
2000 src/gallium/drivers/r300/Makefile
2001 src/gallium/drivers/r600/Makefile
2002 src/gallium/drivers/radeon/Makefile
2003 src/gallium/drivers/radeonsi/Makefile
2004 src/gallium/drivers/rbug/Makefile
2005 src/gallium/drivers/softpipe/Makefile
2006 src/gallium/drivers/svga/Makefile
2007 src/gallium/drivers/trace/Makefile
2008 src/gallium/state_trackers/Makefile
2009 src/gallium/state_trackers/clover/Makefile
2010 src/gallium/state_trackers/dri/Makefile
2011 src/gallium/state_trackers/dri/drm/Makefile
2012 src/gallium/state_trackers/dri/sw/Makefile
2013 src/gallium/state_trackers/egl/Makefile
2014 src/gallium/state_trackers/gbm/Makefile
2015 src/gallium/state_trackers/glx/xlib/Makefile
2016 src/gallium/state_trackers/omx/Makefile
2017 src/gallium/state_trackers/osmesa/Makefile
2018 src/gallium/state_trackers/vdpau/Makefile
2019 src/gallium/state_trackers/vega/Makefile
2020 src/gallium/state_trackers/xa/Makefile
2021 src/gallium/state_trackers/xvmc/Makefile
2022 src/gallium/targets/Makefile
2023 src/gallium/targets/dri-freedreno/Makefile
2024 src/gallium/targets/dri-i915/Makefile
2025 src/gallium/targets/dri-ilo/Makefile
2026 src/gallium/targets/dri-nouveau/Makefile
2027 src/gallium/targets/dri-swrast/Makefile
2028 src/gallium/targets/dri-vmwgfx/Makefile
2029 src/gallium/targets/egl-static/Makefile
2030 src/gallium/targets/gbm/Makefile
2031 src/gallium/targets/opencl/Makefile
2032 src/gallium/targets/xa/Makefile
2033 src/gallium/targets/xa/xatracker.pc
2034 src/gallium/targets/osmesa/Makefile
2035 src/gallium/targets/osmesa/osmesa.pc
2036 src/gallium/targets/pipe-loader/Makefile
2037 src/gallium/targets/radeonsi/dri/Makefile
2038 src/gallium/targets/radeonsi/omx/Makefile
2039 src/gallium/targets/radeonsi/vdpau/Makefile
2040 src/gallium/targets/r300/dri/Makefile
2041 src/gallium/targets/r600/dri/Makefile
2042 src/gallium/targets/r600/omx/Makefile
2043 src/gallium/targets/r600/vdpau/Makefile
2044 src/gallium/targets/r600/xvmc/Makefile
2045 src/gallium/targets/libgl-xlib/Makefile
2046 src/gallium/targets/vdpau-nouveau/Makefile
2047 src/gallium/targets/xvmc-nouveau/Makefile
2048 src/gallium/tests/trivial/Makefile
2049 src/gallium/tests/unit/Makefile
2050 src/gallium/winsys/Makefile
2051 src/gallium/winsys/freedreno/drm/Makefile
2052 src/gallium/winsys/i915/drm/Makefile
2053 src/gallium/winsys/i915/sw/Makefile
2054 src/gallium/winsys/intel/drm/Makefile
2055 src/gallium/winsys/nouveau/drm/Makefile
2056 src/gallium/winsys/radeon/drm/Makefile
2057 src/gallium/winsys/svga/drm/Makefile
2058 src/gallium/winsys/sw/dri/Makefile
2059 src/gallium/winsys/sw/fbdev/Makefile
2060 src/gallium/winsys/sw/null/Makefile
2061 src/gallium/winsys/sw/wayland/Makefile
2062 src/gallium/winsys/sw/wrapper/Makefile
2063 src/gallium/winsys/sw/xlib/Makefile
2068 src/glx/tests/Makefile
2072 src/mapi/es1api/Makefile
2073 src/mapi/es1api/glesv1_cm.pc
2074 src/mapi/es2api/Makefile
2075 src/mapi/es2api/glesv2.pc
2076 src/mapi/glapi/Makefile
2077 src/mapi/glapi/gen/Makefile
2078 src/mapi/glapi/tests/Makefile
2079 src/mapi/shared-glapi/Makefile
2080 src/mapi/shared-glapi/tests/Makefile
2081 src/mapi/vgapi/Makefile
2082 src/mapi/vgapi/vg.pc
2085 src/mesa/drivers/dri/dri.pc
2086 src/mesa/drivers/dri/common/Makefile
2087 src/mesa/drivers/dri/common/xmlpool/Makefile
2088 src/mesa/drivers/dri/i915/Makefile
2089 src/mesa/drivers/dri/i965/Makefile
2090 src/mesa/drivers/dri/Makefile
2091 src/mesa/drivers/dri/nouveau/Makefile
2092 src/mesa/drivers/dri/r200/Makefile
2093 src/mesa/drivers/dri/radeon/Makefile
2094 src/mesa/drivers/dri/swrast/Makefile
2095 src/mesa/drivers/osmesa/Makefile
2096 src/mesa/drivers/osmesa/osmesa.pc
2097 src/mesa/drivers/x11/Makefile
2098 src/mesa/main/tests/Makefile
2099 src/mesa/main/tests/hash_table/Makefile])
2101 dnl Sort the dirs alphabetically
2102 GALLIUM_TARGET_DIRS=`echo $GALLIUM_TARGET_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2103 GALLIUM_WINSYS_DIRS=`echo $GALLIUM_WINSYS_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2104 GALLIUM_DRIVERS_DIRS=`echo $GALLIUM_DRIVERS_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2105 GALLIUM_STATE_TRACKERS_DIRS=`echo $GALLIUM_STATE_TRACKERS_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2110 dnl Output some configuration info for the user
2113 echo " prefix: $prefix"
2114 echo " exec_prefix: $exec_prefix"
2115 echo " libdir: $libdir"
2116 echo " includedir: $includedir"
2120 echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
2121 echo " OpenVG: $enable_openvg"
2125 case "x$enable_osmesa$enable_gallium_osmesa" in
2127 echo " OSMesa: lib$OSMESA_LIB (Gallium)"
2130 echo " OSMesa: lib$OSMESA_LIB"
2137 if test "x$enable_dri" != xno; then
2138 if test -z "$DRI_DIRS"; then
2139 echo " DRI drivers: no"
2141 echo " DRI drivers: $DRI_DIRS"
2143 echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
2146 case "x$enable_glx$enable_xlib_glx" in
2148 echo " GLX: Xlib-based"
2151 echo " GLX: DRI-based"
2154 echo " GLX: $enable_glx"
2160 echo " EGL: $enable_egl"
2161 if test "$enable_egl" = yes; then
2162 echo " EGL platforms: $egl_platforms"
2165 if test "x$HAVE_EGL_DRIVER_DRI2" != "x"; then
2166 egl_drivers="$egl_drivers builtin:egl_dri2"
2169 if test "x$enable_gallium_egl" = xyes; then
2170 echo " EGL drivers: ${egl_drivers} egl_gallium"
2171 echo " EGL Gallium STs:$EGL_CLIENT_APIS"
2173 echo " EGL drivers: $egl_drivers"
2178 if test "x$MESA_LLVM" = x1; then
2180 echo " llvm-config: $LLVM_CONFIG"
2181 echo " llvm-version: $LLVM_VERSION"
2187 if test -n "$with_gallium_drivers"; then
2188 echo " Gallium: yes"
2189 echo " Target dirs: $GALLIUM_TARGET_DIRS"
2190 echo " Winsys dirs: $GALLIUM_WINSYS_DIRS"
2191 echo " Driver dirs: $GALLIUM_DRIVERS_DIRS"
2192 echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS"
2200 echo " Shared libs: $enable_shared"
2201 echo " Static libs: $enable_static"
2202 echo " Shared-glapi: $enable_shared_glapi"
2204 dnl Compiler options
2205 # cleanup the CFLAGS/CXXFLAGS/DEFINES vars
2206 cflags=`echo $CFLAGS | \
2207 $SED 's/^ *//;s/ */ /;s/ *$//'`
2208 cxxflags=`echo $CXXFLAGS | \
2209 $SED 's/^ *//;s/ */ /;s/ *$//'`
2210 defines=`echo $DEFINES | $SED 's/^ *//;s/ */ /;s/ *$//'`
2212 echo " CFLAGS: $cflags"
2213 echo " CXXFLAGS: $cxxflags"
2214 echo " Macros: $defines"
2216 if test "x$MESA_LLVM" = x1; then
2217 echo " LLVM_CFLAGS: $LLVM_CFLAGS"
2218 echo " LLVM_CXXFLAGS: $LLVM_CXXFLAGS"
2219 echo " LLVM_CPPFLAGS: $LLVM_CPPFLAGS"
2222 echo " PYTHON2: $PYTHON2"
2225 echo " Run '${MAKE-make}' to build Mesa"