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 AC_INIT([Mesa], [9.2.0],
10 [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
11 AC_CONFIG_AUX_DIR([bin])
12 AC_CONFIG_MACRO_DIR([m4])
14 AM_INIT_AUTOMAKE([foreign])
16 dnl http://people.gnome.org/~walters/docs/build-api.txt
17 dnl We don't support srcdir != builddir.
18 echo \#buildapi-variable-no-builddir >/dev/null
20 # Support silent build rules, requires at least automake-1.11. Disable
21 # by either passing --disable-silent-rules to configure or passing V=1
23 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
24 [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
26 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
28 dnl Set internal versions
30 AC_SUBST([OSMESA_VERSION])
32 dnl Versions for external dependencies
33 LIBDRM_REQUIRED=2.4.24
34 LIBDRM_RADEON_REQUIRED=2.4.42
35 LIBDRM_INTEL_REQUIRED=2.4.38
36 LIBDRM_NVVIEUX_REQUIRED=2.4.33
37 LIBDRM_NOUVEAU_REQUIRED="2.4.33 libdrm >= 2.4.41"
38 LIBDRM_FREEDRENO_REQUIRED=2.4.39
39 DRI2PROTO_REQUIRED=2.6
40 GLPROTO_REQUIRED=1.4.14
41 LIBDRM_XORG_REQUIRED=2.4.24
42 LIBKMS_XORG_REQUIRED=1.0.0
52 AC_CHECK_PROGS([MAKE], [gmake make])
53 AC_CHECK_PROGS([PYTHON2], [python2 python])
54 AX_PYTHON_MODULE([libxml2], [needed])
59 LT_INIT([disable-static])
62 AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-parse.c"],
63 [AC_MSG_ERROR([bison not found - unable to compile glcpp-parse.y])]))
65 AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-lex.c"],
66 [AC_MSG_ERROR([flex not found - unable to compile glcpp-lex.l])]))
68 AC_PATH_PROG([PERL], [perl])
70 AC_CHECK_PROG(INDENT, indent, indent, cat)
71 if test "x$INDENT" != "xcat"; then
72 AC_SUBST(INDENT_FLAGS, '-i4 -nut -br -brs -npcs -ce -TGLubyte -TGLbyte -TBool')
77 dnl We need a POSIX shell for parts of the build. Assume we have one
81 # Solaris /bin/sh is too old/non-POSIX compliant
82 AC_PATH_PROGS(POSIX_SHELL, [ksh93 ksh sh])
87 dnl clang is mostly GCC-compatible, but its version is much lower,
88 dnl so we have to check for it.
89 AC_MSG_CHECKING([if compiling with clang])
92 [AC_LANG_PROGRAM([], [[
97 [acv_mesa_CLANG=yes], [acv_mesa_CLANG=no])
99 AC_MSG_RESULT([$acv_mesa_CLANG])
101 dnl If we're using GCC, make sure that it is at least version 3.3.0. Older
102 dnl versions are explictly not supported.
103 if test "x$GCC" = xyes -a "x$acv_mesa_CLANG" = xno; then
104 AC_MSG_CHECKING([whether gcc version is sufficient])
108 GCC_VERSION=`$CC -dumpversion`
109 if test $? -eq 0; then
110 GCC_VERSION_MAJOR=`echo $GCC_VERSION | cut -d. -f1`
111 GCC_VERSION_MINOR=`echo $GCC_VERSION | cut -d. -f2`
114 if test $GCC_VERSION_MAJOR -lt 3 -o $GCC_VERSION_MAJOR -eq 3 -a $GCC_VERSION_MINOR -lt 3 ; then
116 AC_MSG_ERROR([If using GCC, version 3.3.0 or later is required.])
122 dnl Make sure the pkg-config macros are defined
123 m4_ifndef([PKG_PROG_PKG_CONFIG],
124 [m4_fatal([Could not locate the pkg-config autoconf macros.
125 These are usually located in /usr/share/aclocal/pkg.m4. If your macros
126 are in a different location, try setting the environment variable
127 ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
128 PKG_PROG_PKG_CONFIG()
130 dnl LIB_DIR - library basename
131 LIB_DIR=`echo $libdir | $SED 's%.*/%%'`
134 dnl Cache LDFLAGS and CPPFLAGS so we can add to them and restore later
135 _SAVE_LDFLAGS="$LDFLAGS"
136 _SAVE_CPPFLAGS="$CPPFLAGS"
138 dnl build host compiler macros
140 AC_SUBST([DEFINES_FOR_BUILD])
143 DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD -D_GNU_SOURCE"
146 DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD -DSVR4"
149 DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD"
158 DEFINES="$DEFINES -D_GNU_SOURCE -DHAVE_PTHREAD"
161 DEFINES="$DEFINES -DHAVE_PTHREAD -DSVR4"
164 DEFINES="$DEFINES -DHAVE_PTHREAD"
168 dnl Add flags for gcc and g++
169 if test "x$GCC" = xyes; then
172 CFLAGS="$CFLAGS -Wall -std=gnu99"
175 CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -Wall -std=c99"
176 CFLAGS="$CFLAGS -Wall -std=c99"
180 # Enable -Werror=implicit-function-declaration and
181 # -Werror=missing-prototypes, if available, or otherwise, just
182 # -Wmissing-prototypes. This is particularly useful to avoid
183 # generating a loadable driver module that has undefined symbols.
184 save_CFLAGS="$CFLAGS"
185 AC_MSG_CHECKING([whether $CC supports -Werror=missing-prototypes])
186 CFLAGS="$CFLAGS -Werror=implicit-function-declaration"
187 CFLAGS="$CFLAGS -Werror=missing-prototypes"
188 AC_LINK_IFELSE([AC_LANG_PROGRAM()],
189 AC_MSG_RESULT([yes]),
190 [CFLAGS="$save_CFLAGS -Wmissing-prototypes";
191 AC_MSG_RESULT([no])]);
193 # Enable -fvisibility=hidden if using a gcc that supports it
194 save_CFLAGS="$CFLAGS"
195 AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
196 VISIBILITY_CFLAGS="-fvisibility=hidden"
197 CFLAGS="$CFLAGS $VISIBILITY_CFLAGS"
198 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
199 [VISIBILITY_CFLAGS=""; AC_MSG_RESULT([no])]);
201 # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed.
204 # Work around aliasing bugs - developers should comment this out
205 CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -fno-strict-aliasing"
206 CFLAGS="$CFLAGS -fno-strict-aliasing"
208 # gcc's builtin memcmp is slower than glibc's
209 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
210 CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -fno-builtin-memcmp"
211 CFLAGS="$CFLAGS -fno-builtin-memcmp"
213 if test "x$GXX" = xyes; then
214 CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -Wall"
215 CXXFLAGS="$CXXFLAGS -Wall"
217 # Enable -fvisibility=hidden if using a gcc that supports it
218 save_CXXFLAGS="$CXXFLAGS"
219 AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
220 VISIBILITY_CXXFLAGS="-fvisibility=hidden"
221 CXXFLAGS="$CXXFLAGS $VISIBILITY_CXXFLAGS"
223 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
224 [VISIBILITY_CXXFLAGS="" ; AC_MSG_RESULT([no])]);
227 # Restore CXXFLAGS; VISIBILITY_CXXFLAGS are added to it where needed.
228 CXXFLAGS=$save_CXXFLAGS
230 # Work around aliasing bugs - developers should comment this out
231 CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -fno-strict-aliasing"
232 CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
234 # gcc's builtin memcmp is slower than glibc's
235 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
236 CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -fno-builtin-memcmp"
237 CXXFLAGS="$CXXFLAGS -fno-builtin-memcmp"
240 dnl even if the compiler appears to support it, using visibility attributes isn't
241 dnl going to do anything useful currently on cygwin apart from emit lots of warnings
245 VISIBILITY_CXXFLAGS=""
249 AC_SUBST([VISIBILITY_CFLAGS])
250 AC_SUBST([VISIBILITY_CXXFLAGS])
253 dnl Hacks to enable 32 or 64 bit build
255 AC_ARG_ENABLE([32-bit],
256 [AS_HELP_STRING([--enable-32-bit],
257 [build 32-bit libraries @<:@default=auto@:>@])],
258 [enable_32bit="$enableval"],
261 if test "x$enable_32bit" = xyes; then
262 if test "x$GCC" = xyes; then
263 CFLAGS="$CFLAGS -m32"
264 CCASFLAGS="$CCASFLAGS -m32"
266 if test "x$GXX" = xyes; then
267 CXXFLAGS="$CXXFLAGS -m32"
270 AC_ARG_ENABLE([64-bit],
271 [AS_HELP_STRING([--enable-64-bit],
272 [build 64-bit libraries @<:@default=auto@:>@])],
273 [enable_64bit="$enableval"],
276 if test "x$enable_64bit" = xyes; then
277 if test "x$GCC" = xyes; then
278 CFLAGS="$CFLAGS -m64"
280 if test "x$GXX" = xyes; then
281 CXXFLAGS="$CXXFLAGS -m64"
285 dnl Can't have static and shared libraries, default to static if user
286 dnl explicitly requested. If both disabled, set to static since shared
287 dnl was explicitly requested.
288 case "x$enable_static$enable_shared" in
290 AC_MSG_WARN([Cannot build static and shared libraries, disabling shared])
294 AC_MSG_WARN([Cannot disable both static and shared libraries, enabling static])
299 AM_CONDITIONAL(BUILD_SHARED, test "x$enable_shared" = xyes)
302 dnl other compiler options
304 AC_ARG_ENABLE([debug],
305 [AS_HELP_STRING([--enable-debug],
306 [use debug compiler flags and macros @<:@default=disabled@:>@])],
307 [enable_debug="$enableval"],
310 if test "x$enable_debug" = xyes; then
311 DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD -DDEBUG"
312 if test "x$GCC_FOR_BUILD" = xyes; then
313 CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -g -O0"
315 if test "x$GXX_FOR_BUILD" = xyes; then
316 CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -g -O0"
319 DEFINES="$DEFINES -DDEBUG"
320 if test "x$GCC" = xyes; then
321 CFLAGS="$CFLAGS -g -O0"
323 if test "x$GXX" = xyes; then
324 CXXFLAGS="$CXXFLAGS -g -O0"
331 LIB_PREFIX_GLOB='lib'
332 LIB_VERSION_SEPARATOR='.'
333 if test "$enable_static" = yes; then
338 LIB_EXTENSION='dylib' ;;
340 dnl prefix can be 'cyg' or 'lib'
341 LIB_PREFIX_GLOB='???'
342 LIB_VERSION_SEPARATOR='-'
343 LIB_EXTENSION='dll' ;;
347 LIB_EXTENSION='so' ;;
350 AC_ARG_WITH([gl-lib-name],
351 [AS_HELP_STRING([--with-gl-lib-name@<:@=NAME@:>@],
352 [specify GL library name @<:@default=GL@:>@])],
355 AC_ARG_WITH([osmesa-lib-name],
356 [AS_HELP_STRING([--with-osmesa-lib-name@<:@=NAME@:>@],
357 [specify OSMesa library name @<:@default=OSMesa@:>@])],
358 [OSMESA_LIB=$withval],
360 AS_IF([test "x$GL_LIB" = xyes], [GL_LIB=GL])
361 AS_IF([test "x$OSMESA_LIB" = xyes], [OSMESA_LIB=OSMesa])
364 dnl Mangled Mesa support
366 AC_ARG_ENABLE([mangling],
367 [AS_HELP_STRING([--enable-mangling],
368 [enable mangled symbols and library name @<:@default=disabled@:>@])],
369 [enable_mangling="${enableval}"],
372 if test "x${enable_mangling}" = "xyes" ; then
373 DEFINES="${DEFINES} -DUSE_MGL_NAMESPACE"
374 GL_LIB="Mangled${GL_LIB}"
375 OSMESA_LIB="Mangled${OSMESA_LIB}"
378 AC_SUBST([OSMESA_LIB])
381 dnl potentially-infringing-but-nobody-knows-for-sure stuff
383 AC_ARG_ENABLE([texture-float],
384 [AS_HELP_STRING([--enable-texture-float],
385 [enable floating-point textures and renderbuffers @<:@default=disabled@:>@])],
386 [enable_texture_float="$enableval"],
387 [enable_texture_float=no]
389 if test "x$enable_texture_float" = xyes; then
390 AC_MSG_WARN([Floating-point textures enabled.])
391 AC_MSG_WARN([Please consult docs/patents.txt with your lawyer before building Mesa.])
392 DEFINES="$DEFINES -DTEXTURE_FLOAT_ENABLED"
395 GL_LIB_NAME='lib$(GL_LIB).'${LIB_EXTENSION}
396 OSMESA_LIB_NAME='lib$(OSMESA_LIB).'${LIB_EXTENSION}
397 EGL_LIB_NAME='lib$(EGL_LIB).'${LIB_EXTENSION}
398 GLESv1_CM_LIB_NAME='lib$(GLESv1_CM_LIB).'${LIB_EXTENSION}
399 GLESv2_LIB_NAME='lib$(GLESv2_LIB).'${LIB_EXTENSION}
400 VG_LIB_NAME='lib$(VG_LIB).'${LIB_EXTENSION}
401 GLAPI_LIB_NAME='lib$(GLAPI_LIB).'${LIB_EXTENSION}
403 GL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
404 EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
405 EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
406 GLESv1_CM_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv1_CM_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
407 GLESv2_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv2_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
408 VG_LIB_GLOB=${LIB_PREFIX_GLOB}'$(VG_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
409 GLAPI_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLAPI_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
411 AC_SUBST([GL_LIB_NAME])
412 AC_SUBST([OSMESA_LIB_NAME])
413 AC_SUBST([EGL_LIB_NAME])
414 AC_SUBST([GLESv1_CM_LIB_NAME])
415 AC_SUBST([GLESv2_LIB_NAME])
416 AC_SUBST([VG_LIB_NAME])
417 AC_SUBST([GLAPI_LIB_NAME])
419 AC_SUBST([GL_LIB_GLOB])
420 AC_SUBST([EGL_LIB_GLOB])
421 AC_SUBST([GLESv1_CM_LIB_GLOB])
422 AC_SUBST([GLESv2_LIB_GLOB])
423 AC_SUBST([VG_LIB_GLOB])
424 AC_SUBST([GLAPI_LIB_GLOB])
427 dnl Arch/platform-specific settings
430 [AS_HELP_STRING([--disable-asm],
431 [disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
432 [enable_asm="$enableval"],
436 AC_MSG_CHECKING([whether to enable assembly])
437 test "x$enable_asm" = xno && AC_MSG_RESULT([no])
438 # disable if cross compiling on x86/x86_64 since we must run gen_matypes
439 if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
443 AC_MSG_RESULT([no, cross compiling])
447 # check for supported arches
448 if test "x$enable_asm" = xyes; then
452 linux* | *freebsd* | dragonfly* | *netbsd*)
453 test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86
459 linux* | *freebsd* | dragonfly* | *netbsd*)
460 test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
475 DEFINES="$DEFINES -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
476 AC_MSG_RESULT([yes, x86])
479 DEFINES="$DEFINES -DUSE_X86_64_ASM"
480 AC_MSG_RESULT([yes, x86_64])
483 DEFINES="$DEFINES -DUSE_SPARC_ASM"
484 AC_MSG_RESULT([yes, sparc])
487 AC_MSG_RESULT([no, platform not supported])
492 dnl Check to see if dlopen is in default libraries (like Solaris, which
493 dnl has it in libc), or if libdl is needed to get it.
494 AC_CHECK_FUNC([dlopen], [DEFINES="$DEFINES -DHAVE_DLOPEN"],
495 [AC_CHECK_LIB([dl], [dlopen],
496 [DEFINES="$DEFINES -DHAVE_DLOPEN"; DLOPEN_LIBS="-ldl"])])
497 AC_SUBST([DLOPEN_LIBS])
503 AC_CHECK_FUNCS([clock_gettime], [CLOCK_LIB=],
504 [AC_CHECK_LIB([rt], [clock_gettime], [CLOCK_LIB=-lrt],
505 [AC_MSG_ERROR([Couldn't find clock_gettime])])])
506 AC_SUBST([CLOCK_LIB])
510 dnl See if posix_memalign is available
511 AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
513 dnl Check for pthreads
515 dnl AX_PTHREADS leaves PTHREAD_LIBS empty for gcc and sets PTHREAD_CFLAGS
516 dnl to -pthread, which causes problems if we need -lpthread to appear in
518 test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread"
520 dnl SELinux awareness.
521 AC_ARG_ENABLE([selinux],
522 [AS_HELP_STRING([--enable-selinux],
523 [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
524 [MESA_SELINUX="$enableval"],
526 if test "x$enable_selinux" = "xyes"; then
527 AC_CHECK_HEADER([selinux/selinux.h],[],
528 [AC_MSG_ERROR([SELinux headers not found])])
529 AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
530 [AC_MSG_ERROR([SELinux library not found])])
531 SELINUX_LIBS="-lselinux"
532 DEFINES="$DEFINES -DMESA_SELINUX"
534 AC_SUBST([SELINUX_LIBS])
537 AC_ARG_ENABLE([opengl],
538 [AS_HELP_STRING([--disable-opengl],
539 [disable support for standard OpenGL API @<:@default=no@:>@])],
540 [enable_opengl="$enableval"],
542 AC_ARG_ENABLE([gles1],
543 [AS_HELP_STRING([--enable-gles1],
544 [enable support for OpenGL ES 1.x API @<:@default=no@:>@])],
545 [enable_gles1="$enableval"],
547 AC_ARG_ENABLE([gles2],
548 [AS_HELP_STRING([--enable-gles2],
549 [enable support for OpenGL ES 2.x API @<:@default=no@:>@])],
550 [enable_gles2="$enableval"],
552 AC_ARG_ENABLE([openvg],
553 [AS_HELP_STRING([--enable-openvg],
554 [enable support for OpenVG API @<:@default=no@:>@])],
555 [enable_openvg="$enableval"],
559 [AS_HELP_STRING([--enable-dri],
560 [enable DRI modules @<:@default=enabled@:>@])],
561 [enable_dri="$enableval"],
564 [AS_HELP_STRING([--enable-glx],
565 [enable GLX library @<:@default=enabled@:>@])],
566 [enable_glx="$enableval"],
568 AC_ARG_ENABLE([osmesa],
569 [AS_HELP_STRING([--enable-osmesa],
570 [enable OSMesa library @<:@default=disabled@:>@])],
571 [enable_osmesa="$enableval"],
574 [AS_HELP_STRING([--disable-egl],
575 [disable EGL library @<:@default=enabled@:>@])],
576 [enable_egl="$enableval"],
579 AC_ARG_ENABLE([xorg],
580 [AS_HELP_STRING([--enable-xorg],
581 [enable support for X.Org DDX API @<:@default=no@:>@])],
582 [enable_xorg="$enableval"],
585 [AS_HELP_STRING([--enable-xa],
586 [enable build of the XA X Acceleration API @<:@default=no@:>@])],
587 [enable_xa="$enableval"],
590 [AS_HELP_STRING([--enable-gbm],
591 [enable gbm library @<:@default=auto@:>@])],
592 [enable_gbm="$enableval"],
595 AC_ARG_ENABLE([xvmc],
596 [AS_HELP_STRING([--enable-xvmc],
597 [enable xvmc library @<:@default=auto@:>@])],
598 [enable_xvmc="$enableval"],
600 AC_ARG_ENABLE([vdpau],
601 [AS_HELP_STRING([--enable-vdpau],
602 [enable vdpau library @<:@default=auto@:>@])],
603 [enable_vdpau="$enableval"],
605 AC_ARG_ENABLE([opencl],
606 [AS_HELP_STRING([--enable-opencl],
607 [enable OpenCL library NOTE: Enabling this option will also enable
608 --with-llvm-shared-libs
609 @<:@default=no@:>@])],
612 AC_ARG_ENABLE([xlib_glx],
613 [AS_HELP_STRING([--enable-xlib-glx],
614 [make GLX library Xlib-based instead of DRI-based @<:@default=disabled@:>@])],
615 [enable_xlib_glx="$enableval"],
616 [enable_xlib_glx=no])
617 AC_ARG_ENABLE([gallium_egl],
618 [AS_HELP_STRING([--enable-gallium-egl],
619 [enable optional EGL state tracker (not required
620 for EGL support in Gallium with OpenGL and OpenGL ES)
621 @<:@default=disable@:>@])],
622 [enable_gallium_egl="$enableval"],
623 [enable_gallium_egl=no])
624 AC_ARG_ENABLE([gallium_gbm],
625 [AS_HELP_STRING([--enable-gallium-gbm],
626 [enable optional gbm state tracker (not required for
627 gbm support in Gallium)
628 @<:@default=auto@:>@])],
629 [enable_gallium_gbm="$enableval"],
630 [enable_gallium_gbm=auto])
632 AC_ARG_ENABLE([r600-llvm-compiler],
633 [AS_HELP_STRING([--enable-r600-llvm-compiler],
634 [Enable experimental LLVM backend for graphics shaders @<:@default=disable@:>@])],
635 [enable_r600_llvm="$enableval"],
636 [enable_r600_llvm=no])
638 AC_ARG_ENABLE([gallium_tests],
639 [AS_HELP_STRING([--enable-gallium-tests],
640 [Enable optional Gallium tests) @<:@default=disable@:>@])],
641 [enable_gallium_tests="$enableval"],
642 [enable_gallium_tests=no])
644 # Option for Gallium drivers
646 # Keep this in sync with the --with-gallium-drivers help string default value
647 GALLIUM_DRIVERS_DEFAULT="r300,r600,svga,swrast"
649 AC_ARG_WITH([gallium-drivers],
650 [AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@],
651 [comma delimited Gallium drivers list, e.g.
652 "i915,nouveau,r300,r600,radeonsi,freedreno,svga,swrast"
653 @<:@default=r300,r600,svga,swrast@:>@])],
654 [with_gallium_drivers="$withval"],
655 [with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"])
657 # Doing '--without-gallium-drivers' will set this variable to 'no'. Clear it
658 # here so that the script doesn't choke on an unknown driver name later.
659 case "$with_gallium_drivers" in
660 yes) with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT" ;;
661 no) with_gallium_drivers='' ;;
664 if test "x$enable_opengl" = xno -a \
665 "x$enable_gles1" = xno -a \
666 "x$enable_gles2" = xno -a \
667 "x$enable_openvg" = xno -a \
668 "x$enable_xorg" = xno -a \
669 "x$enable_xa" = xno -a \
670 "x$enable_xvmc" = xno -a \
671 "x$enable_vdpau" = xno -a \
672 "x$enable_opencl" = xno; then
673 AC_MSG_ERROR([at least one API should be enabled])
677 if test "x$enable_opengl" = xno; then
678 API_DEFINES="$API_DEFINES -DFEATURE_GL=0"
680 API_DEFINES="$API_DEFINES -DFEATURE_GL=1"
682 if test "x$enable_gles1" = xyes; then
683 API_DEFINES="$API_DEFINES -DFEATURE_ES1=1"
685 if test "x$enable_gles2" = xyes; then
686 API_DEFINES="$API_DEFINES -DFEATURE_ES2=1"
688 AC_SUBST([API_DEFINES])
690 if test "x$enable_glx" = xno; then
691 AC_MSG_WARN([GLX disabled, disabling Xlib-GLX])
695 if test "x$enable_dri$enable_xlib_glx" = xyesyes; then
696 AC_MSG_ERROR([DRI and Xlib-GLX cannot be built together])
699 if test "x$enable_opengl$enable_xlib_glx" = xnoyes; then
700 AC_MSG_ERROR([Xlib-GLX cannot be built without OpenGL])
703 # Disable GLX if OpenGL is not enabled
704 if test "x$enable_glx$enable_opengl" = xyesno; then
705 AC_MSG_WARN([OpenGL not enabled, disabling GLX])
709 # Disable GLX if DRI and Xlib-GLX are not enabled
710 if test "x$enable_glx" = xyes -a \
711 "x$enable_dri" = xno -a \
712 "x$enable_xlib_glx" = xno; then
713 AC_MSG_WARN([Neither DRI nor Xlib-GLX enabled, disabling GLX])
717 AM_CONDITIONAL(HAVE_DRI, test "x$enable_dri" = xyes)
718 AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_xlib_glx" = xyes -o \
719 "x$enable_osmesa" = xyes)
721 AC_ARG_ENABLE([shared-glapi],
722 [AS_HELP_STRING([--enable-shared-glapi],
723 [Enable shared glapi for OpenGL @<:@default=yes@:>@])],
724 [enable_shared_glapi="$enableval"],
725 [enable_shared_glapi="$enable_dri"])
727 # Shared GLAPI is only useful for DRI
728 if test "x$enable_dri" = xno; then
729 AC_MSG_NOTICE([Shared GLAPI is only useful for DRI, disabling])
730 enable_shared_glapi=no
733 if test "x$enable_shared_glapi" = xyes; then
734 # libGL will use libglapi for function lookups (IN_DRI_DRIVER means to use
736 DEFINES="$DEFINES -DIN_DRI_DRIVER"
737 CORE_DIRS="mapi/shared-glapi"
739 AM_CONDITIONAL(HAVE_SHARED_GLAPI, test "x$enable_shared_glapi" = xyes)
742 dnl Driver specific build directories
744 GALLIUM_DIRS="auxiliary drivers state_trackers"
745 GALLIUM_TARGET_DIRS=""
746 GALLIUM_WINSYS_DIRS="sw"
747 GALLIUM_DRIVERS_DIRS="galahad trace rbug noop identity"
748 GALLIUM_STATE_TRACKERS_DIRS=""
750 # build glapi if OpenGL is enabled
751 if test "x$enable_opengl" = xyes; then
752 CORE_DIRS="$CORE_DIRS mapi/glapi"
755 # build es1api if OpenGL ES 1.x is enabled
756 if test "x$enable_gles1" = xyes; then
757 CORE_DIRS="$CORE_DIRS mapi/es1api"
760 # build es2api if OpenGL ES 2.x is enabled
761 if test "x$enable_gles2" = xyes; then
762 CORE_DIRS="$CORE_DIRS mapi/es2api"
765 # build glsl and mesa if OpenGL or OpenGL ES is enabled
766 case "x$enable_opengl$enable_gles1$enable_gles2" in
768 CORE_DIRS="mapi/glapi/gen $CORE_DIRS gtest glsl mesa"
772 case "x$enable_glx$enable_xlib_glx" in
774 DRIVER_DIRS="$DRIVER_DIRS x11"
775 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
776 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
777 GALLIUM_STATE_TRACKERS_DIRS="glx $GALLIUM_STATE_TRACKERS_DIRS"
778 HAVE_WINSYS_XLIB="yes"
782 SRC_DIRS="$SRC_DIRS glx"
786 if test "x$enable_dri" = xyes; then
787 DRIVER_DIRS="$DRIVER_DIRS dri"
789 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/dri"
790 GALLIUM_STATE_TRACKERS_DIRS="dri $GALLIUM_STATE_TRACKERS_DIRS"
794 if test "x$enable_osmesa" = xyes; then
795 DRIVER_DIRS="$DRIVER_DIRS osmesa"
799 AC_SUBST([DRIVER_DIRS])
800 AC_SUBST([GALLIUM_DIRS])
801 AC_SUBST([GALLIUM_TARGET_DIRS])
802 AC_SUBST([GALLIUM_WINSYS_DIRS])
803 AC_SUBST([GALLIUM_DRIVERS_DIRS])
804 AC_SUBST([GALLIUM_STATE_TRACKERS_DIRS])
805 AC_SUBST([MESA_LLVM])
808 PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED],
809 [have_libdrm=yes], [have_libdrm=no])
811 if test "x$enable_dri" = xyes; then
812 # DRI must be shared, I think
813 if test "$enable_static" = yes; then
814 AC_MSG_ERROR([Cannot use static libraries for DRI drivers])
817 # not a hard requirement as swrast does not depend on it
818 if test "x$have_libdrm" = xyes; then
819 DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
823 dnl Direct rendering or just indirect rendering
826 dnl Disable by default on GNU/Hurd
827 driglx_direct_default="no"
830 dnl Disable by default on cygwin
831 driglx_direct_default="no"
834 driglx_direct_default="yes"
837 AC_ARG_ENABLE([driglx-direct],
838 [AS_HELP_STRING([--disable-driglx-direct],
839 [disable direct rendering in GLX and EGL for DRI \
840 @<:@default=auto@:>@])],
841 [driglx_direct="$enableval"],
842 [driglx_direct="$driglx_direct_default"])
845 dnl libGL configuration per driver
847 case "x$enable_glx$enable_xlib_glx" in
850 PKG_CHECK_MODULES([XLIBGL], [x11 xext])
851 GL_PC_REQ_PRIV="x11 xext"
852 X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
853 GL_LIB_DEPS="$XLIBGL_LIBS"
854 GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
855 GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm $PTHREAD_LIBS"
859 PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
860 if test x"$driglx_direct" = xyes; then
861 if test "x$have_libdrm" != xyes; then
862 AC_MSG_ERROR([Direct rendering requires libdrm >= $LIBDRM_REQUIRED])
864 PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
865 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED"
868 # find the DRI deps for libGL
869 dri_modules="x11 xext xdamage xfixes x11-xcb xcb-glx >= 1.8.1 xcb-dri2 >= 1.8"
871 # add xf86vidmode if available
872 PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no)
873 if test "$HAVE_XF86VIDMODE" = yes ; then
874 dri_modules="$dri_modules xxf86vm"
877 PKG_CHECK_MODULES([DRIGL], [$dri_modules])
878 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
879 X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
880 GL_LIB_DEPS="$DRIGL_LIBS"
882 # need DRM libs, $PTHREAD_LIBS, etc.
883 GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
884 GL_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
888 # This is outside the case (above) so that it is invoked even for non-GLX
890 AM_CONDITIONAL(HAVE_XF86VIDMODE, test "x$HAVE_XF86VIDMODE" = xyes)
892 GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
893 GLESv1_CM_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
894 GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
895 GLESv2_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
897 AC_SUBST([X11_INCLUDES])
898 AC_SUBST([GL_LIB_DEPS])
899 AC_SUBST([GL_PC_REQ_PRIV])
900 AC_SUBST([GL_PC_LIB_PRIV])
901 AC_SUBST([GL_PC_CFLAGS])
902 AC_SUBST([DRI_PC_REQ_PRIV])
903 AC_SUBST([GLESv1_CM_LIB_DEPS])
904 AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
905 AC_SUBST([GLESv2_LIB_DEPS])
906 AC_SUBST([GLESv2_PC_LIB_PRIV])
908 DRI_LIB_DEPS="\$(top_builddir)/src/mesa/libdricore/libdricore${VERSION}.la"
910 AC_SUBST([HAVE_XF86VIDMODE])
915 case "x$enable_glx$enable_xlib_glx" in
917 DEFINES="$DEFINES -DUSE_XSHM"
920 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
921 if test "x$driglx_direct" = xyes; then
922 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
931 AC_ARG_ENABLE([glx-tls],
932 [AS_HELP_STRING([--enable-glx-tls],
933 [enable TLS support in GLX @<:@default=disabled@:>@])],
934 [GLX_USE_TLS="$enableval"],
936 AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
938 AS_IF([test "x$GLX_USE_TLS" = xyes -a "x$ax_pthread_ok" = xyes],
939 [DEFINES="${DEFINES} -DGLX_USE_TLS -DHAVE_PTHREAD"])
944 dnl Directory for DRI drivers
945 AC_ARG_WITH([dri-driverdir],
946 [AS_HELP_STRING([--with-dri-driverdir=DIR],
947 [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
948 [DRI_DRIVER_INSTALL_DIR="$withval"],
949 [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
950 AC_SUBST([DRI_DRIVER_INSTALL_DIR])
951 dnl Extra search path for DRI drivers
952 AC_ARG_WITH([dri-searchpath],
953 [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
954 [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
955 [DRI_DRIVER_SEARCH_DIR="$withval"],
956 [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
957 AC_SUBST([DRI_DRIVER_SEARCH_DIR])
958 dnl Which drivers to build - default is chosen by platform
959 AC_ARG_WITH([dri-drivers],
960 [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
961 [comma delimited DRI drivers list, e.g.
962 "swrast,i965,radeon" @<:@default=auto@:>@])],
963 [with_dri_drivers="$withval"],
964 [with_dri_drivers=yes])
965 if test "x$with_dri_drivers" = x; then
969 dnl If $with_dri_drivers is yes, directories will be added through
972 case "$with_dri_drivers" in
975 # classic DRI drivers require FEATURE_GL to build
976 if test "x$enable_opengl" = xyes; then
981 # verify the requested driver directories exist
982 dri_drivers=`IFS=', '; echo $with_dri_drivers`
983 for driver in $dri_drivers; do
984 test -d "$srcdir/src/mesa/drivers/dri/$driver" || \
985 AC_MSG_ERROR([DRI driver directory '$driver' does not exist])
987 DRI_DIRS="$dri_drivers"
988 if test -n "$DRI_DIRS" -a "x$enable_opengl" != xyes; then
989 AC_MSG_ERROR([--with-dri-drivers requires OpenGL])
994 dnl Set DRI_DIRS, DEFINES and LIB_DEPS
995 if test "x$enable_dri" = xyes; then
996 # Platform specific settings and drivers to build
999 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1000 DEFINES="$DEFINES -DHAVE_ALIAS"
1004 if test "x$DRI_DIRS" = "xyes"; then
1005 DRI_DIRS="i915 i965 nouveau r200 radeon swrast"
1009 # Build only the drivers for cards that exist on PowerPC.
1010 if test "x$DRI_DIRS" = "xyes"; then
1011 DRI_DIRS="r200 radeon swrast"
1015 # Build only the drivers for cards that exist on sparc
1016 if test "x$DRI_DIRS" = "xyes"; then
1017 DRI_DIRS="r200 radeon swrast"
1022 freebsd* | dragonfly* | *netbsd*)
1023 DEFINES="$DEFINES -DHAVE_PTHREAD -DUSE_EXTERNAL_DXTN_LIB=1"
1024 DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS"
1026 if test "x$DRI_DIRS" = "xyes"; then
1027 DRI_DIRS="i915 i965 nouveau r200 radeon swrast"
1031 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1032 DEFINES="$DEFINES -DHAVE_ALIAS"
1035 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1038 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1039 if test "x$DRI_DIRS" = "xyes"; then
1046 if test "x$DRI_DIRS" = "xyes"; then
1047 DRI_DIRS="i915 i965 nouveau r200 radeon swrast"
1050 DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'`
1055 AC_ARG_WITH([expat],
1056 [AS_HELP_STRING([--with-expat=DIR],
1057 [expat install directory])],[
1058 EXPAT_INCLUDES="-I$withval/include"
1059 CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES"
1060 LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR"
1061 EXPAT_LIB="-L$withval/$LIB_DIR -lexpat"
1063 AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])])
1065 AC_CHECK_LIB([expat],[XML_ParserCreate],[],
1066 [AC_MSG_ERROR([Expat required for DRI.])])
1069 # If we are building any DRI driver other than swrast.
1070 if test -n "$DRI_DIRS" -a x"$DRI_DIRS" != xswrast; then
1071 # ... libdrm is required
1072 if test "x$have_libdrm" != xyes; then
1073 AC_MSG_ERROR([DRI drivers requires libdrm >= $LIBDRM_REQUIRED])
1075 # ... and build dricommon
1079 # put all the necessary libs together
1080 DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1081 GALLIUM_DRI_LIB_DEPS="$GALLIUM_DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
1083 AM_CONDITIONAL(NEED_LIBDRICORE, test -n "$DRI_DIRS")
1084 AC_SUBST([DRI_DIRS])
1085 AC_SUBST([EXPAT_INCLUDES])
1086 AC_SUBST([DRI_LIB_DEPS])
1087 AC_SUBST([GALLIUM_DRI_LIB_DEPS])
1091 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1093 for d in $(echo $DRI_DIRS | sed 's/,/ /g'); do
1109 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NVVIEUX_REQUIRED])
1110 HAVE_NOUVEAU_DRI=yes;
1116 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1118 for d in $(echo $DRI_DIRS | sed 's/,/ /g'); do
1121 HAVE_RADEON_DRI=yes;
1134 HAVE_SWRAST_DRI=yes;
1139 dnl OSMesa configuration
1142 dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
1143 AC_ARG_WITH([osmesa-bits],
1144 [AS_HELP_STRING([--with-osmesa-bits=BITS],
1145 [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
1146 [osmesa_bits="$withval"],
1148 if test "x$osmesa_bits" != x8; then
1149 if test "x$enable_dri" = xyes -o "x$enable_glx" = xyes; then
1150 AC_MSG_WARN([Ignoring OSMesa channel bits because of non-OSMesa driver])
1154 case "x$osmesa_bits" in
1156 OSMESA_LIB="${OSMESA_LIB}"
1159 OSMESA_LIB="${OSMESA_LIB}$osmesa_bits"
1160 DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
1163 AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
1167 if test "x$enable_osmesa" = xyes; then
1168 # only link libraries with osmesa if shared
1169 if test "$enable_static" = no; then
1170 OSMESA_LIB_DEPS="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
1175 OSMESA_PC_LIB_PRIV="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
1178 AC_SUBST([OSMESA_LIB_DEPS])
1179 AC_SUBST([OSMESA_MESA_DEPS])
1180 AC_SUBST([OSMESA_PC_REQ])
1181 AC_SUBST([OSMESA_PC_LIB_PRIV])
1184 dnl gbm configuration
1186 if test "x$enable_gbm" = xauto; then
1187 case "$with_egl_platforms" in
1194 if test "x$enable_gbm" = xyes; then
1195 SRC_DIRS="$SRC_DIRS gbm"
1197 PKG_CHECK_MODULES([LIBUDEV], [libudev], [],
1198 AC_MSG_ERROR([gbm needs udev]))
1200 if test "x$enable_dri" = xyes; then
1201 GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri"
1202 if test "x$enable_shared_glapi" = xno; then
1203 AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi])
1207 GBM_PC_REQ_PRIV="libudev"
1208 GBM_PC_LIB_PRIV="$DLOPEN_LIBS"
1209 AC_SUBST([GBM_PC_REQ_PRIV])
1210 AC_SUBST([GBM_PC_LIB_PRIV])
1213 dnl EGL configuration
1217 if test "x$enable_egl" = xyes; then
1218 SRC_DIRS="$SRC_DIRS egl"
1219 EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS $PTHREAD_LIBS"
1221 AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"])
1223 if test "$enable_static" != yes; then
1224 # build egl_glx when libGL is built
1225 PKG_CHECK_MODULES([LIBUDEV], [libudev > 150],
1226 [have_libudev=yes],[have_libudev=no])
1227 if test "$have_libudev" = yes; then
1228 DEFINES="$DEFINES -DHAVE_LIBUDEV"
1231 if test "x$enable_dri" = xyes; then
1232 HAVE_EGL_DRIVER_DRI2=1
1237 AC_SUBST([EGL_LIB_DEPS])
1240 dnl EGL Gallium configuration
1242 if test "x$enable_gallium_egl" = xyes; then
1243 if test "x$with_gallium_drivers" = x; then
1244 AC_MSG_ERROR([cannot enable egl_gallium without Gallium])
1246 if test "x$enable_egl" = xno; then
1247 AC_MSG_ERROR([cannot enable egl_gallium without EGL])
1249 if test "x$have_libdrm" != xyes; then
1250 AC_MSG_ERROR([egl_gallium requires libdrm >= $LIBDRM_REQUIRED])
1253 GALLIUM_STATE_TRACKERS_DIRS="egl $GALLIUM_STATE_TRACKERS_DIRS"
1254 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl-static"
1259 dnl gbm Gallium configuration
1261 if test "x$enable_gallium_gbm" = xauto; then
1262 case "$enable_gbm$HAVE_ST_EGL$enable_dri$with_egl_platforms" in
1264 enable_gallium_gbm=yes ;;
1266 enable_gallium_gbm=no ;;
1269 if test "x$enable_gallium_gbm" = xyes; then
1270 if test "x$with_gallium_drivers" = x; then
1271 AC_MSG_ERROR([cannot enable gbm_gallium without Gallium])
1273 if test "x$enable_gbm" = xno; then
1274 AC_MSG_ERROR([cannot enable gbm_gallium without gbm])
1276 # gbm_gallium abuses DRI_LIB_DEPS to link. Make sure it is set.
1277 if test "x$enable_dri" = xno; then
1278 AC_MSG_ERROR([gbm_gallium requires --enable-dri to build])
1281 GALLIUM_STATE_TRACKERS_DIRS="gbm $GALLIUM_STATE_TRACKERS_DIRS"
1282 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS gbm"
1284 enable_gallium_loader=yes
1288 dnl X.Org DDX configuration
1290 if test "x$enable_xorg" = xyes; then
1291 PKG_CHECK_MODULES([XORG], [xorg-server >= 1.6.0])
1292 PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
1293 PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
1294 PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
1295 HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
1296 HAVE_XEXTPROTO_71="no")
1297 GALLIUM_STATE_TRACKERS_DIRS="xorg $GALLIUM_STATE_TRACKERS_DIRS"
1302 dnl XA configuration
1304 if test "x$enable_xa" = xyes; then
1307 AC_CHECK_PROG(NM, nm, "nm")
1308 if test "x$AWK" = x || test "x$GREP" = x || test "x$NM" = x; then
1309 AC_MSG_WARN([Missing one of nm, grep or awk. Disabling xa.])
1313 if test "x$enable_xa" = xyes; then
1314 GALLIUM_STATE_TRACKERS_DIRS="xa $GALLIUM_STATE_TRACKERS_DIRS"
1322 dnl OpenVG configuration
1326 if test "x$enable_openvg" = xyes; then
1327 if test "x$enable_egl" = xno; then
1328 AC_MSG_ERROR([cannot enable OpenVG without EGL])
1330 if test "x$with_gallium_drivers" = x; then
1331 AC_MSG_ERROR([cannot enable OpenVG without Gallium])
1333 if test "x$enable_gallium_egl" = xno; then
1334 AC_MSG_ERROR([cannot enable OpenVG without egl_gallium])
1337 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
1338 VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS $PTHREAD_LIBS"
1339 CORE_DIRS="$CORE_DIRS mapi/vgapi"
1340 GALLIUM_STATE_TRACKERS_DIRS="vega $GALLIUM_STATE_TRACKERS_DIRS"
1342 VG_PC_LIB_PRIV="-lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
1343 AC_SUBST([VG_PC_LIB_PRIV])
1345 AM_CONDITIONAL(HAVE_OPENVG, test "x$enable_openvg" = xyes)
1348 dnl Gallium G3DVL configuration
1350 AC_ARG_ENABLE([gallium-g3dvl],
1351 [AS_HELP_STRING([--enable-gallium-g3dvl],
1352 [build gallium g3dvl @<:@default=disabled@:>@])],
1353 [enable_gallium_g3dvl="$enableval"],
1354 [enable_gallium_g3dvl=no])
1355 if test "x$enable_gallium_g3dvl" = xyes; then
1356 if test "x$with_gallium_drivers" = x; then
1357 AC_MSG_ERROR([cannot enable G3DVL without Gallium])
1360 if test "x$enable_xvmc" = xauto; then
1361 PKG_CHECK_EXISTS([xvmc], [enable_xvmc=yes], [enable_xvmc=no])
1364 if test "x$enable_vdpau" = xauto; then
1365 PKG_CHECK_EXISTS([vdpau], [enable_vdpau=yes], [enable_vdpau=no])
1369 if test "x$enable_xvmc" = xyes; then
1370 PKG_CHECK_MODULES([XVMC], [xvmc >= 1.0.6 x11-xcb xcb-dri2 >= 1.8])
1371 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xvmc"
1375 if test "x$enable_vdpau" = xyes; then
1376 PKG_CHECK_MODULES([VDPAU], [vdpau >= 0.4.1 x11-xcb xcb-dri2 >= 1.8])
1377 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS vdpau"
1382 dnl OpenCL configuration
1385 AC_ARG_WITH([libclc-path],
1386 [AS_HELP_STRING([--with-libclc-path],
1387 [DEPRECATED: See http://dri.freedesktop.org/wiki/GalliumCompute#How_to_Install])],
1388 [LIBCLC_PATH="$withval"],
1391 if test "x$LIBCLC_PATH" != x; then
1392 AC_MSG_ERROR([The --with-libclc-path option has been deprecated.
1393 Please review the updated build instructions for clover:
1394 http://dri.freedesktop.org/wiki/GalliumCompute])
1398 AC_ARG_WITH([clang-libdir],
1399 [AS_HELP_STRING([--with-clang-libdir],
1400 [Path to Clang libraries @<:@default=llvm-config --libdir@:>@])],
1401 [CLANG_LIBDIR="$withval"],
1404 LIBCLC_INCLUDEDIR=`pkg-config --variable=includedir libclc`
1405 LIBCLC_LIBEXECDIR=`pkg-config --variable=libexecdir libclc`
1406 AC_SUBST([LIBCLC_INCLUDEDIR])
1407 AC_SUBST([LIBCLC_LIBEXECDIR])
1409 if test "x$enable_opencl" = xyes; then
1410 if test "x$with_gallium_drivers" = x; then
1411 AC_MSG_ERROR([cannot enable OpenCL without Gallium])
1414 if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 6; then
1415 AC_MSG_ERROR([gcc >= 4.6 is required to build clover])
1418 if test "x$LIBCLC_INCLUDEDIR" == x || test "x$LIBCLC_LIBEXECDIR" == x; then
1419 AC_MSG_ERROR([pkg-config cannot use libclc.pc which is required to build clover])
1422 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS clover"
1423 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS opencl"
1424 enable_gallium_loader=yes
1427 if test "x$enable_gallium_gbm" = xyes || test "x$enable_opencl" = xyes; then
1428 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS pipe-loader"
1432 dnl Gallium configuration
1434 if test "x$with_gallium_drivers" != x; then
1435 SRC_DIRS="$SRC_DIRS gallium gallium/winsys gallium/targets"
1437 AM_CONDITIONAL(HAVE_GALLIUM, test "x$with_gallium_drivers" != x)
1439 AC_SUBST([LLVM_BINDIR])
1440 AC_SUBST([LLVM_CFLAGS])
1441 AC_SUBST([LLVM_CPPFLAGS])
1442 AC_SUBST([LLVM_CXXFLAGS])
1443 AC_SUBST([LLVM_LIBDIR])
1444 AC_SUBST([LLVM_LIBS])
1445 AC_SUBST([LLVM_LDFLAGS])
1446 AC_SUBST([LLVM_INCLUDEDIR])
1447 AC_SUBST([LLVM_VERSION])
1448 AC_SUBST([CLANG_RESOURCE_DIR])
1450 case "x$enable_opengl$enable_gles1$enable_gles2" in
1452 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
1456 AM_CONDITIONAL(HAVE_OPENGL, test "x$HAVE_OPENGL" = xyes)
1458 AC_SUBST([VG_LIB_DEPS])
1459 AC_SUBST([EGL_CLIENT_APIS])
1462 dnl EGL Platforms configuration
1464 AC_ARG_WITH([egl-platforms],
1465 [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1466 [comma delimited native platforms libEGL supports, e.g.
1467 "x11,drm" @<:@default=auto@:>@])],
1468 [with_egl_platforms="$withval"],
1469 [if test "x$enable_egl" = xyes; then
1470 with_egl_platforms="x11"
1472 with_egl_platforms=""
1477 if test "x$with_egl_platforms" != "x" -a "x$enable_egl" != xyes; then
1478 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1481 # Do per-EGL platform setups and checks
1482 egl_platforms=`IFS=', '; echo $with_egl_platforms`
1483 for plat in $egl_platforms; do
1486 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/$plat"
1490 PKG_CHECK_MODULES([WAYLAND], [wayland-client >= 1.0.2 wayland-server >= 1.0.2])
1491 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/wayland"
1493 WAYLAND_PREFIX=`$PKG_CONFIG --variable=prefix wayland-client`
1494 AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner],,
1495 [${WAYLAND_PREFIX}/bin$PATH_SEPARATOR$PATH])
1499 PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 >= 1.8 xcb-xfixes])
1501 if test "x$enable_glx" = xyes; then
1502 HAVE_EGL_DRIVER_GLX=1
1507 test "x$enable_gbm" = "xno" &&
1508 AC_MSG_ERROR([EGL platform drm needs gbm])
1515 AC_MSG_ERROR([EGL platform '$plat' does not exist])
1519 case "$plat$have_libudev" in
1521 AC_MSG_ERROR([cannot build $plat platfrom without udev]) ;;
1525 # libEGL wants to default to the first platform specified in
1526 # ./configure. parse that here.
1527 if test "x$egl_platforms" != "x"; then
1528 FIRST_PLATFORM_CAPS=`echo $egl_platforms | sed 's| .*||' | tr 'a-z' 'A-Z'`
1529 EGL_NATIVE_PLATFORM="_EGL_PLATFORM_$FIRST_PLATFORM_CAPS"
1531 EGL_NATIVE_PLATFORM="_EGL_INVALID_PLATFORM"
1534 EGL_PLATFORMS="$egl_platforms"
1536 AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
1537 AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
1538 AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1)
1539 AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1)
1540 AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1)
1542 AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
1543 AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
1545 AC_SUBST([EGL_NATIVE_PLATFORM])
1546 AC_SUBST([EGL_PLATFORMS])
1547 AC_SUBST([EGL_CFLAGS])
1549 AC_ARG_WITH([egl-driver-dir],
1550 [AS_HELP_STRING([--with-egl-driver-dir=DIR],
1551 [directory for EGL drivers [[default=${libdir}/egl]]])],
1552 [EGL_DRIVER_INSTALL_DIR="$withval"],
1553 [EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
1554 AC_SUBST([EGL_DRIVER_INSTALL_DIR])
1556 AC_ARG_WITH([xorg-driver-dir],
1557 [AS_HELP_STRING([--with-xorg-driver-dir=DIR],
1558 [Default xorg driver directory[[default=${libdir}/xorg/modules/drivers]]])],
1559 [XORG_DRIVER_INSTALL_DIR="$withval"],
1560 [XORG_DRIVER_INSTALL_DIR="${libdir}/xorg/modules/drivers"])
1561 AC_SUBST([XORG_DRIVER_INSTALL_DIR])
1563 AC_ARG_WITH([max-width],
1564 [AS_HELP_STRING([--with-max-width=N],
1565 [Maximum framebuffer width (4096)])],
1566 [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1567 AS_IF([test "${withval}" -gt "4096"],
1568 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1570 AC_ARG_WITH([max-height],
1571 [AS_HELP_STRING([--with-max-height=N],
1572 [Maximum framebuffer height (4096)])],
1573 [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1574 AS_IF([test "${withval}" -gt "4096"],
1575 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1581 AC_ARG_ENABLE([gallium-llvm],
1582 [AS_HELP_STRING([--enable-gallium-llvm],
1583 [build gallium LLVM support @<:@default=enabled on x86/x86_64@:>@])],
1584 [enable_gallium_llvm="$enableval"],
1585 [enable_gallium_llvm=auto])
1587 AC_ARG_WITH([llvm-shared-libs],
1588 [AS_HELP_STRING([--with-llvm-shared-libs],
1589 [link with LLVM shared libraries @<:@default=disabled@:>@])],
1591 [with_llvm_shared_libs=no])
1592 AS_IF([test x$enable_opencl = xyes],
1594 AC_MSG_WARN([OpenCL required, forcing LLVM shared libraries])
1595 with_llvm_shared_libs=yes
1598 AC_ARG_WITH([llvm-prefix],
1599 [AS_HELP_STRING([--with-llvm-prefix],
1600 [Prefix for LLVM installations in non-standard locations])],
1601 [llvm_prefix="$withval"],
1605 # Call this inside ` ` to get the return value.
1606 # $1 is the llvm-config command with arguments.
1607 strip_unwanted_llvm_flags() {
1608 # Use \> (marks the end of the word)
1610 -e 's/-DNDEBUG\>//g' \
1611 -e 's/-pedantic\>//g' \
1612 -e 's/-Wcovered-switch-default\>//g' \
1616 -e 's/-fomit-frame-pointer\>//g'
1620 if test "x$with_gallium_drivers" = x; then
1621 enable_gallium_llvm=no
1623 if test "x$enable_gallium_llvm" = xauto; then
1625 i*86|x86_64) enable_gallium_llvm=yes;;
1628 if test "x$enable_gallium_llvm" = xyes; then
1629 if test "x$llvm_prefix" != x; then
1630 AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no], ["$llvm_prefix/bin"])
1632 AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
1635 if test "x$LLVM_CONFIG" != xno; then
1636 LLVM_VERSION=`$LLVM_CONFIG --version | sed 's/svn.*//g'`
1637 LLVM_VERSION_INT=`echo $LLVM_VERSION | sed -e 's/\([[0-9]]\)\.\([[0-9]]\)/\10\2/g'`
1638 LLVM_COMPONENTS="engine bitwriter"
1639 if $LLVM_CONFIG --components | grep -q '\<mcjit\>'; then
1640 LLVM_COMPONENTS="${LLVM_COMPONENTS} mcjit"
1642 if $LLVM_CONFIG --components | grep -q '\<oprofilejit\>'; then
1643 LLVM_COMPONENTS="${LLVM_COMPONENTS} oprofilejit"
1646 if test "x$enable_opencl" = xyes; then
1647 LLVM_COMPONENTS="${LLVM_COMPONENTS} ipo linker instrumentation"
1649 LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1650 LLVM_BINDIR=`$LLVM_CONFIG --bindir`
1651 LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"`
1652 LLVM_CFLAGS=$LLVM_CPPFLAGS # CPPFLAGS seem to be sufficient
1653 LLVM_CXXFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cxxflags"`
1654 LLVM_INCLUDEDIR=`$LLVM_CONFIG --includedir`
1655 LLVM_LIBDIR=`$LLVM_CONFIG --libdir`
1656 DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT"
1659 dnl Check for Clang interanl headers
1660 if test "x$enable_opencl" = xyes; then
1661 if test "x$CLANG_LIBDIR" = x; then
1662 CLANG_LIBDIR=${LLVM_LIBDIR}
1664 CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
1665 AC_CHECK_FILE("$CLANG_RESOURCE_DIR/include/stddef.h",,
1666 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.]))
1677 dnl Directory for XVMC libs
1678 AC_ARG_WITH([xvmc-libdir],
1679 [AS_HELP_STRING([--with-xvmc-libdir=DIR],
1680 [directory for the XVMC libraries @<:@default=${libdir}@:>@])],
1681 [XVMC_LIB_INSTALL_DIR="$withval"],
1682 [XVMC_LIB_INSTALL_DIR='${libdir}'])
1683 AC_SUBST([XVMC_LIB_INSTALL_DIR])
1688 if test "x$enable_gallium_tests" = xyes; then
1689 SRC_DIRS="$SRC_DIRS gallium/tests/trivial gallium/tests/unit"
1690 enable_gallium_loader=yes
1693 dnl Directory for VDPAU libs
1694 AC_ARG_WITH([vdpau-libdir],
1695 [AS_HELP_STRING([--with-vdpau-libdir=DIR],
1696 [directory for the VDPAU libraries @<:@default=${libdir}/vdpau@:>@])],
1697 [VDPAU_LIB_INSTALL_DIR="$withval"],
1698 [VDPAU_LIB_INSTALL_DIR='${libdir}/vdpau'])
1699 AC_SUBST([VDPAU_LIB_INSTALL_DIR])
1701 dnl Directory for OpenCL libs
1702 AC_ARG_WITH([opencl-libdir],
1703 [AS_HELP_STRING([--with-opencl-libdir=DIR],
1704 [directory for auxiliary libraries used by the OpenCL implementation @<:@default=${libdir}/opencl@:>@])],
1705 [OPENCL_LIB_INSTALL_DIR="$withval"],
1706 [OPENCL_LIB_INSTALL_DIR='${libdir}/opencl'])
1707 AC_SUBST([OPENCL_LIB_INSTALL_DIR])
1710 dnl Gallium helper functions
1712 gallium_check_st() {
1713 if test "x$HAVE_ST_DRI" = xyes || test "x$HAVE_ST_XORG" = xyes ||
1714 test "x$HAVE_ST_XA" = xyes || test "x$HAVE_ST_XVMC" = xyes ||
1715 test "x$HAVE_ST_VDPAU" = xyes; then
1716 if test "x$have_libdrm" != xyes; then
1717 AC_MSG_ERROR([DRI or Xorg DDX requires libdrm >= $LIBDRM_REQUIRED])
1719 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
1721 if test "x$HAVE_ST_DRI" = xyes && test "x$2" != x; then
1722 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
1725 if test "x$HAVE_ST_XORG" = xyes && test "x$3" != x; then
1726 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
1728 if test "x$HAVE_ST_XA" = xyes && test "x$4" != x; then
1729 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $4"
1731 if test "x$HAVE_ST_XVMC" = xyes && test "x$5" != x; then
1732 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $5"
1734 if test "x$HAVE_ST_VDPAU" = xyes && test "x$6" != x; then
1735 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $6"
1739 gallium_require_llvm() {
1740 if test "x$MESA_LLVM" = x0; then
1742 i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
1747 gallium_require_drm_loader() {
1748 if test "x$enable_gallium_loader" = xyes; then
1749 PKG_CHECK_MODULES([LIBUDEV], [libudev], [],
1750 AC_MSG_ERROR([Gallium drm loader requires libudev]))
1751 if test "x$have_libdrm" != xyes; then
1752 AC_MSG_ERROR([Gallium drm loader requires libdrm >= $LIBDRM_REQUIRED])
1754 enable_gallium_drm_loader=yes
1758 radeon_llvm_check() {
1759 LLVM_REQUIRED_VERSION_MAJOR="3"
1760 LLVM_REQUIRED_VERSION_MINOR="2"
1761 if test "$LLVM_VERSION_INT" -lt "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}"; then
1762 AC_MSG_ERROR([LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR or newer with R600 target enabled is required.
1763 To use the r600/radeonsi LLVM backend, you need to fetch the LLVM source from:
1764 git://people.freedesktop.org/~tstellar/llvm master
1765 and build with --enable-experimental-targets=R600])
1767 if test true && $LLVM_CONFIG --targets-built | grep -qv '\<R600\>' ; then
1768 AC_MSG_ERROR([LLVM R600 Target not enabled. You can enable it when building the LLVM
1769 sources with the --enable-experimental-targets=R600
1772 AC_MSG_WARN([Please ensure you use the latest llvm tree from git://people.freedesktop.org/~tstellar/llvm master before submitting a bug])
1773 LLVM_COMPONENTS="${LLVM_COMPONENTS} r600"
1777 dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this block
1778 if test "x$with_gallium_drivers" != x; then
1779 gallium_drivers=`IFS=', '; echo $with_gallium_drivers`
1780 for driver in $gallium_drivers; do
1783 HAVE_GALLIUM_SVGA=yes
1784 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga softpipe"
1785 gallium_check_st "svga/drm" "dri-vmwgfx" "" "xa-vmwgfx"
1788 HAVE_GALLIUM_I915=yes
1789 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1790 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915 softpipe"
1791 if test "x$MESA_LLVM" = x1; then
1792 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1794 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1795 gallium_check_st "i915/drm" "dri-i915" "xorg-i915"
1798 HAVE_GALLIUM_R300=yes
1799 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1800 gallium_require_llvm "Gallium R300"
1801 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
1802 gallium_check_st "radeon/drm" "dri-r300" "" "" "xvmc-r300" "vdpau-r300"
1805 HAVE_GALLIUM_R600=yes
1806 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1807 gallium_require_drm_loader
1808 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
1809 if test "x$enable_r600_llvm" = xyes -o "x$enable_opencl" = xyes; then
1811 NEED_RADEON_GALLIUM=yes;
1812 R600_NEED_RADEON_GALLIUM=yes;
1813 LLVM_COMPONENTS="${LLVM_COMPONENTS} ipo bitreader asmparser"
1815 if test "x$enable_r600_llvm" = xyes; then
1816 USE_R600_LLVM_COMPILER=yes;
1818 if test "x$enable_opencl" = xyes; then
1819 LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
1821 gallium_check_st "radeon/drm" "dri-r600" "xorg-r600" "" "xvmc-r600" "vdpau-r600"
1824 HAVE_GALLIUM_RADEONSI=yes
1825 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1826 gallium_require_drm_loader
1827 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS radeonsi"
1829 NEED_RADEON_GALLIUM=yes;
1830 gallium_check_st "radeon/drm" "dri-radeonsi" "xorg-radeonsi" "" "" "vdpau-radeonsi" ""
1833 HAVE_GALLIUM_NOUVEAU=yes
1834 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
1835 gallium_require_drm_loader
1836 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nv30 nv50 nvc0"
1837 gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau" "" "xvmc-nouveau" "vdpau-nouveau"
1840 HAVE_GALLIUM_FREEDRENO=yes
1841 PKG_CHECK_MODULES([FREEDRENO], [libdrm_freedreno >= $LIBDRM_FREEDRENO_REQUIRED])
1842 gallium_require_drm_loader
1843 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS freedreno"
1844 gallium_check_st "freedreno/drm" "dri-freedreno" "" "" "" ""
1847 HAVE_GALLIUM_SOFTPIPE=yes
1848 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS softpipe"
1849 if test "x$MESA_LLVM" = x1; then
1850 HAVE_GALLIUM_LLVMPIPE=yes
1851 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1854 if test "x$HAVE_ST_DRI" = xyes; then
1855 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast"
1857 if test "x$HAVE_ST_VDPAU" = xyes; then
1858 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS vdpau-softpipe"
1860 if test "x$HAVE_ST_XVMC" = xyes; then
1861 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS xvmc-softpipe"
1863 if test "x$HAVE_ST_VDPAU" = xyes ||
1864 test "x$HAVE_ST_XVMC" = xyes; then
1865 if test "x$HAVE_WINSYS_XLIB" != xyes; then
1866 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
1871 AC_MSG_ERROR([Unknown Gallium driver: $driver])
1877 dnl Set LLVM_LIBS - This is done after the driver configuration so
1878 dnl that drivers can add additonal components to LLVM_COMPONENTS.
1879 dnl Previously, gallium drivers were updating LLVM_LIBS directly
1880 dnl by calling llvm-config --libs ${DRIVER_LLVM_COMPONENTS}, but
1881 dnl this was causing the same libraries to be appear multiple times
1884 if test "x$MESA_LLVM" != x0; then
1886 LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`"
1888 if test "x$with_llvm_shared_libs" = xyes; then
1889 dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
1890 LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
1891 AC_CHECK_FILE("$LLVM_LIBDIR/lib$LLVM_SO_NAME.so", llvm_have_one_so=yes,)
1893 if test "x$llvm_have_one_so" = xyes; then
1894 dnl LLVM was built using auto*, so there is only one shared object.
1895 LLVM_LIBS="-l$LLVM_SO_NAME"
1897 dnl If LLVM was built with CMake, there will be one shared object per
1899 AC_CHECK_FILE("$LLVM_LIBDIR/libLLVMTarget.so",,
1900 AC_MSG_ERROR([Could not find llvm shared libraries:
1901 Please make sure you have built llvm with the --enable-shared option
1902 and that your llvm libraries are installed in $LLVM_LIBDIR
1903 If you have installed your llvm libraries to a different directory you
1904 can use the --with-llvm-prefix= configure flag to specify this directory.
1905 NOTE: Mesa is attempting to use llvm shared libraries because you have
1906 passed one of the following options to configure:
1907 --with-llvm-shared-libs
1909 If you do not want to build with llvm shared libraries and instead want to
1910 use llvm static libraries then remove these options from your configure
1911 invocation and reconfigure.]))
1913 dnl We don't need to update LLVM_LIBS in this case because the LLVM
1914 dnl install uses a shared object for each compoenent and we have
1915 dnl already added all of these objects to LLVM_LIBS.
1920 AM_CONDITIONAL(HAVE_GALLIUM_SVGA, test "x$HAVE_GALLIUM_SVGA" = xyes)
1921 AM_CONDITIONAL(HAVE_GALLIUM_I915, test "x$HAVE_GALLIUM_I915" = xyes)
1922 AM_CONDITIONAL(HAVE_GALLIUM_R300, test "x$HAVE_GALLIUM_R300" = xyes)
1923 AM_CONDITIONAL(HAVE_GALLIUM_R600, test "x$HAVE_GALLIUM_R600" = xyes)
1924 AM_CONDITIONAL(HAVE_GALLIUM_RADEONSI, test "x$HAVE_GALLIUM_RADEONSI" = xyes)
1925 AM_CONDITIONAL(HAVE_GALLIUM_NOUVEAU, test "x$HAVE_GALLIUM_NOUVEAU" = xyes)
1926 AM_CONDITIONAL(HAVE_GALLIUM_FREEDRENO, test "x$HAVE_GALLIUM_FREEDRENO" = xyes)
1927 AM_CONDITIONAL(HAVE_GALLIUM_SOFTPIPE, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes)
1928 AM_CONDITIONAL(HAVE_GALLIUM_LLVMPIPE, test "x$HAVE_GALLIUM_LLVMPIPE" = xyes)
1930 if test "x$enable_gallium_loader" = xyes; then
1931 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/null"
1932 GALLIUM_PIPE_LOADER_DEFINES="-DHAVE_PIPE_LOADER_SW"
1933 GALLIUM_PIPE_LOADER_LIBS="\$(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la"
1934 GALLIUM_PIPE_LOADER_LIBS="$GALLIUM_PIPE_LOADER_LIBS \$(top_builddir)/src/gallium/winsys/sw/null/libws_null.la"
1936 if test "x$HAVE_WINSYS_XLIB" = xyes; then
1937 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_XLIB"
1938 GALLIUM_PIPE_LOADER_LIBS="$GALLIUM_PIPE_LOADER_LIBS \$(top_builddir)/src/gallium/winsys/sw/xlib/libws_xlib.la"
1941 if test "x$enable_gallium_drm_loader" = xyes; then
1942 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_DRM"
1943 PKG_CHECK_MODULES([GALLIUM_PIPE_LOADER_XCB], [xcb xcb-dri2],
1944 pipe_loader_have_xcb=yes, pipe_loader_have_xcb=no)
1945 if test "x$pipe_loader_have_xcb" = xyes; then
1946 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DPIPE_LOADER_HAVE_XCB"
1947 GALLIUM_PIPE_LOADER_LIBS="$GALLIUM_PIPE_LOADER_LIBS $GALLIUM_PIPE_LOADER_XCB_LIBS $LIBDRM_LIBS"
1951 AC_SUBST([GALLIUM_PIPE_LOADER_DEFINES])
1952 AC_SUBST([GALLIUM_PIPE_LOADER_LIBS])
1955 dnl Tell Automake which drivers to build
1956 for driver in $GALLIUM_DRIVERS_DIRS; do
1959 HAVE_GALAHAD_GALLIUM=yes;
1962 HAVE_IDENTITY_GALLIUM=yes;
1965 HAVE_NOOP_GALLIUM=yes;
1968 GALLIUM_MAKE_DIRS="$GALLIUM_MAKE_DIRS $driver"
1973 AM_CONDITIONAL(HAVE_I915_DRI, test x$HAVE_I915_DRI = xyes)
1974 AM_CONDITIONAL(HAVE_I965_DRI, test x$HAVE_I965_DRI = xyes)
1975 AM_CONDITIONAL(HAVE_NOUVEAU_DRI, test x$HAVE_NOUVEAU_DRI = xyes)
1976 AM_CONDITIONAL(HAVE_R200_DRI, test x$HAVE_R200_DRI = xyes)
1977 AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes)
1978 AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes)
1979 AM_CONDITIONAL(HAVE_COMMON_DRI, test x$HAVE_COMMON_DRI = xyes)
1981 AM_CONDITIONAL(HAVE_GALAHAD_GALLIUM, test x$HAVE_GALAHAD_GALLIUM = xyes)
1982 AM_CONDITIONAL(HAVE_IDENTITY_GALLIUM, test x$HAVE_IDENTITY_GALLIUM = xyes)
1983 AM_CONDITIONAL(HAVE_NOOP_GALLIUM, test x$HAVE_NOOP_GALLIUM = xyes)
1984 AM_CONDITIONAL(NEED_RADEON_GALLIUM, test x$NEED_RADEON_GALLIUM = xyes)
1985 AM_CONDITIONAL(R600_NEED_RADEON_GALLIUM, test x$R600_NEED_RADEON_GALLIUM = xyes)
1986 AM_CONDITIONAL(USE_R600_LLVM_COMPILER, test x$USE_R600_LLVM_COMPILER = xyes)
1987 AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes)
1988 AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes)
1989 AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
1990 AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1)
1991 AM_CONDITIONAL(LLVM_NEEDS_FNORTTI, test $LLVM_VERSION_INT -ge 302)
1993 AC_SUBST([GALLIUM_MAKE_DIRS])
1995 AM_CONDITIONAL(NEED_LIBPROGRAM, test "x$with_gallium_drivers" != x -o \
1996 "x$enable_xlib_glx" = xyes -o \
1997 "x$enable_osmesa" = xyes)
1998 AM_CONDITIONAL(HAVE_X11_DRIVER, echo "$DRIVER_DIRS" | grep 'x11' >/dev/null 2>&1)
2000 AM_CONDITIONAL(HAVE_X86_ASM, echo "$DEFINES" | grep 'X86_ASM' >/dev/null 2>&1)
2001 AM_CONDITIONAL(HAVE_X86_64_ASM, echo "$DEFINES" | grep 'X86_64_ASM' >/dev/null 2>&1)
2002 AM_CONDITIONAL(HAVE_SPARC_ASM, echo "$DEFINES" | grep 'SPARC_ASM' >/dev/null 2>&1)
2004 AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
2006 AC_SUBST([VDPAU_MAJOR], 1)
2007 AC_SUBST([VDPAU_MINOR], 0)
2009 AC_SUBST([XVMC_MAJOR], 1)
2010 AC_SUBST([XVMC_MINOR], 0)
2012 AC_SUBST([XA_MAJOR], 1)
2013 AC_SUBST([XA_MINOR], 0)
2014 AC_SUBST([XA_TINY], 0)
2015 AC_SUBST([XA_VERSION], "$XA_MAJOR.$XA_MINOR.$XA_TINY")
2017 dnl prepend CORE_DIRS to SRC_DIRS
2018 SRC_DIRS="$CORE_DIRS $SRC_DIRS"
2020 dnl Restore LDFLAGS and CPPFLAGS
2021 LDFLAGS="$_SAVE_LDFLAGS"
2022 CPPFLAGS="$_SAVE_CPPFLAGS"
2024 dnl Add user CFLAGS and CXXFLAGS
2025 CFLAGS="$CFLAGS $USER_CFLAGS"
2026 CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
2028 dnl Substitute the config
2029 AC_CONFIG_FILES([Makefile
2032 src/egl/drivers/Makefile
2033 src/egl/drivers/dri2/Makefile
2034 src/egl/drivers/glx/Makefile
2035 src/egl/main/Makefile
2037 src/egl/wayland/Makefile
2038 src/egl/wayland/wayland-drm/Makefile
2039 src/egl/wayland/wayland-egl/Makefile
2040 src/egl/wayland/wayland-egl/wayland-egl.pc
2041 src/gallium/Makefile
2042 src/gallium/auxiliary/Makefile
2043 src/gallium/auxiliary/pipe-loader/Makefile
2044 src/gallium/drivers/Makefile
2045 src/gallium/drivers/i915/Makefile
2046 src/gallium/drivers/llvmpipe/Makefile
2047 src/gallium/drivers/nouveau/Makefile
2048 src/gallium/drivers/nv30/Makefile
2049 src/gallium/drivers/nv50/Makefile
2050 src/gallium/drivers/nvc0/Makefile
2051 src/gallium/drivers/r300/Makefile
2052 src/gallium/drivers/r600/Makefile
2053 src/gallium/drivers/radeon/Makefile
2054 src/gallium/drivers/radeonsi/Makefile
2055 src/gallium/drivers/rbug/Makefile
2056 src/gallium/drivers/softpipe/Makefile
2057 src/gallium/drivers/svga/Makefile
2058 src/gallium/drivers/freedreno/Makefile
2059 src/gallium/drivers/trace/Makefile
2060 src/gallium/state_trackers/Makefile
2061 src/gallium/state_trackers/clover/Makefile
2062 src/gallium/state_trackers/dri/Makefile
2063 src/gallium/state_trackers/dri/drm/Makefile
2064 src/gallium/state_trackers/dri/sw/Makefile
2065 src/gallium/state_trackers/egl/Makefile
2066 src/gallium/state_trackers/gbm/Makefile
2067 src/gallium/state_trackers/glx/Makefile
2068 src/gallium/state_trackers/vdpau/Makefile
2069 src/gallium/state_trackers/vega/Makefile
2070 src/gallium/state_trackers/xa/Makefile
2071 src/gallium/state_trackers/xorg/Makefile
2072 src/gallium/state_trackers/xvmc/Makefile
2073 src/gallium/targets/Makefile
2074 src/gallium/targets/dri-i915/Makefile
2075 src/gallium/targets/dri-nouveau/Makefile
2076 src/gallium/targets/dri-r300/Makefile
2077 src/gallium/targets/dri-r600/Makefile
2078 src/gallium/targets/dri-radeonsi/Makefile
2079 src/gallium/targets/dri-freedreno/Makefile
2080 src/gallium/targets/dri-swrast/Makefile
2081 src/gallium/targets/dri-vmwgfx/Makefile
2082 src/gallium/targets/egl-static/Makefile
2083 src/gallium/targets/gbm/Makefile
2084 src/gallium/targets/opencl/Makefile
2085 src/gallium/targets/pipe-loader/Makefile
2086 src/gallium/targets/libgl-xlib/Makefile
2087 src/gallium/targets/vdpau-nouveau/Makefile
2088 src/gallium/targets/vdpau-r300/Makefile
2089 src/gallium/targets/vdpau-r600/Makefile
2090 src/gallium/targets/vdpau-radeonsi/Makefile
2091 src/gallium/targets/vdpau-softpipe/Makefile
2092 src/gallium/targets/xa-vmwgfx/Makefile
2093 src/gallium/targets/xa-vmwgfx/xatracker.pc
2094 src/gallium/targets/xorg-i915/Makefile
2095 src/gallium/targets/xorg-nouveau/Makefile
2096 src/gallium/targets/xorg-r600/Makefile
2097 src/gallium/targets/xorg-radeonsi/Makefile
2098 src/gallium/targets/xvmc-nouveau/Makefile
2099 src/gallium/targets/xvmc-r300/Makefile
2100 src/gallium/targets/xvmc-r600/Makefile
2101 src/gallium/targets/xvmc-softpipe/Makefile
2102 src/gallium/tests/trivial/Makefile
2103 src/gallium/tests/unit/Makefile
2104 src/gallium/winsys/Makefile
2105 src/gallium/winsys/i915/drm/Makefile
2106 src/gallium/winsys/i915/sw/Makefile
2107 src/gallium/winsys/nouveau/drm/Makefile
2108 src/gallium/winsys/radeon/drm/Makefile
2109 src/gallium/winsys/svga/drm/Makefile
2110 src/gallium/winsys/freedreno/drm/Makefile
2111 src/gallium/winsys/sw/Makefile
2112 src/gallium/winsys/sw/dri/Makefile
2113 src/gallium/winsys/sw/fbdev/Makefile
2114 src/gallium/winsys/sw/null/Makefile
2115 src/gallium/winsys/sw/wayland/Makefile
2116 src/gallium/winsys/sw/wrapper/Makefile
2117 src/gallium/winsys/sw/xlib/Makefile
2121 src/glsl/builtin_compiler/Makefile
2123 src/glx/tests/Makefile
2125 src/mapi/es1api/Makefile
2126 src/mapi/es1api/glesv1_cm.pc
2127 src/mapi/es2api/Makefile
2128 src/mapi/es2api/glesv2.pc
2129 src/mapi/glapi/Makefile
2130 src/mapi/glapi/gen/Makefile
2131 src/mapi/glapi/tests/Makefile
2132 src/mapi/shared-glapi/Makefile
2133 src/mapi/shared-glapi/tests/Makefile
2134 src/mapi/vgapi/Makefile
2135 src/mapi/vgapi/vg.pc
2138 src/mesa/drivers/Makefile
2139 src/mesa/drivers/dri/dri.pc
2140 src/mesa/drivers/dri/common/Makefile
2141 src/mesa/drivers/dri/common/xmlpool/Makefile
2142 src/mesa/drivers/dri/i915/Makefile
2143 src/mesa/drivers/dri/i965/Makefile
2144 src/mesa/drivers/dri/Makefile
2145 src/mesa/drivers/dri/nouveau/Makefile
2146 src/mesa/drivers/dri/r200/Makefile
2147 src/mesa/drivers/dri/radeon/Makefile
2148 src/mesa/drivers/dri/swrast/Makefile
2149 src/mesa/drivers/osmesa/Makefile
2150 src/mesa/drivers/osmesa/osmesa.pc
2151 src/mesa/drivers/x11/Makefile
2152 src/mesa/libdricore/Makefile
2153 src/mesa/main/tests/Makefile
2154 src/mesa/main/tests/hash_table/Makefile
2155 src/mesa/program/Makefile
2156 src/mesa/x86-64/Makefile
2157 src/mesa/x86/Makefile])
2159 dnl Sort the dirs alphabetically
2160 GALLIUM_TARGET_DIRS=`echo $GALLIUM_TARGET_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2161 GALLIUM_WINSYS_DIRS=`echo $GALLIUM_WINSYS_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2162 GALLIUM_DRIVERS_DIRS=`echo $GALLIUM_DRIVERS_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2163 GALLIUM_MAKE_DIRS=`echo $GALLIUM_MAKE_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2164 GALLIUM_STATE_TRACKERS_DIRS=`echo $GALLIUM_STATE_TRACKERS_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2169 dnl Output some configuration info for the user
2172 echo " prefix: $prefix"
2173 echo " exec_prefix: $exec_prefix"
2174 echo " libdir: $libdir"
2175 echo " includedir: $includedir"
2179 echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
2180 echo " OpenVG: $enable_openvg"
2184 if test "x$enable_osmesa" != xno; then
2185 echo " OSMesa: lib$OSMESA_LIB"
2190 if test "x$enable_dri" != xno; then
2191 # cleanup the drivers var
2192 dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'`
2193 if test "x$DRI_DIRS" = x; then
2194 echo " DRI drivers: no"
2196 echo " DRI drivers: $dri_dirs"
2198 echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
2201 case "x$enable_glx$enable_xlib_glx" in
2203 echo " GLX: Xlib-based"
2206 echo " GLX: DRI-based"
2209 echo " GLX: $enable_glx"
2215 echo " EGL: $enable_egl"
2216 if test "$enable_egl" = yes; then
2217 echo " EGL platforms: $EGL_PLATFORMS"
2220 if test "x$HAVE_EGL_DRIVER_GLX" != "x"; then
2221 egl_drivers="$egl_drivers builtin:egl_glx"
2223 if test "x$HAVE_EGL_DRIVER_DRI2" != "x"; then
2224 egl_drivers="$egl_drivers builtin:egl_dri2"
2227 if test "x$HAVE_ST_EGL" = xyes; then
2228 echo " EGL drivers: ${egl_drivers} egl_gallium"
2229 echo " EGL Gallium STs:$EGL_CLIENT_APIS"
2231 echo " EGL drivers: $egl_drivers"
2236 if test "x$MESA_LLVM" = x1; then
2238 echo " llvm-config: $LLVM_CONFIG"
2239 echo " llvm-version: $LLVM_VERSION"
2245 if echo "$SRC_DIRS" | grep 'gallium' >/dev/null 2>&1; then
2246 echo " Gallium: yes"
2247 echo " Gallium dirs: $GALLIUM_DIRS"
2248 echo " Target dirs: $GALLIUM_TARGET_DIRS"
2249 echo " Winsys dirs: $GALLIUM_WINSYS_DIRS"
2250 echo " Driver dirs: $GALLIUM_DRIVERS_DIRS"
2251 echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS"
2259 echo " Shared libs: $enable_shared"
2260 echo " Static libs: $enable_static"
2261 echo " Shared-glapi: $enable_shared_glapi"
2263 dnl Compiler options
2264 # cleanup the CFLAGS/CXXFLAGS/DEFINES vars
2265 cflags=`echo $CFLAGS | \
2266 $SED 's/^ *//;s/ */ /;s/ *$//'`
2267 cxxflags=`echo $CXXFLAGS | \
2268 $SED 's/^ *//;s/ */ /;s/ *$//'`
2269 defines=`echo $DEFINES | $SED 's/^ *//;s/ */ /;s/ *$//'`
2271 echo " CFLAGS: $cflags"
2272 echo " CXXFLAGS: $cxxflags"
2273 echo " Macros: $defines"
2275 if test "x$MESA_LLVM" = x1; then
2276 echo " LLVM_CFLAGS: $LLVM_CFLAGS"
2277 echo " LLVM_CXXFLAGS: $LLVM_CXXFLAGS"
2278 echo " LLVM_CPPFLAGS: $LLVM_CPPFLAGS"
2281 echo " PYTHON2: $PYTHON2"
2284 echo " Run '${MAKE-make}' to build Mesa"