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
462 linux* | *freebsd* | dragonfly* | *netbsd*)
463 test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
478 DEFINES="$DEFINES -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
479 AC_MSG_RESULT([yes, x86])
482 DEFINES="$DEFINES -DUSE_X86_64_ASM"
483 AC_MSG_RESULT([yes, x86_64])
486 DEFINES="$DEFINES -DUSE_SPARC_ASM"
487 AC_MSG_RESULT([yes, sparc])
490 AC_MSG_RESULT([no, platform not supported])
495 dnl Check to see if dlopen is in default libraries (like Solaris, which
496 dnl has it in libc), or if libdl is needed to get it.
497 AC_CHECK_FUNC([dlopen], [DEFINES="$DEFINES -DHAVE_DLOPEN"],
498 [AC_CHECK_LIB([dl], [dlopen],
499 [DEFINES="$DEFINES -DHAVE_DLOPEN"; DLOPEN_LIBS="-ldl"])])
500 AC_SUBST([DLOPEN_LIBS])
506 AC_CHECK_FUNCS([clock_gettime], [CLOCK_LIB=],
507 [AC_CHECK_LIB([rt], [clock_gettime], [CLOCK_LIB=-lrt],
508 [AC_MSG_ERROR([Couldn't find clock_gettime])])])
509 AC_SUBST([CLOCK_LIB])
513 dnl See if posix_memalign is available
514 AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
516 dnl Check for pthreads
518 dnl AX_PTHREADS leaves PTHREAD_LIBS empty for gcc and sets PTHREAD_CFLAGS
519 dnl to -pthread, which causes problems if we need -lpthread to appear in
521 test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread"
523 dnl SELinux awareness.
524 AC_ARG_ENABLE([selinux],
525 [AS_HELP_STRING([--enable-selinux],
526 [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
527 [MESA_SELINUX="$enableval"],
529 if test "x$enable_selinux" = "xyes"; then
530 AC_CHECK_HEADER([selinux/selinux.h],[],
531 [AC_MSG_ERROR([SELinux headers not found])])
532 AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
533 [AC_MSG_ERROR([SELinux library not found])])
534 SELINUX_LIBS="-lselinux"
535 DEFINES="$DEFINES -DMESA_SELINUX"
537 AC_SUBST([SELINUX_LIBS])
540 AC_ARG_ENABLE([opengl],
541 [AS_HELP_STRING([--disable-opengl],
542 [disable support for standard OpenGL API @<:@default=no@:>@])],
543 [enable_opengl="$enableval"],
545 AC_ARG_ENABLE([gles1],
546 [AS_HELP_STRING([--enable-gles1],
547 [enable support for OpenGL ES 1.x API @<:@default=no@:>@])],
548 [enable_gles1="$enableval"],
550 AC_ARG_ENABLE([gles2],
551 [AS_HELP_STRING([--enable-gles2],
552 [enable support for OpenGL ES 2.x API @<:@default=no@:>@])],
553 [enable_gles2="$enableval"],
555 AC_ARG_ENABLE([openvg],
556 [AS_HELP_STRING([--enable-openvg],
557 [enable support for OpenVG API @<:@default=no@:>@])],
558 [enable_openvg="$enableval"],
562 [AS_HELP_STRING([--enable-dri],
563 [enable DRI modules @<:@default=enabled@:>@])],
564 [enable_dri="$enableval"],
567 [AS_HELP_STRING([--enable-glx],
568 [enable GLX library @<:@default=enabled@:>@])],
569 [enable_glx="$enableval"],
571 AC_ARG_ENABLE([osmesa],
572 [AS_HELP_STRING([--enable-osmesa],
573 [enable OSMesa library @<:@default=disabled@:>@])],
574 [enable_osmesa="$enableval"],
577 [AS_HELP_STRING([--disable-egl],
578 [disable EGL library @<:@default=enabled@:>@])],
579 [enable_egl="$enableval"],
582 AC_ARG_ENABLE([xorg],
583 [AS_HELP_STRING([--enable-xorg],
584 [enable support for X.Org DDX API @<:@default=no@:>@])],
585 [enable_xorg="$enableval"],
588 [AS_HELP_STRING([--enable-xa],
589 [enable build of the XA X Acceleration API @<:@default=no@:>@])],
590 [enable_xa="$enableval"],
593 [AS_HELP_STRING([--enable-gbm],
594 [enable gbm library @<:@default=auto@:>@])],
595 [enable_gbm="$enableval"],
598 AC_ARG_ENABLE([xvmc],
599 [AS_HELP_STRING([--enable-xvmc],
600 [enable xvmc library @<:@default=auto@:>@])],
601 [enable_xvmc="$enableval"],
603 AC_ARG_ENABLE([vdpau],
604 [AS_HELP_STRING([--enable-vdpau],
605 [enable vdpau library @<:@default=auto@:>@])],
606 [enable_vdpau="$enableval"],
608 AC_ARG_ENABLE([opencl],
609 [AS_HELP_STRING([--enable-opencl],
610 [enable OpenCL library NOTE: Enabling this option will also enable
611 --with-llvm-shared-libs
612 @<:@default=no@:>@])],
615 AC_ARG_ENABLE([xlib_glx],
616 [AS_HELP_STRING([--enable-xlib-glx],
617 [make GLX library Xlib-based instead of DRI-based @<:@default=disabled@:>@])],
618 [enable_xlib_glx="$enableval"],
619 [enable_xlib_glx=no])
620 AC_ARG_ENABLE([gallium_egl],
621 [AS_HELP_STRING([--enable-gallium-egl],
622 [enable optional EGL state tracker (not required
623 for EGL support in Gallium with OpenGL and OpenGL ES)
624 @<:@default=disable@:>@])],
625 [enable_gallium_egl="$enableval"],
626 [enable_gallium_egl=no])
627 AC_ARG_ENABLE([gallium_gbm],
628 [AS_HELP_STRING([--enable-gallium-gbm],
629 [enable optional gbm state tracker (not required for
630 gbm support in Gallium)
631 @<:@default=auto@:>@])],
632 [enable_gallium_gbm="$enableval"],
633 [enable_gallium_gbm=auto])
635 AC_ARG_ENABLE([r600-llvm-compiler],
636 [AS_HELP_STRING([--enable-r600-llvm-compiler],
637 [Enable experimental LLVM backend for graphics shaders @<:@default=disable@:>@])],
638 [enable_r600_llvm="$enableval"],
639 [enable_r600_llvm=no])
641 AC_ARG_ENABLE([gallium_tests],
642 [AS_HELP_STRING([--enable-gallium-tests],
643 [Enable optional Gallium tests) @<:@default=disable@:>@])],
644 [enable_gallium_tests="$enableval"],
645 [enable_gallium_tests=no])
647 # Option for Gallium drivers
649 # Keep this in sync with the --with-gallium-drivers help string default value
650 GALLIUM_DRIVERS_DEFAULT="r300,r600,svga,swrast"
652 AC_ARG_WITH([gallium-drivers],
653 [AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@],
654 [comma delimited Gallium drivers list, e.g.
655 "i915,nouveau,r300,r600,radeonsi,freedreno,svga,swrast"
656 @<:@default=r300,r600,svga,swrast@:>@])],
657 [with_gallium_drivers="$withval"],
658 [with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"])
660 # Doing '--without-gallium-drivers' will set this variable to 'no'. Clear it
661 # here so that the script doesn't choke on an unknown driver name later.
662 case "$with_gallium_drivers" in
663 yes) with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT" ;;
664 no) with_gallium_drivers='' ;;
667 if test "x$enable_opengl" = xno -a \
668 "x$enable_gles1" = xno -a \
669 "x$enable_gles2" = xno -a \
670 "x$enable_openvg" = xno -a \
671 "x$enable_xorg" = xno -a \
672 "x$enable_xa" = xno -a \
673 "x$enable_xvmc" = xno -a \
674 "x$enable_vdpau" = xno -a \
675 "x$enable_opencl" = xno; then
676 AC_MSG_ERROR([at least one API should be enabled])
680 if test "x$enable_opengl" = xno; then
681 API_DEFINES="$API_DEFINES -DFEATURE_GL=0"
683 API_DEFINES="$API_DEFINES -DFEATURE_GL=1"
685 if test "x$enable_gles1" = xyes; then
686 API_DEFINES="$API_DEFINES -DFEATURE_ES1=1"
688 if test "x$enable_gles2" = xyes; then
689 API_DEFINES="$API_DEFINES -DFEATURE_ES2=1"
691 AC_SUBST([API_DEFINES])
693 AM_CONDITIONAL(HAVE_OPENGL, test "x$enable_opengl" = xyes)
694 AM_CONDITIONAL(HAVE_OPENGL_ES1, test "x$enable_gles1" = xyes)
695 AM_CONDITIONAL(HAVE_OPENGL_ES2, test "x$enable_gles2" = xyes)
696 AM_CONDITIONAL(NEED_OPENGL_COMMON, test "x$enable_opengl" = xyes -o \
697 "x$enable_gles1" = xyes -o \
698 "x$enable_gles2" = xyes)
700 if test "x$enable_glx" = xno; then
701 AC_MSG_WARN([GLX disabled, disabling Xlib-GLX])
705 if test "x$enable_dri$enable_xlib_glx" = xyesyes; then
706 AC_MSG_ERROR([DRI and Xlib-GLX cannot be built together])
709 if test "x$enable_opengl$enable_xlib_glx" = xnoyes; then
710 AC_MSG_ERROR([Xlib-GLX cannot be built without OpenGL])
713 # Disable GLX if OpenGL is not enabled
714 if test "x$enable_glx$enable_opengl" = xyesno; then
715 AC_MSG_WARN([OpenGL not enabled, disabling GLX])
719 # Disable GLX if DRI and Xlib-GLX are not enabled
720 if test "x$enable_glx" = xyes -a \
721 "x$enable_dri" = xno -a \
722 "x$enable_xlib_glx" = xno; then
723 AC_MSG_WARN([Neither DRI nor Xlib-GLX enabled, disabling GLX])
727 AM_CONDITIONAL(HAVE_DRI_GLX, test "x$enable_glx" = xyes -a \
728 "x$enable_dri" = xyes)
729 AM_CONDITIONAL(HAVE_DRI, test "x$enable_dri" = xyes)
730 AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_xlib_glx" = xyes -o \
731 "x$enable_osmesa" = xyes)
733 AC_ARG_ENABLE([shared-glapi],
734 [AS_HELP_STRING([--enable-shared-glapi],
735 [Enable shared glapi for OpenGL @<:@default=yes@:>@])],
736 [enable_shared_glapi="$enableval"],
737 [enable_shared_glapi="$enable_dri"])
739 # Shared GLAPI is only useful for DRI
740 if test "x$enable_dri" = xno; then
741 AC_MSG_NOTICE([Shared GLAPI is only useful for DRI, disabling])
742 enable_shared_glapi=no
745 if test "x$enable_shared_glapi" = xyes; then
746 # libGL will use libglapi for function lookups (IN_DRI_DRIVER means to use
748 DEFINES="$DEFINES -DIN_DRI_DRIVER"
750 AM_CONDITIONAL(HAVE_SHARED_GLAPI, test "x$enable_shared_glapi" = xyes)
753 dnl Driver specific build directories
755 GALLIUM_DIRS="auxiliary drivers state_trackers"
756 GALLIUM_TARGET_DIRS=""
757 GALLIUM_WINSYS_DIRS="sw"
758 GALLIUM_DRIVERS_DIRS="galahad trace rbug noop identity"
759 GALLIUM_STATE_TRACKERS_DIRS=""
761 case "x$enable_glx$enable_xlib_glx" in
763 DRIVER_DIRS="$DRIVER_DIRS x11"
764 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
765 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
766 GALLIUM_STATE_TRACKERS_DIRS="glx $GALLIUM_STATE_TRACKERS_DIRS"
767 HAVE_WINSYS_XLIB="yes"
771 if test "x$enable_dri" = xyes; then
772 DRIVER_DIRS="$DRIVER_DIRS dri"
774 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/dri"
775 GALLIUM_STATE_TRACKERS_DIRS="dri $GALLIUM_STATE_TRACKERS_DIRS"
779 if test "x$enable_osmesa" = xyes; then
780 DRIVER_DIRS="$DRIVER_DIRS osmesa"
781 GALLIUM_STATE_TRACKERS_DIRS="osmesa $GALLIUM_STATE_TRACKERS_DIRS"
782 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS osmesa"
785 AC_SUBST([DRIVER_DIRS])
786 AC_SUBST([GALLIUM_DIRS])
787 AC_SUBST([GALLIUM_TARGET_DIRS])
788 AC_SUBST([GALLIUM_WINSYS_DIRS])
789 AC_SUBST([GALLIUM_DRIVERS_DIRS])
790 AC_SUBST([GALLIUM_STATE_TRACKERS_DIRS])
791 AC_SUBST([MESA_LLVM])
794 PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED],
795 [have_libdrm=yes], [have_libdrm=no])
797 if test "x$enable_dri" = xyes; then
798 # DRI must be shared, I think
799 if test "$enable_static" = yes; then
800 AC_MSG_ERROR([Cannot use static libraries for DRI drivers])
803 # not a hard requirement as swrast does not depend on it
804 if test "x$have_libdrm" = xyes; then
805 DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
809 dnl Direct rendering or just indirect rendering
812 dnl Disable by default on GNU/Hurd
813 driglx_direct_default="no"
816 dnl Disable by default on cygwin
817 driglx_direct_default="no"
820 driglx_direct_default="yes"
823 AC_ARG_ENABLE([driglx-direct],
824 [AS_HELP_STRING([--disable-driglx-direct],
825 [disable direct rendering in GLX and EGL for DRI \
826 @<:@default=auto@:>@])],
827 [driglx_direct="$enableval"],
828 [driglx_direct="$driglx_direct_default"])
831 dnl libGL configuration per driver
833 case "x$enable_glx$enable_xlib_glx" in
836 PKG_CHECK_MODULES([XLIBGL], [x11 xext])
837 GL_PC_REQ_PRIV="x11 xext"
838 X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
839 GL_LIB_DEPS="$XLIBGL_LIBS"
840 GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
841 GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm $PTHREAD_LIBS"
845 PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
846 if test x"$driglx_direct" = xyes; then
847 if test "x$have_libdrm" != xyes; then
848 AC_MSG_ERROR([Direct rendering requires libdrm >= $LIBDRM_REQUIRED])
850 PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
851 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED"
854 # find the DRI deps for libGL
855 dri_modules="x11 xext xdamage xfixes x11-xcb xcb-glx >= 1.8.1 xcb-dri2 >= 1.8"
857 # add xf86vidmode if available
858 PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no)
859 if test "$HAVE_XF86VIDMODE" = yes ; then
860 dri_modules="$dri_modules xxf86vm"
863 PKG_CHECK_MODULES([DRIGL], [$dri_modules])
864 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
865 X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
866 GL_LIB_DEPS="$DRIGL_LIBS"
868 # need DRM libs, $PTHREAD_LIBS, etc.
869 GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
870 GL_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
874 # This is outside the case (above) so that it is invoked even for non-GLX
876 AM_CONDITIONAL(HAVE_XF86VIDMODE, test "x$HAVE_XF86VIDMODE" = xyes)
878 GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
879 GLESv1_CM_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
880 GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
881 GLESv2_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
883 AC_SUBST([X11_INCLUDES])
884 AC_SUBST([GL_LIB_DEPS])
885 AC_SUBST([GL_PC_REQ_PRIV])
886 AC_SUBST([GL_PC_LIB_PRIV])
887 AC_SUBST([GL_PC_CFLAGS])
888 AC_SUBST([DRI_PC_REQ_PRIV])
889 AC_SUBST([GLESv1_CM_LIB_DEPS])
890 AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
891 AC_SUBST([GLESv2_LIB_DEPS])
892 AC_SUBST([GLESv2_PC_LIB_PRIV])
894 DRI_LIB_DEPS="\$(top_builddir)/src/mesa/libdricore/libdricore${VERSION}.la"
896 AC_SUBST([HAVE_XF86VIDMODE])
901 case "x$enable_glx$enable_xlib_glx" in
903 DEFINES="$DEFINES -DUSE_XSHM"
906 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
907 if test "x$driglx_direct" = xyes; then
908 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
917 AC_ARG_ENABLE([glx-tls],
918 [AS_HELP_STRING([--enable-glx-tls],
919 [enable TLS support in GLX @<:@default=disabled@:>@])],
920 [GLX_USE_TLS="$enableval"],
922 AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
924 AS_IF([test "x$GLX_USE_TLS" = xyes -a "x$ax_pthread_ok" = xyes],
925 [DEFINES="${DEFINES} -DGLX_USE_TLS -DHAVE_PTHREAD"])
930 dnl Directory for DRI drivers
931 AC_ARG_WITH([dri-driverdir],
932 [AS_HELP_STRING([--with-dri-driverdir=DIR],
933 [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
934 [DRI_DRIVER_INSTALL_DIR="$withval"],
935 [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
936 AC_SUBST([DRI_DRIVER_INSTALL_DIR])
937 dnl Extra search path for DRI drivers
938 AC_ARG_WITH([dri-searchpath],
939 [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
940 [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
941 [DRI_DRIVER_SEARCH_DIR="$withval"],
942 [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
943 AC_SUBST([DRI_DRIVER_SEARCH_DIR])
944 dnl Which drivers to build - default is chosen by platform
945 AC_ARG_WITH([dri-drivers],
946 [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
947 [comma delimited DRI drivers list, e.g.
948 "swrast,i965,radeon" @<:@default=auto@:>@])],
949 [with_dri_drivers="$withval"],
950 [with_dri_drivers=yes])
951 if test "x$with_dri_drivers" = x; then
955 dnl If $with_dri_drivers is yes, directories will be added through
958 case "$with_dri_drivers" in
961 # classic DRI drivers require FEATURE_GL to build
962 if test "x$enable_opengl" = xyes; then
967 # verify the requested driver directories exist
968 dri_drivers=`IFS=', '; echo $with_dri_drivers`
969 for driver in $dri_drivers; do
970 test -d "$srcdir/src/mesa/drivers/dri/$driver" || \
971 AC_MSG_ERROR([DRI driver directory '$driver' does not exist])
973 DRI_DIRS="$dri_drivers"
974 if test -n "$DRI_DIRS" -a "x$enable_opengl" != xyes; then
975 AC_MSG_ERROR([--with-dri-drivers requires OpenGL])
980 dnl Set DRI_DIRS, DEFINES and LIB_DEPS
981 if test "x$enable_dri" = xyes; then
982 # Platform specific settings and drivers to build
985 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
986 DEFINES="$DEFINES -DHAVE_ALIAS"
990 if test "x$DRI_DIRS" = "xyes"; then
991 DRI_DIRS="i915 i965 nouveau r200 radeon swrast"
995 # Build only the drivers for cards that exist on PowerPC.
996 if test "x$DRI_DIRS" = "xyes"; then
997 DRI_DIRS="r200 radeon swrast"
1001 # Build only the drivers for cards that exist on sparc
1002 if test "x$DRI_DIRS" = "xyes"; then
1003 DRI_DIRS="r200 radeon swrast"
1008 freebsd* | dragonfly* | *netbsd*)
1009 DEFINES="$DEFINES -DHAVE_PTHREAD -DUSE_EXTERNAL_DXTN_LIB=1"
1010 DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS"
1012 if test "x$DRI_DIRS" = "xyes"; then
1013 DRI_DIRS="i915 i965 nouveau r200 radeon swrast"
1017 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1018 DEFINES="$DEFINES -DHAVE_ALIAS"
1021 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1024 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1025 if test "x$DRI_DIRS" = "xyes"; then
1032 if test "x$DRI_DIRS" = "xyes"; then
1033 DRI_DIRS="i915 i965 nouveau r200 radeon swrast"
1036 DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'`
1041 AC_ARG_WITH([expat],
1042 [AS_HELP_STRING([--with-expat=DIR],
1043 [expat install directory])],[
1044 EXPAT_INCLUDES="-I$withval/include"
1045 CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES"
1046 LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR"
1047 EXPAT_LIB="-L$withval/$LIB_DIR -lexpat"
1049 AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])])
1051 AC_CHECK_LIB([expat],[XML_ParserCreate],[],
1052 [AC_MSG_ERROR([Expat required for DRI.])])
1055 # If we are building any DRI driver other than swrast.
1056 if test -n "$DRI_DIRS" -a x"$DRI_DIRS" != xswrast; then
1057 # ... libdrm is required
1058 if test "x$have_libdrm" != xyes; then
1059 AC_MSG_ERROR([DRI drivers requires libdrm >= $LIBDRM_REQUIRED])
1061 # ... and build dricommon
1065 # put all the necessary libs together
1066 DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1067 GALLIUM_DRI_LIB_DEPS="$GALLIUM_DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
1069 AM_CONDITIONAL(NEED_LIBDRICORE, test -n "$DRI_DIRS")
1070 AC_SUBST([DRI_DIRS])
1071 AC_SUBST([EXPAT_INCLUDES])
1072 AC_SUBST([DRI_LIB_DEPS])
1073 AC_SUBST([GALLIUM_DRI_LIB_DEPS])
1077 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1079 for d in $(echo $DRI_DIRS | sed 's/,/ /g'); do
1095 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NVVIEUX_REQUIRED])
1096 HAVE_NOUVEAU_DRI=yes;
1102 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1104 for d in $(echo $DRI_DIRS | sed 's/,/ /g'); do
1107 HAVE_RADEON_DRI=yes;
1120 HAVE_SWRAST_DRI=yes;
1125 dnl OSMesa configuration
1128 dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
1129 AC_ARG_WITH([osmesa-bits],
1130 [AS_HELP_STRING([--with-osmesa-bits=BITS],
1131 [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
1132 [osmesa_bits="$withval"],
1134 if test "x$osmesa_bits" != x8; then
1135 if test "x$enable_dri" = xyes -o "x$enable_glx" = xyes; then
1136 AC_MSG_WARN([Ignoring OSMesa channel bits because of non-OSMesa driver])
1140 case "x$osmesa_bits" in
1142 OSMESA_LIB="${OSMESA_LIB}"
1145 OSMESA_LIB="${OSMESA_LIB}$osmesa_bits"
1146 DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
1149 AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
1153 if test "x$enable_osmesa" = xyes; then
1154 # only link libraries with osmesa if shared
1155 if test "$enable_static" = no; then
1156 OSMESA_LIB_DEPS="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
1161 OSMESA_PC_LIB_PRIV="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
1164 AC_SUBST([OSMESA_LIB_DEPS])
1165 AC_SUBST([OSMESA_MESA_DEPS])
1166 AC_SUBST([OSMESA_PC_REQ])
1167 AC_SUBST([OSMESA_PC_LIB_PRIV])
1170 dnl gbm configuration
1172 if test "x$enable_gbm" = xauto; then
1173 case "$with_egl_platforms" in
1180 if test "x$enable_gbm" = xyes; then
1181 PKG_CHECK_MODULES([LIBUDEV], [libudev], [],
1182 AC_MSG_ERROR([gbm needs udev]))
1184 if test "x$enable_dri" = xyes; then
1185 GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri"
1186 if test "x$enable_shared_glapi" = xno; then
1187 AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi])
1191 AM_CONDITIONAL(HAVE_GBM, test "x$enable_gbm" = xyes)
1192 GBM_PC_REQ_PRIV="libudev"
1193 GBM_PC_LIB_PRIV="$DLOPEN_LIBS"
1194 AC_SUBST([GBM_PC_REQ_PRIV])
1195 AC_SUBST([GBM_PC_LIB_PRIV])
1198 dnl EGL configuration
1202 if test "x$enable_egl" = xyes; then
1203 EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS $PTHREAD_LIBS"
1205 AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"])
1207 if test "$enable_static" != yes; then
1208 # build egl_glx when libGL is built
1209 PKG_CHECK_MODULES([LIBUDEV], [libudev > 150],
1210 [have_libudev=yes],[have_libudev=no])
1211 if test "$have_libudev" = yes; then
1212 DEFINES="$DEFINES -DHAVE_LIBUDEV"
1215 if test "x$enable_dri" = xyes; then
1216 HAVE_EGL_DRIVER_DRI2=1
1221 AM_CONDITIONAL(HAVE_EGL, test "x$enable_egl" = xyes)
1222 AC_SUBST([EGL_LIB_DEPS])
1225 dnl EGL Gallium configuration
1227 if test "x$enable_gallium_egl" = xyes; then
1228 if test "x$with_gallium_drivers" = x; then
1229 AC_MSG_ERROR([cannot enable egl_gallium without Gallium])
1231 if test "x$enable_egl" = xno; then
1232 AC_MSG_ERROR([cannot enable egl_gallium without EGL])
1234 if test "x$have_libdrm" != xyes; then
1235 AC_MSG_ERROR([egl_gallium requires libdrm >= $LIBDRM_REQUIRED])
1238 GALLIUM_STATE_TRACKERS_DIRS="egl $GALLIUM_STATE_TRACKERS_DIRS"
1239 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl-static"
1244 dnl gbm Gallium configuration
1246 if test "x$enable_gallium_gbm" = xauto; then
1247 case "$enable_gbm$HAVE_ST_EGL$enable_dri$with_egl_platforms" in
1249 enable_gallium_gbm=yes ;;
1251 enable_gallium_gbm=no ;;
1254 if test "x$enable_gallium_gbm" = xyes; then
1255 if test "x$with_gallium_drivers" = x; then
1256 AC_MSG_ERROR([cannot enable gbm_gallium without Gallium])
1258 if test "x$enable_gbm" = xno; then
1259 AC_MSG_ERROR([cannot enable gbm_gallium without gbm])
1261 # gbm_gallium abuses DRI_LIB_DEPS to link. Make sure it is set.
1262 if test "x$enable_dri" = xno; then
1263 AC_MSG_ERROR([gbm_gallium requires --enable-dri to build])
1266 GALLIUM_STATE_TRACKERS_DIRS="gbm $GALLIUM_STATE_TRACKERS_DIRS"
1267 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS gbm"
1269 enable_gallium_loader=yes
1273 dnl X.Org DDX configuration
1275 if test "x$enable_xorg" = xyes; then
1276 PKG_CHECK_MODULES([XORG], [xorg-server >= 1.6.0])
1277 PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
1278 PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
1279 PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
1280 HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
1281 HAVE_XEXTPROTO_71="no")
1282 GALLIUM_STATE_TRACKERS_DIRS="xorg $GALLIUM_STATE_TRACKERS_DIRS"
1287 dnl XA configuration
1289 if test "x$enable_xa" = xyes; then
1292 AC_CHECK_PROG(NM, nm, "nm")
1293 if test "x$AWK" = x || test "x$GREP" = x || test "x$NM" = x; then
1294 AC_MSG_WARN([Missing one of nm, grep or awk. Disabling xa.])
1298 if test "x$enable_xa" = xyes; then
1299 GALLIUM_STATE_TRACKERS_DIRS="xa $GALLIUM_STATE_TRACKERS_DIRS"
1307 dnl OpenVG configuration
1311 if test "x$enable_openvg" = xyes; then
1312 if test "x$enable_egl" = xno; then
1313 AC_MSG_ERROR([cannot enable OpenVG without EGL])
1315 if test "x$with_gallium_drivers" = x; then
1316 AC_MSG_ERROR([cannot enable OpenVG without Gallium])
1318 if test "x$enable_gallium_egl" = xno; then
1319 AC_MSG_ERROR([cannot enable OpenVG without egl_gallium])
1322 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
1323 VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS $PTHREAD_LIBS"
1324 GALLIUM_STATE_TRACKERS_DIRS="vega $GALLIUM_STATE_TRACKERS_DIRS"
1326 VG_PC_LIB_PRIV="-lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
1327 AC_SUBST([VG_PC_LIB_PRIV])
1329 AM_CONDITIONAL(HAVE_OPENVG, test "x$enable_openvg" = xyes)
1332 dnl Gallium G3DVL configuration
1334 AC_ARG_ENABLE([gallium-g3dvl],
1335 [AS_HELP_STRING([--enable-gallium-g3dvl],
1336 [build gallium g3dvl @<:@default=disabled@:>@])],
1337 [enable_gallium_g3dvl="$enableval"],
1338 [enable_gallium_g3dvl=no])
1339 if test "x$enable_gallium_g3dvl" = xyes; then
1340 if test "x$with_gallium_drivers" = x; then
1341 AC_MSG_ERROR([cannot enable G3DVL without Gallium])
1344 if test "x$enable_xvmc" = xauto; then
1345 PKG_CHECK_EXISTS([xvmc], [enable_xvmc=yes], [enable_xvmc=no])
1348 if test "x$enable_vdpau" = xauto; then
1349 PKG_CHECK_EXISTS([vdpau], [enable_vdpau=yes], [enable_vdpau=no])
1353 if test "x$enable_xvmc" = xyes; then
1354 PKG_CHECK_MODULES([XVMC], [xvmc >= 1.0.6 x11-xcb xcb-dri2 >= 1.8])
1355 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xvmc"
1359 if test "x$enable_vdpau" = xyes; then
1360 PKG_CHECK_MODULES([VDPAU], [vdpau >= 0.4.1 x11-xcb xcb-dri2 >= 1.8])
1361 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS vdpau"
1366 dnl OpenCL configuration
1369 AC_ARG_WITH([libclc-path],
1370 [AS_HELP_STRING([--with-libclc-path],
1371 [DEPRECATED: See http://dri.freedesktop.org/wiki/GalliumCompute#How_to_Install])],
1372 [LIBCLC_PATH="$withval"],
1375 if test "x$LIBCLC_PATH" != x; then
1376 AC_MSG_ERROR([The --with-libclc-path option has been deprecated.
1377 Please review the updated build instructions for clover:
1378 http://dri.freedesktop.org/wiki/GalliumCompute])
1382 AC_ARG_WITH([clang-libdir],
1383 [AS_HELP_STRING([--with-clang-libdir],
1384 [Path to Clang libraries @<:@default=llvm-config --libdir@:>@])],
1385 [CLANG_LIBDIR="$withval"],
1388 LIBCLC_INCLUDEDIR=`pkg-config --variable=includedir libclc`
1389 LIBCLC_LIBEXECDIR=`pkg-config --variable=libexecdir libclc`
1390 AC_SUBST([LIBCLC_INCLUDEDIR])
1391 AC_SUBST([LIBCLC_LIBEXECDIR])
1393 if test "x$enable_opencl" = xyes; then
1394 if test "x$with_gallium_drivers" = x; then
1395 AC_MSG_ERROR([cannot enable OpenCL without Gallium])
1398 if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 6; then
1399 AC_MSG_ERROR([gcc >= 4.6 is required to build clover])
1402 if test "x$LIBCLC_INCLUDEDIR" == x || test "x$LIBCLC_LIBEXECDIR" == x; then
1403 AC_MSG_ERROR([pkg-config cannot use libclc.pc which is required to build clover])
1406 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS clover"
1407 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS opencl"
1408 enable_gallium_loader=yes
1411 if test "x$enable_gallium_gbm" = xyes || test "x$enable_opencl" = xyes; then
1412 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS pipe-loader"
1416 dnl Gallium configuration
1418 AM_CONDITIONAL(HAVE_GALLIUM, test -n "$with_gallium_drivers")
1420 AC_SUBST([LLVM_BINDIR])
1421 AC_SUBST([LLVM_CFLAGS])
1422 AC_SUBST([LLVM_CPPFLAGS])
1423 AC_SUBST([LLVM_CXXFLAGS])
1424 AC_SUBST([LLVM_LIBDIR])
1425 AC_SUBST([LLVM_LIBS])
1426 AC_SUBST([LLVM_LDFLAGS])
1427 AC_SUBST([LLVM_INCLUDEDIR])
1428 AC_SUBST([LLVM_VERSION])
1429 AC_SUBST([CLANG_RESOURCE_DIR])
1431 case "x$enable_opengl$enable_gles1$enable_gles2" in
1433 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
1437 AC_SUBST([VG_LIB_DEPS])
1438 AC_SUBST([EGL_CLIENT_APIS])
1441 dnl EGL Platforms configuration
1443 AC_ARG_WITH([egl-platforms],
1444 [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1445 [comma delimited native platforms libEGL supports, e.g.
1446 "x11,drm" @<:@default=auto@:>@])],
1447 [with_egl_platforms="$withval"],
1448 [if test "x$enable_egl" = xyes; then
1449 with_egl_platforms="x11"
1451 with_egl_platforms=""
1456 if test "x$with_egl_platforms" != "x" -a "x$enable_egl" != xyes; then
1457 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1460 # Do per-EGL platform setups and checks
1461 egl_platforms=`IFS=', '; echo $with_egl_platforms`
1462 for plat in $egl_platforms; do
1465 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/$plat"
1469 PKG_CHECK_MODULES([WAYLAND], [wayland-client >= 1.0.2 wayland-server >= 1.0.2])
1470 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/wayland"
1472 WAYLAND_PREFIX=`$PKG_CONFIG --variable=prefix wayland-client`
1473 AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner],,
1474 [${WAYLAND_PREFIX}/bin$PATH_SEPARATOR$PATH])
1478 PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 >= 1.8 xcb-xfixes])
1480 if test "x$enable_glx" = xyes; then
1481 HAVE_EGL_DRIVER_GLX=1
1486 test "x$enable_gbm" = "xno" &&
1487 AC_MSG_ERROR([EGL platform drm needs gbm])
1494 AC_MSG_ERROR([EGL platform '$plat' does not exist])
1498 case "$plat$have_libudev" in
1500 AC_MSG_ERROR([cannot build $plat platfrom without udev]) ;;
1504 # libEGL wants to default to the first platform specified in
1505 # ./configure. parse that here.
1506 if test "x$egl_platforms" != "x"; then
1507 FIRST_PLATFORM_CAPS=`echo $egl_platforms | sed 's| .*||' | tr 'a-z' 'A-Z'`
1508 EGL_NATIVE_PLATFORM="_EGL_PLATFORM_$FIRST_PLATFORM_CAPS"
1510 EGL_NATIVE_PLATFORM="_EGL_INVALID_PLATFORM"
1513 EGL_PLATFORMS="$egl_platforms"
1515 AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
1516 AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
1517 AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1)
1518 AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1)
1519 AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1)
1521 AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
1522 AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
1524 AC_SUBST([EGL_NATIVE_PLATFORM])
1525 AC_SUBST([EGL_PLATFORMS])
1526 AC_SUBST([EGL_CFLAGS])
1528 AC_ARG_WITH([egl-driver-dir],
1529 [AS_HELP_STRING([--with-egl-driver-dir=DIR],
1530 [directory for EGL drivers [[default=${libdir}/egl]]])],
1531 [EGL_DRIVER_INSTALL_DIR="$withval"],
1532 [EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
1533 AC_SUBST([EGL_DRIVER_INSTALL_DIR])
1535 AC_ARG_WITH([xorg-driver-dir],
1536 [AS_HELP_STRING([--with-xorg-driver-dir=DIR],
1537 [Default xorg driver directory[[default=${libdir}/xorg/modules/drivers]]])],
1538 [XORG_DRIVER_INSTALL_DIR="$withval"],
1539 [XORG_DRIVER_INSTALL_DIR="${libdir}/xorg/modules/drivers"])
1540 AC_SUBST([XORG_DRIVER_INSTALL_DIR])
1542 AC_ARG_WITH([max-width],
1543 [AS_HELP_STRING([--with-max-width=N],
1544 [Maximum framebuffer width (4096)])],
1545 [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1546 AS_IF([test "${withval}" -gt "4096"],
1547 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1549 AC_ARG_WITH([max-height],
1550 [AS_HELP_STRING([--with-max-height=N],
1551 [Maximum framebuffer height (4096)])],
1552 [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1553 AS_IF([test "${withval}" -gt "4096"],
1554 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1560 AC_ARG_ENABLE([gallium-llvm],
1561 [AS_HELP_STRING([--enable-gallium-llvm],
1562 [build gallium LLVM support @<:@default=enabled on x86/x86_64@:>@])],
1563 [enable_gallium_llvm="$enableval"],
1564 [enable_gallium_llvm=auto])
1566 AC_ARG_WITH([llvm-shared-libs],
1567 [AS_HELP_STRING([--with-llvm-shared-libs],
1568 [link with LLVM shared libraries @<:@default=disabled@:>@])],
1570 [with_llvm_shared_libs=no])
1571 AS_IF([test x$enable_opencl = xyes],
1573 AC_MSG_WARN([OpenCL required, forcing LLVM shared libraries])
1574 with_llvm_shared_libs=yes
1577 AC_ARG_WITH([llvm-prefix],
1578 [AS_HELP_STRING([--with-llvm-prefix],
1579 [Prefix for LLVM installations in non-standard locations])],
1580 [llvm_prefix="$withval"],
1584 # Call this inside ` ` to get the return value.
1585 # $1 is the llvm-config command with arguments.
1586 strip_unwanted_llvm_flags() {
1587 # Use \> (marks the end of the word)
1589 -e 's/-DNDEBUG\>//g' \
1590 -e 's/-pedantic\>//g' \
1591 -e 's/-Wcovered-switch-default\>//g' \
1595 -e 's/-fomit-frame-pointer\>//g'
1599 if test "x$with_gallium_drivers" = x; then
1600 enable_gallium_llvm=no
1602 if test "x$enable_gallium_llvm" = xauto; then
1604 i*86|x86_64) enable_gallium_llvm=yes;;
1607 if test "x$enable_gallium_llvm" = xyes; then
1608 if test "x$llvm_prefix" != x; then
1609 AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no], ["$llvm_prefix/bin"])
1611 AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
1614 if test "x$LLVM_CONFIG" != xno; then
1615 LLVM_VERSION=`$LLVM_CONFIG --version | sed 's/svn.*//g'`
1616 LLVM_VERSION_INT=`echo $LLVM_VERSION | sed -e 's/\([[0-9]]\)\.\([[0-9]]\)/\10\2/g'`
1617 LLVM_COMPONENTS="engine bitwriter"
1618 if $LLVM_CONFIG --components | grep -q '\<mcjit\>'; then
1619 LLVM_COMPONENTS="${LLVM_COMPONENTS} mcjit"
1622 if test "x$enable_debug" = xyes; then
1623 # Debug builds require OProfileJIT if LLVM was built with support for it
1624 if $LLVM_CONFIG --components | grep -q '\<oprofilejit\>'; then
1625 LLVM_COMPONENTS="${LLVM_COMPONENTS} oprofilejit"
1629 if test "x$enable_opencl" = xyes; then
1630 LLVM_COMPONENTS="${LLVM_COMPONENTS} ipo linker instrumentation"
1631 # LLVM 3.3 >= 177971 requires IRReader
1632 if $LLVM_CONFIG --components | grep -q '\<irreader\>'; then
1633 LLVM_COMPONENTS="${LLVM_COMPONENTS} irreader"
1636 LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1637 LLVM_BINDIR=`$LLVM_CONFIG --bindir`
1638 LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"`
1639 LLVM_CFLAGS=$LLVM_CPPFLAGS # CPPFLAGS seem to be sufficient
1640 LLVM_CXXFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cxxflags"`
1641 LLVM_INCLUDEDIR=`$LLVM_CONFIG --includedir`
1642 LLVM_LIBDIR=`$LLVM_CONFIG --libdir`
1643 DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT"
1646 dnl Check for Clang interanl headers
1647 if test "x$enable_opencl" = xyes; then
1648 if test "x$CLANG_LIBDIR" = x; then
1649 CLANG_LIBDIR=${LLVM_LIBDIR}
1651 CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
1652 AC_CHECK_FILE("$CLANG_RESOURCE_DIR/include/stddef.h",,
1653 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.]))
1664 dnl Directory for XVMC libs
1665 AC_ARG_WITH([xvmc-libdir],
1666 [AS_HELP_STRING([--with-xvmc-libdir=DIR],
1667 [directory for the XVMC libraries @<:@default=${libdir}@:>@])],
1668 [XVMC_LIB_INSTALL_DIR="$withval"],
1669 [XVMC_LIB_INSTALL_DIR='${libdir}'])
1670 AC_SUBST([XVMC_LIB_INSTALL_DIR])
1675 if test "x$enable_gallium_tests" = xyes; then
1676 enable_gallium_loader=yes
1678 AM_CONDITIONAL(HAVE_GALLIUM_TESTS, test "x$enable_gallium_tests" = xyes)
1680 dnl Directory for VDPAU libs
1681 AC_ARG_WITH([vdpau-libdir],
1682 [AS_HELP_STRING([--with-vdpau-libdir=DIR],
1683 [directory for the VDPAU libraries @<:@default=${libdir}/vdpau@:>@])],
1684 [VDPAU_LIB_INSTALL_DIR="$withval"],
1685 [VDPAU_LIB_INSTALL_DIR='${libdir}/vdpau'])
1686 AC_SUBST([VDPAU_LIB_INSTALL_DIR])
1688 dnl Directory for OpenCL libs
1689 AC_ARG_WITH([opencl-libdir],
1690 [AS_HELP_STRING([--with-opencl-libdir=DIR],
1691 [directory for auxiliary libraries used by the OpenCL implementation @<:@default=${libdir}/opencl@:>@])],
1692 [OPENCL_LIB_INSTALL_DIR="$withval"],
1693 [OPENCL_LIB_INSTALL_DIR='${libdir}/opencl'])
1694 AC_SUBST([OPENCL_LIB_INSTALL_DIR])
1697 dnl Gallium helper functions
1699 gallium_check_st() {
1700 if test "x$HAVE_ST_DRI" = xyes || test "x$HAVE_ST_XORG" = xyes ||
1701 test "x$HAVE_ST_XA" = xyes || test "x$HAVE_ST_XVMC" = xyes ||
1702 test "x$HAVE_ST_VDPAU" = xyes; then
1703 if test "x$have_libdrm" != xyes; then
1704 AC_MSG_ERROR([DRI or Xorg DDX requires libdrm >= $LIBDRM_REQUIRED])
1706 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
1708 if test "x$HAVE_ST_DRI" = xyes && test "x$2" != x; then
1709 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
1712 if test "x$HAVE_ST_XORG" = xyes && test "x$3" != x; then
1713 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
1715 if test "x$HAVE_ST_XA" = xyes && test "x$4" != x; then
1716 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $4"
1718 if test "x$HAVE_ST_XVMC" = xyes && test "x$5" != x; then
1719 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $5"
1721 if test "x$HAVE_ST_VDPAU" = xyes && test "x$6" != x; then
1722 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $6"
1726 gallium_require_llvm() {
1727 if test "x$MESA_LLVM" = x0; then
1729 i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
1734 gallium_require_drm_loader() {
1735 if test "x$enable_gallium_loader" = xyes; then
1736 PKG_CHECK_MODULES([LIBUDEV], [libudev], [],
1737 AC_MSG_ERROR([Gallium drm loader requires libudev]))
1738 if test "x$have_libdrm" != xyes; then
1739 AC_MSG_ERROR([Gallium drm loader requires libdrm >= $LIBDRM_REQUIRED])
1741 enable_gallium_drm_loader=yes
1745 radeon_llvm_check() {
1746 LLVM_REQUIRED_VERSION_MAJOR="3"
1747 LLVM_REQUIRED_VERSION_MINOR="3"
1748 if test "$LLVM_VERSION_INT" -lt "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}"; then
1749 AC_MSG_ERROR([LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR or newer is required for r600g and radeonsi.])
1751 if test true && $LLVM_CONFIG --targets-built | grep -qv '\<R600\>' ; then
1752 AC_MSG_ERROR([LLVM R600 Target not enabled. You can enable it when building the LLVM
1753 sources with the --enable-experimental-targets=R600
1756 LLVM_COMPONENTS="${LLVM_COMPONENTS} r600 bitreader"
1757 NEED_RADEON_LLVM=yes
1758 AC_CHECK_LIB([elf], [elf_memory], [ELF_LIB=-lelf],
1759 [AC_MSG_ERROR([radeonsi and r600g require libelf when using LLVM])])
1763 dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this block
1764 if test "x$with_gallium_drivers" != x; then
1765 gallium_drivers=`IFS=', '; echo $with_gallium_drivers`
1766 for driver in $gallium_drivers; do
1769 HAVE_GALLIUM_SVGA=yes
1770 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga softpipe"
1771 gallium_check_st "svga/drm" "dri-vmwgfx" "" "xa-vmwgfx"
1774 HAVE_GALLIUM_I915=yes
1775 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1776 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915 softpipe"
1777 if test "x$MESA_LLVM" = x1; then
1778 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1780 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1781 gallium_check_st "i915/drm" "dri-i915" "xorg-i915"
1784 HAVE_GALLIUM_R300=yes
1785 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1786 gallium_require_llvm "Gallium R300"
1787 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
1788 gallium_check_st "radeon/drm" "dri-r300" "" "" "xvmc-r300" "vdpau-r300"
1791 HAVE_GALLIUM_R600=yes
1792 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1793 gallium_require_drm_loader
1794 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
1795 if test "x$enable_r600_llvm" = xyes -o "x$enable_opencl" = xyes; then
1797 R600_NEED_RADEON_GALLIUM=yes;
1798 LLVM_COMPONENTS="${LLVM_COMPONENTS} ipo bitreader asmparser"
1800 if test "x$enable_r600_llvm" = xyes; then
1801 USE_R600_LLVM_COMPILER=yes;
1803 if test "x$enable_opencl" = xyes; then
1804 LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
1806 gallium_check_st "radeon/drm" "dri-r600" "xorg-r600" "" "xvmc-r600" "vdpau-r600"
1809 HAVE_GALLIUM_RADEONSI=yes
1810 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1811 gallium_require_drm_loader
1812 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS radeonsi"
1814 gallium_check_st "radeon/drm" "dri-radeonsi" "xorg-radeonsi" "" "" "vdpau-radeonsi" ""
1817 HAVE_GALLIUM_NOUVEAU=yes
1818 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
1819 gallium_require_drm_loader
1820 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nv30 nv50 nvc0"
1821 gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau" "" "xvmc-nouveau" "vdpau-nouveau"
1824 HAVE_GALLIUM_FREEDRENO=yes
1825 PKG_CHECK_MODULES([FREEDRENO], [libdrm_freedreno >= $LIBDRM_FREEDRENO_REQUIRED])
1826 gallium_require_drm_loader
1827 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS freedreno"
1828 gallium_check_st "freedreno/drm" "dri-freedreno" "" "" "" ""
1831 HAVE_GALLIUM_SOFTPIPE=yes
1832 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS softpipe"
1833 if test "x$MESA_LLVM" = x1; then
1834 HAVE_GALLIUM_LLVMPIPE=yes
1835 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1838 if test "x$HAVE_ST_DRI" = xyes; then
1839 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast"
1841 if test "x$HAVE_ST_VDPAU" = xyes; then
1842 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS vdpau-softpipe"
1844 if test "x$HAVE_ST_XVMC" = xyes; then
1845 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS xvmc-softpipe"
1847 if test "x$HAVE_ST_VDPAU" = xyes ||
1848 test "x$HAVE_ST_XVMC" = xyes; then
1849 if test "x$HAVE_WINSYS_XLIB" != xyes; then
1850 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
1855 AC_MSG_ERROR([Unknown Gallium driver: $driver])
1861 dnl Set LLVM_LIBS - This is done after the driver configuration so
1862 dnl that drivers can add additonal components to LLVM_COMPONENTS.
1863 dnl Previously, gallium drivers were updating LLVM_LIBS directly
1864 dnl by calling llvm-config --libs ${DRIVER_LLVM_COMPONENTS}, but
1865 dnl this was causing the same libraries to be appear multiple times
1868 if test "x$MESA_LLVM" != x0; then
1870 LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`"
1872 if test "x$with_llvm_shared_libs" = xyes; then
1873 dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
1874 LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
1875 AC_CHECK_FILE("$LLVM_LIBDIR/lib$LLVM_SO_NAME.so", llvm_have_one_so=yes,)
1877 if test "x$llvm_have_one_so" = xyes; then
1878 dnl LLVM was built using auto*, so there is only one shared object.
1879 LLVM_LIBS="-l$LLVM_SO_NAME"
1881 dnl If LLVM was built with CMake, there will be one shared object per
1883 AC_CHECK_FILE("$LLVM_LIBDIR/libLLVMTarget.so",,
1884 AC_MSG_ERROR([Could not find llvm shared libraries:
1885 Please make sure you have built llvm with the --enable-shared option
1886 and that your llvm libraries are installed in $LLVM_LIBDIR
1887 If you have installed your llvm libraries to a different directory you
1888 can use the --with-llvm-prefix= configure flag to specify this directory.
1889 NOTE: Mesa is attempting to use llvm shared libraries because you have
1890 passed one of the following options to configure:
1891 --with-llvm-shared-libs
1893 If you do not want to build with llvm shared libraries and instead want to
1894 use llvm static libraries then remove these options from your configure
1895 invocation and reconfigure.]))
1897 dnl We don't need to update LLVM_LIBS in this case because the LLVM
1898 dnl install uses a shared object for each compoenent and we have
1899 dnl already added all of these objects to LLVM_LIBS.
1904 AM_CONDITIONAL(HAVE_GALLIUM_SVGA, test "x$HAVE_GALLIUM_SVGA" = xyes)
1905 AM_CONDITIONAL(HAVE_GALLIUM_I915, test "x$HAVE_GALLIUM_I915" = xyes)
1906 AM_CONDITIONAL(HAVE_GALLIUM_R300, test "x$HAVE_GALLIUM_R300" = xyes)
1907 AM_CONDITIONAL(HAVE_GALLIUM_R600, test "x$HAVE_GALLIUM_R600" = xyes)
1908 AM_CONDITIONAL(HAVE_GALLIUM_RADEONSI, test "x$HAVE_GALLIUM_RADEONSI" = xyes)
1909 AM_CONDITIONAL(HAVE_GALLIUM_NOUVEAU, test "x$HAVE_GALLIUM_NOUVEAU" = xyes)
1910 AM_CONDITIONAL(HAVE_GALLIUM_FREEDRENO, test "x$HAVE_GALLIUM_FREEDRENO" = xyes)
1911 AM_CONDITIONAL(HAVE_GALLIUM_SOFTPIPE, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes)
1912 AM_CONDITIONAL(HAVE_GALLIUM_LLVMPIPE, test "x$HAVE_GALLIUM_LLVMPIPE" = xyes)
1914 if test "x$enable_gallium_loader" = xyes; then
1915 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/null"
1916 GALLIUM_PIPE_LOADER_DEFINES="-DHAVE_PIPE_LOADER_SW"
1917 GALLIUM_PIPE_LOADER_LIBS="\$(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la"
1918 GALLIUM_PIPE_LOADER_LIBS="$GALLIUM_PIPE_LOADER_LIBS \$(top_builddir)/src/gallium/winsys/sw/null/libws_null.la"
1920 if test "x$HAVE_WINSYS_XLIB" = xyes; then
1921 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_XLIB"
1922 GALLIUM_PIPE_LOADER_LIBS="$GALLIUM_PIPE_LOADER_LIBS \$(top_builddir)/src/gallium/winsys/sw/xlib/libws_xlib.la"
1925 if test "x$enable_gallium_drm_loader" = xyes; then
1926 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_DRM"
1927 PKG_CHECK_MODULES([GALLIUM_PIPE_LOADER_XCB], [xcb xcb-dri2],
1928 pipe_loader_have_xcb=yes, pipe_loader_have_xcb=no)
1929 if test "x$pipe_loader_have_xcb" = xyes; then
1930 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DPIPE_LOADER_HAVE_XCB"
1931 GALLIUM_PIPE_LOADER_LIBS="$GALLIUM_PIPE_LOADER_LIBS $GALLIUM_PIPE_LOADER_XCB_LIBS $LIBDRM_LIBS"
1935 AC_SUBST([GALLIUM_PIPE_LOADER_DEFINES])
1936 AC_SUBST([GALLIUM_PIPE_LOADER_LIBS])
1939 dnl Tell Automake which drivers to build
1940 for driver in $GALLIUM_DRIVERS_DIRS; do
1943 HAVE_GALAHAD_GALLIUM=yes;
1946 HAVE_IDENTITY_GALLIUM=yes;
1949 HAVE_NOOP_GALLIUM=yes;
1952 GALLIUM_MAKE_DIRS="$GALLIUM_MAKE_DIRS $driver"
1957 AM_CONDITIONAL(HAVE_I915_DRI, test x$HAVE_I915_DRI = xyes)
1958 AM_CONDITIONAL(HAVE_I965_DRI, test x$HAVE_I965_DRI = xyes)
1959 AM_CONDITIONAL(HAVE_NOUVEAU_DRI, test x$HAVE_NOUVEAU_DRI = xyes)
1960 AM_CONDITIONAL(HAVE_R200_DRI, test x$HAVE_R200_DRI = xyes)
1961 AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes)
1962 AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes)
1963 AM_CONDITIONAL(HAVE_COMMON_DRI, test x$HAVE_COMMON_DRI = xyes)
1965 AM_CONDITIONAL(HAVE_GALAHAD_GALLIUM, test x$HAVE_GALAHAD_GALLIUM = xyes)
1966 AM_CONDITIONAL(HAVE_IDENTITY_GALLIUM, test x$HAVE_IDENTITY_GALLIUM = xyes)
1967 AM_CONDITIONAL(HAVE_NOOP_GALLIUM, test x$HAVE_NOOP_GALLIUM = xyes)
1968 AM_CONDITIONAL(NEED_RADEON_LLVM, test x$NEED_RADEON_LLVM = xyes)
1969 AM_CONDITIONAL(R600_NEED_RADEON_GALLIUM, test x$R600_NEED_RADEON_GALLIUM = xyes)
1970 AM_CONDITIONAL(USE_R600_LLVM_COMPILER, test x$USE_R600_LLVM_COMPILER = xyes)
1971 AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes)
1972 AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes)
1973 AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
1974 AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1)
1975 AM_CONDITIONAL(LLVM_NEEDS_FNORTTI, test $LLVM_VERSION_INT -ge 302)
1977 AC_SUBST([GALLIUM_MAKE_DIRS])
1980 AM_CONDITIONAL(NEED_LIBPROGRAM, test "x$with_gallium_drivers" != x -o \
1981 "x$enable_xlib_glx" = xyes -o \
1982 "x$enable_osmesa" = xyes)
1983 AM_CONDITIONAL(HAVE_X11_DRIVER, echo "$DRIVER_DIRS" | grep 'x11' >/dev/null 2>&1)
1985 AM_CONDITIONAL(HAVE_X86_ASM, echo "$DEFINES" | grep 'X86_ASM' >/dev/null 2>&1)
1986 AM_CONDITIONAL(HAVE_X86_64_ASM, echo "$DEFINES" | grep 'X86_64_ASM' >/dev/null 2>&1)
1987 AM_CONDITIONAL(HAVE_SPARC_ASM, echo "$DEFINES" | grep 'SPARC_ASM' >/dev/null 2>&1)
1989 AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
1991 AC_SUBST([VDPAU_MAJOR], 1)
1992 AC_SUBST([VDPAU_MINOR], 0)
1994 AC_SUBST([XVMC_MAJOR], 1)
1995 AC_SUBST([XVMC_MINOR], 0)
1997 AC_SUBST([XA_MAJOR], 1)
1998 AC_SUBST([XA_MINOR], 0)
1999 AC_SUBST([XA_TINY], 0)
2000 AC_SUBST([XA_VERSION], "$XA_MAJOR.$XA_MINOR.$XA_TINY")
2002 dnl Restore LDFLAGS and CPPFLAGS
2003 LDFLAGS="$_SAVE_LDFLAGS"
2004 CPPFLAGS="$_SAVE_CPPFLAGS"
2006 dnl Add user CFLAGS and CXXFLAGS
2007 CFLAGS="$CFLAGS $USER_CFLAGS"
2008 CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
2010 dnl Substitute the config
2011 AC_CONFIG_FILES([Makefile
2014 src/egl/drivers/Makefile
2015 src/egl/drivers/dri2/Makefile
2016 src/egl/drivers/glx/Makefile
2017 src/egl/main/Makefile
2019 src/egl/wayland/Makefile
2020 src/egl/wayland/wayland-drm/Makefile
2021 src/egl/wayland/wayland-egl/Makefile
2022 src/egl/wayland/wayland-egl/wayland-egl.pc
2023 src/gallium/Makefile
2024 src/gallium/auxiliary/Makefile
2025 src/gallium/auxiliary/pipe-loader/Makefile
2026 src/gallium/drivers/Makefile
2027 src/gallium/drivers/freedreno/Makefile
2028 src/gallium/drivers/i915/Makefile
2029 src/gallium/drivers/llvmpipe/Makefile
2030 src/gallium/drivers/nouveau/Makefile
2031 src/gallium/drivers/nv30/Makefile
2032 src/gallium/drivers/nv50/Makefile
2033 src/gallium/drivers/nvc0/Makefile
2034 src/gallium/drivers/r300/Makefile
2035 src/gallium/drivers/r600/Makefile
2036 src/gallium/drivers/radeon/Makefile
2037 src/gallium/drivers/radeonsi/Makefile
2038 src/gallium/drivers/rbug/Makefile
2039 src/gallium/drivers/softpipe/Makefile
2040 src/gallium/drivers/svga/Makefile
2041 src/gallium/drivers/trace/Makefile
2042 src/gallium/state_trackers/Makefile
2043 src/gallium/state_trackers/clover/Makefile
2044 src/gallium/state_trackers/dri/Makefile
2045 src/gallium/state_trackers/dri/drm/Makefile
2046 src/gallium/state_trackers/dri/sw/Makefile
2047 src/gallium/state_trackers/egl/Makefile
2048 src/gallium/state_trackers/gbm/Makefile
2049 src/gallium/state_trackers/glx/Makefile
2050 src/gallium/state_trackers/osmesa/Makefile
2051 src/gallium/state_trackers/vdpau/Makefile
2052 src/gallium/state_trackers/vega/Makefile
2053 src/gallium/state_trackers/xa/Makefile
2054 src/gallium/state_trackers/xorg/Makefile
2055 src/gallium/state_trackers/xvmc/Makefile
2056 src/gallium/targets/Makefile
2057 src/gallium/targets/dri-freedreno/Makefile
2058 src/gallium/targets/dri-i915/Makefile
2059 src/gallium/targets/dri-nouveau/Makefile
2060 src/gallium/targets/dri-r300/Makefile
2061 src/gallium/targets/dri-r600/Makefile
2062 src/gallium/targets/dri-radeonsi/Makefile
2063 src/gallium/targets/dri-swrast/Makefile
2064 src/gallium/targets/dri-vmwgfx/Makefile
2065 src/gallium/targets/egl-static/Makefile
2066 src/gallium/targets/gbm/Makefile
2067 src/gallium/targets/opencl/Makefile
2068 src/gallium/targets/osmesa/Makefile
2069 src/gallium/targets/pipe-loader/Makefile
2070 src/gallium/targets/libgl-xlib/Makefile
2071 src/gallium/targets/vdpau-nouveau/Makefile
2072 src/gallium/targets/vdpau-r300/Makefile
2073 src/gallium/targets/vdpau-r600/Makefile
2074 src/gallium/targets/vdpau-radeonsi/Makefile
2075 src/gallium/targets/vdpau-softpipe/Makefile
2076 src/gallium/targets/xa-vmwgfx/Makefile
2077 src/gallium/targets/xa-vmwgfx/xatracker.pc
2078 src/gallium/targets/xorg-i915/Makefile
2079 src/gallium/targets/xorg-nouveau/Makefile
2080 src/gallium/targets/xorg-r600/Makefile
2081 src/gallium/targets/xorg-radeonsi/Makefile
2082 src/gallium/targets/xvmc-nouveau/Makefile
2083 src/gallium/targets/xvmc-r300/Makefile
2084 src/gallium/targets/xvmc-r600/Makefile
2085 src/gallium/targets/xvmc-softpipe/Makefile
2086 src/gallium/tests/trivial/Makefile
2087 src/gallium/tests/unit/Makefile
2088 src/gallium/winsys/Makefile
2089 src/gallium/winsys/freedreno/drm/Makefile
2090 src/gallium/winsys/i915/drm/Makefile
2091 src/gallium/winsys/i915/sw/Makefile
2092 src/gallium/winsys/nouveau/drm/Makefile
2093 src/gallium/winsys/radeon/drm/Makefile
2094 src/gallium/winsys/svga/drm/Makefile
2095 src/gallium/winsys/sw/Makefile
2096 src/gallium/winsys/sw/dri/Makefile
2097 src/gallium/winsys/sw/fbdev/Makefile
2098 src/gallium/winsys/sw/null/Makefile
2099 src/gallium/winsys/sw/wayland/Makefile
2100 src/gallium/winsys/sw/wrapper/Makefile
2101 src/gallium/winsys/sw/xlib/Makefile
2105 src/glsl/builtin_compiler/Makefile
2107 src/glx/tests/Makefile
2110 src/mapi/es1api/Makefile
2111 src/mapi/es1api/glesv1_cm.pc
2112 src/mapi/es2api/Makefile
2113 src/mapi/es2api/glesv2.pc
2114 src/mapi/glapi/Makefile
2115 src/mapi/glapi/gen/Makefile
2116 src/mapi/glapi/tests/Makefile
2117 src/mapi/shared-glapi/Makefile
2118 src/mapi/shared-glapi/tests/Makefile
2119 src/mapi/vgapi/Makefile
2120 src/mapi/vgapi/vg.pc
2123 src/mesa/drivers/Makefile
2124 src/mesa/drivers/dri/dri.pc
2125 src/mesa/drivers/dri/common/Makefile
2126 src/mesa/drivers/dri/common/xmlpool/Makefile
2127 src/mesa/drivers/dri/i915/Makefile
2128 src/mesa/drivers/dri/i965/Makefile
2129 src/mesa/drivers/dri/Makefile
2130 src/mesa/drivers/dri/nouveau/Makefile
2131 src/mesa/drivers/dri/r200/Makefile
2132 src/mesa/drivers/dri/radeon/Makefile
2133 src/mesa/drivers/dri/swrast/Makefile
2134 src/mesa/drivers/osmesa/Makefile
2135 src/mesa/drivers/osmesa/osmesa.pc
2136 src/mesa/drivers/x11/Makefile
2137 src/mesa/libdricore/Makefile
2138 src/mesa/main/tests/Makefile
2139 src/mesa/main/tests/hash_table/Makefile
2140 src/mesa/program/Makefile
2141 src/mesa/x86-64/Makefile
2142 src/mesa/x86/Makefile])
2144 dnl Sort the dirs alphabetically
2145 GALLIUM_TARGET_DIRS=`echo $GALLIUM_TARGET_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2146 GALLIUM_WINSYS_DIRS=`echo $GALLIUM_WINSYS_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2147 GALLIUM_DRIVERS_DIRS=`echo $GALLIUM_DRIVERS_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2148 GALLIUM_MAKE_DIRS=`echo $GALLIUM_MAKE_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2149 GALLIUM_STATE_TRACKERS_DIRS=`echo $GALLIUM_STATE_TRACKERS_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2154 dnl Output some configuration info for the user
2157 echo " prefix: $prefix"
2158 echo " exec_prefix: $exec_prefix"
2159 echo " libdir: $libdir"
2160 echo " includedir: $includedir"
2164 echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
2165 echo " OpenVG: $enable_openvg"
2169 if test "x$enable_osmesa" != xno; then
2170 echo " OSMesa: lib$OSMESA_LIB"
2175 if test "x$enable_dri" != xno; then
2176 # cleanup the drivers var
2177 dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'`
2178 if test "x$DRI_DIRS" = x; then
2179 echo " DRI drivers: no"
2181 echo " DRI drivers: $dri_dirs"
2183 echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
2186 case "x$enable_glx$enable_xlib_glx" in
2188 echo " GLX: Xlib-based"
2191 echo " GLX: DRI-based"
2194 echo " GLX: $enable_glx"
2200 echo " EGL: $enable_egl"
2201 if test "$enable_egl" = yes; then
2202 echo " EGL platforms: $EGL_PLATFORMS"
2205 if test "x$HAVE_EGL_DRIVER_GLX" != "x"; then
2206 egl_drivers="$egl_drivers builtin:egl_glx"
2208 if test "x$HAVE_EGL_DRIVER_DRI2" != "x"; then
2209 egl_drivers="$egl_drivers builtin:egl_dri2"
2212 if test "x$HAVE_ST_EGL" = xyes; then
2213 echo " EGL drivers: ${egl_drivers} egl_gallium"
2214 echo " EGL Gallium STs:$EGL_CLIENT_APIS"
2216 echo " EGL drivers: $egl_drivers"
2221 if test "x$MESA_LLVM" = x1; then
2223 echo " llvm-config: $LLVM_CONFIG"
2224 echo " llvm-version: $LLVM_VERSION"
2230 if test -n "$with_gallium_drivers"; then
2231 echo " Gallium: yes"
2232 echo " Gallium dirs: $GALLIUM_DIRS"
2233 echo " Target dirs: $GALLIUM_TARGET_DIRS"
2234 echo " Winsys dirs: $GALLIUM_WINSYS_DIRS"
2235 echo " Driver dirs: $GALLIUM_DRIVERS_DIRS"
2236 echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS"
2244 echo " Shared libs: $enable_shared"
2245 echo " Static libs: $enable_static"
2246 echo " Shared-glapi: $enable_shared_glapi"
2248 dnl Compiler options
2249 # cleanup the CFLAGS/CXXFLAGS/DEFINES vars
2250 cflags=`echo $CFLAGS | \
2251 $SED 's/^ *//;s/ */ /;s/ *$//'`
2252 cxxflags=`echo $CXXFLAGS | \
2253 $SED 's/^ *//;s/ */ /;s/ *$//'`
2254 defines=`echo $DEFINES | $SED 's/^ *//;s/ */ /;s/ *$//'`
2256 echo " CFLAGS: $cflags"
2257 echo " CXXFLAGS: $cxxflags"
2258 echo " Macros: $defines"
2260 if test "x$MESA_LLVM" = x1; then
2261 echo " LLVM_CFLAGS: $LLVM_CFLAGS"
2262 echo " LLVM_CXXFLAGS: $LLVM_CXXFLAGS"
2263 echo " LLVM_CPPFLAGS: $LLVM_CPPFLAGS"
2266 echo " PYTHON2: $PYTHON2"
2269 echo " Run '${MAKE-make}' to build Mesa"