1 dnl Process this file with autoconf to create configure.
5 dnl Tell the user about autoconf.html in the --help output
6 m4_divert_once([HELP_END], [
7 See docs/autoconf.html for more details on the options for Mesa.])
9 m4_define(MESA_VERSION, m4_normalize(m4_include(VERSION)))
10 AC_INIT([Mesa], [MESA_VERSION],
11 [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
12 AC_CONFIG_AUX_DIR([bin])
13 AC_CONFIG_MACRO_DIR([m4])
15 AM_INIT_AUTOMAKE([foreign])
17 dnl http://people.gnome.org/~walters/docs/build-api.txt
18 dnl We don't support srcdir != builddir.
19 echo \#buildapi-variable-no-builddir >/dev/null
21 # Support silent build rules, requires at least automake-1.11. Disable
22 # by either passing --disable-silent-rules to configure or passing V=1
24 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
25 [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
27 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
29 dnl Set internal versions
31 AC_SUBST([OSMESA_VERSION])
33 dnl Versions for external dependencies
34 LIBDRM_REQUIRED=2.4.24
35 LIBDRM_RADEON_REQUIRED=2.4.46
36 LIBDRM_INTEL_REQUIRED=2.4.38
37 LIBDRM_NVVIEUX_REQUIRED=2.4.33
38 LIBDRM_NOUVEAU_REQUIRED="2.4.33 libdrm >= 2.4.41"
39 LIBDRM_FREEDRENO_REQUIRED=2.4.39
40 DRI2PROTO_REQUIRED=2.6
41 GLPROTO_REQUIRED=1.4.14
42 LIBDRM_XORG_REQUIRED=2.4.24
43 LIBKMS_XORG_REQUIRED=1.0.0
53 AC_CHECK_PROGS([MAKE], [gmake make])
54 AC_CHECK_PROGS([PYTHON2], [python2 python])
55 AX_PYTHON_MODULE([libxml2], [needed])
60 LT_INIT([disable-static])
63 AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-parse.c"],
64 [AC_MSG_ERROR([bison not found - unable to compile glcpp-parse.y])]))
66 AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-lex.c"],
67 [AC_MSG_ERROR([flex not found - unable to compile glcpp-lex.l])]))
69 AC_PATH_PROG([PERL], [perl])
71 AC_CHECK_PROG(INDENT, indent, indent, cat)
72 if test "x$INDENT" != "xcat"; then
73 AC_SUBST(INDENT_FLAGS, '-i4 -nut -br -brs -npcs -ce -TGLubyte -TGLbyte -TBool')
78 dnl We need a POSIX shell for parts of the build. Assume we have one
82 # Solaris /bin/sh is too old/non-POSIX compliant
83 AC_PATH_PROGS(POSIX_SHELL, [ksh93 ksh sh])
88 dnl clang is mostly GCC-compatible, but its version is much lower,
89 dnl so we have to check for it.
90 AC_MSG_CHECKING([if compiling with clang])
93 [AC_LANG_PROGRAM([], [[
98 [acv_mesa_CLANG=yes], [acv_mesa_CLANG=no])
100 AC_MSG_RESULT([$acv_mesa_CLANG])
102 dnl If we're using GCC, make sure that it is at least version 3.3.0. Older
103 dnl versions are explictly not supported.
105 if test "x$GCC" = xyes -a "x$acv_mesa_CLANG" = xno; then
106 AC_MSG_CHECKING([whether gcc version is sufficient])
110 GCC_VERSION=`$CC -dumpversion`
111 if test $? -eq 0; then
112 GCC_VERSION_MAJOR=`echo $GCC_VERSION | cut -d. -f1`
113 GCC_VERSION_MINOR=`echo $GCC_VERSION | cut -d. -f2`
116 if test $GCC_VERSION_MAJOR -lt 3 -o $GCC_VERSION_MAJOR -eq 3 -a $GCC_VERSION_MINOR -lt 3 ; then
118 AC_MSG_ERROR([If using GCC, version 3.3.0 or later is required.])
123 if test "x$cross_compiling" = xyes; then
127 AM_CONDITIONAL([GEN_ASM_OFFSETS], test "x$GEN_ASM_OFFSETS" = xyes)
129 dnl Make sure the pkg-config macros are defined
130 m4_ifndef([PKG_PROG_PKG_CONFIG],
131 [m4_fatal([Could not locate the pkg-config autoconf macros.
132 These are usually located in /usr/share/aclocal/pkg.m4. If your macros
133 are in a different location, try setting the environment variable
134 ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
135 PKG_PROG_PKG_CONFIG()
137 dnl LIB_DIR - library basename
138 LIB_DIR=`echo $libdir | $SED 's%.*/%%'`
141 dnl Cache LDFLAGS and CPPFLAGS so we can add to them and restore later
142 _SAVE_LDFLAGS="$LDFLAGS"
143 _SAVE_CPPFLAGS="$CPPFLAGS"
145 dnl build host compiler macros
147 AC_SUBST([DEFINES_FOR_BUILD])
150 DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD -D_GNU_SOURCE"
153 DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD -DSVR4"
156 DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD"
165 DEFINES="$DEFINES -D_GNU_SOURCE -DHAVE_PTHREAD"
168 DEFINES="$DEFINES -DHAVE_PTHREAD -DSVR4"
171 DEFINES="$DEFINES -DHAVE_PTHREAD"
175 dnl Add flags for gcc and g++
176 if test "x$GCC" = xyes; then
179 CFLAGS="$CFLAGS -Wall -std=gnu99"
182 CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -Wall -std=c99"
183 CFLAGS="$CFLAGS -Wall -std=c99"
187 # Enable -Werror=implicit-function-declaration and
188 # -Werror=missing-prototypes, if available, or otherwise, just
189 # -Wmissing-prototypes. This is particularly useful to avoid
190 # generating a loadable driver module that has undefined symbols.
191 save_CFLAGS="$CFLAGS"
192 AC_MSG_CHECKING([whether $CC supports -Werror=missing-prototypes])
193 CFLAGS="$CFLAGS -Werror=implicit-function-declaration"
194 CFLAGS="$CFLAGS -Werror=missing-prototypes"
195 AC_LINK_IFELSE([AC_LANG_PROGRAM()],
196 AC_MSG_RESULT([yes]),
197 [CFLAGS="$save_CFLAGS -Wmissing-prototypes";
198 AC_MSG_RESULT([no])]);
200 # Enable -fvisibility=hidden if using a gcc that supports it
201 save_CFLAGS="$CFLAGS"
202 AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
203 VISIBILITY_CFLAGS="-fvisibility=hidden"
204 CFLAGS="$CFLAGS $VISIBILITY_CFLAGS"
205 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
206 [VISIBILITY_CFLAGS=""; AC_MSG_RESULT([no])]);
208 # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed.
211 # Work around aliasing bugs - developers should comment this out
212 CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -fno-strict-aliasing"
213 CFLAGS="$CFLAGS -fno-strict-aliasing"
215 # gcc's builtin memcmp is slower than glibc's
216 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
217 CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -fno-builtin-memcmp"
218 CFLAGS="$CFLAGS -fno-builtin-memcmp"
220 if test "x$GXX" = xyes; then
221 CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -Wall"
222 CXXFLAGS="$CXXFLAGS -Wall"
224 # Enable -fvisibility=hidden if using a gcc that supports it
225 save_CXXFLAGS="$CXXFLAGS"
226 AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
227 VISIBILITY_CXXFLAGS="-fvisibility=hidden"
228 CXXFLAGS="$CXXFLAGS $VISIBILITY_CXXFLAGS"
230 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
231 [VISIBILITY_CXXFLAGS="" ; AC_MSG_RESULT([no])]);
234 # Restore CXXFLAGS; VISIBILITY_CXXFLAGS are added to it where needed.
235 CXXFLAGS=$save_CXXFLAGS
237 # Work around aliasing bugs - developers should comment this out
238 CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -fno-strict-aliasing"
239 CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
241 # gcc's builtin memcmp is slower than glibc's
242 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
243 CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -fno-builtin-memcmp"
244 CXXFLAGS="$CXXFLAGS -fno-builtin-memcmp"
247 dnl even if the compiler appears to support it, using visibility attributes isn't
248 dnl going to do anything useful currently on cygwin apart from emit lots of warnings
252 VISIBILITY_CXXFLAGS=""
256 AC_SUBST([VISIBILITY_CFLAGS])
257 AC_SUBST([VISIBILITY_CXXFLAGS])
260 dnl Hacks to enable 32 or 64 bit build
262 AC_ARG_ENABLE([32-bit],
263 [AS_HELP_STRING([--enable-32-bit],
264 [build 32-bit libraries @<:@default=auto@:>@])],
265 [enable_32bit="$enableval"],
268 if test "x$enable_32bit" = xyes; then
269 if test "x$GCC" = xyes; then
270 CFLAGS="$CFLAGS -m32"
271 CCASFLAGS="$CCASFLAGS -m32"
273 if test "x$GXX" = xyes; then
274 CXXFLAGS="$CXXFLAGS -m32"
277 AC_ARG_ENABLE([64-bit],
278 [AS_HELP_STRING([--enable-64-bit],
279 [build 64-bit libraries @<:@default=auto@:>@])],
280 [enable_64bit="$enableval"],
283 if test "x$enable_64bit" = xyes; then
284 if test "x$GCC" = xyes; then
285 CFLAGS="$CFLAGS -m64"
287 if test "x$GXX" = xyes; then
288 CXXFLAGS="$CXXFLAGS -m64"
292 dnl Can't have static and shared libraries, default to static if user
293 dnl explicitly requested. If both disabled, set to static since shared
294 dnl was explicitly requested.
295 case "x$enable_static$enable_shared" in
297 AC_MSG_WARN([Cannot build static and shared libraries, disabling shared])
301 AC_MSG_WARN([Cannot disable both static and shared libraries, enabling static])
306 AM_CONDITIONAL(BUILD_SHARED, test "x$enable_shared" = xyes)
309 dnl other compiler options
311 AC_ARG_ENABLE([debug],
312 [AS_HELP_STRING([--enable-debug],
313 [use debug compiler flags and macros @<:@default=disabled@:>@])],
314 [enable_debug="$enableval"],
317 if test "x$enable_debug" = xyes; then
318 DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD -DDEBUG"
319 if test "x$GCC_FOR_BUILD" = xyes; then
320 CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -g -O0"
322 if test "x$GXX_FOR_BUILD" = xyes; then
323 CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -g -O0"
326 DEFINES="$DEFINES -DDEBUG"
327 if test "x$GCC" = xyes; then
328 CFLAGS="$CFLAGS -g -O0"
330 if test "x$GXX" = xyes; then
331 CXXFLAGS="$CXXFLAGS -g -O0"
338 LIB_PREFIX_GLOB='lib'
339 LIB_VERSION_SEPARATOR='.'
340 if test "$enable_static" = yes; then
345 LIB_EXTENSION='dylib' ;;
347 dnl prefix can be 'cyg' or 'lib'
348 LIB_PREFIX_GLOB='???'
349 LIB_VERSION_SEPARATOR='-'
350 LIB_EXTENSION='dll' ;;
354 LIB_EXTENSION='so' ;;
357 AC_ARG_WITH([gl-lib-name],
358 [AS_HELP_STRING([--with-gl-lib-name@<:@=NAME@:>@],
359 [specify GL library name @<:@default=GL@:>@])],
362 AC_ARG_WITH([osmesa-lib-name],
363 [AS_HELP_STRING([--with-osmesa-lib-name@<:@=NAME@:>@],
364 [specify OSMesa library name @<:@default=OSMesa@:>@])],
365 [OSMESA_LIB=$withval],
367 AS_IF([test "x$GL_LIB" = xyes], [GL_LIB=GL])
368 AS_IF([test "x$OSMESA_LIB" = xyes], [OSMESA_LIB=OSMesa])
371 dnl Mangled Mesa support
373 AC_ARG_ENABLE([mangling],
374 [AS_HELP_STRING([--enable-mangling],
375 [enable mangled symbols and library name @<:@default=disabled@:>@])],
376 [enable_mangling="${enableval}"],
379 if test "x${enable_mangling}" = "xyes" ; then
380 DEFINES="${DEFINES} -DUSE_MGL_NAMESPACE"
381 GL_LIB="Mangled${GL_LIB}"
382 OSMESA_LIB="Mangled${OSMESA_LIB}"
385 AC_SUBST([OSMESA_LIB])
388 dnl potentially-infringing-but-nobody-knows-for-sure stuff
390 AC_ARG_ENABLE([texture-float],
391 [AS_HELP_STRING([--enable-texture-float],
392 [enable floating-point textures and renderbuffers @<:@default=disabled@:>@])],
393 [enable_texture_float="$enableval"],
394 [enable_texture_float=no]
396 if test "x$enable_texture_float" = xyes; then
397 AC_MSG_WARN([Floating-point textures enabled.])
398 AC_MSG_WARN([Please consult docs/patents.txt with your lawyer before building Mesa.])
399 DEFINES="$DEFINES -DTEXTURE_FLOAT_ENABLED"
402 GL_LIB_NAME='lib$(GL_LIB).'${LIB_EXTENSION}
403 OSMESA_LIB_NAME='lib$(OSMESA_LIB).'${LIB_EXTENSION}
404 EGL_LIB_NAME='lib$(EGL_LIB).'${LIB_EXTENSION}
405 GLESv1_CM_LIB_NAME='lib$(GLESv1_CM_LIB).'${LIB_EXTENSION}
406 GLESv2_LIB_NAME='lib$(GLESv2_LIB).'${LIB_EXTENSION}
407 VG_LIB_NAME='lib$(VG_LIB).'${LIB_EXTENSION}
408 GLAPI_LIB_NAME='lib$(GLAPI_LIB).'${LIB_EXTENSION}
410 GL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
411 EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
412 EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
413 GLESv1_CM_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv1_CM_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
414 GLESv2_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv2_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
415 VG_LIB_GLOB=${LIB_PREFIX_GLOB}'$(VG_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
416 GLAPI_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLAPI_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
418 AC_SUBST([GL_LIB_NAME])
419 AC_SUBST([OSMESA_LIB_NAME])
420 AC_SUBST([EGL_LIB_NAME])
421 AC_SUBST([GLESv1_CM_LIB_NAME])
422 AC_SUBST([GLESv2_LIB_NAME])
423 AC_SUBST([VG_LIB_NAME])
424 AC_SUBST([GLAPI_LIB_NAME])
426 AC_SUBST([GL_LIB_GLOB])
427 AC_SUBST([EGL_LIB_GLOB])
428 AC_SUBST([GLESv1_CM_LIB_GLOB])
429 AC_SUBST([GLESv2_LIB_GLOB])
430 AC_SUBST([VG_LIB_GLOB])
431 AC_SUBST([GLAPI_LIB_GLOB])
434 dnl Arch/platform-specific settings
437 [AS_HELP_STRING([--disable-asm],
438 [disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
439 [enable_asm="$enableval"],
443 AC_MSG_CHECKING([whether to enable assembly])
444 test "x$enable_asm" = xno && AC_MSG_RESULT([no])
445 # disable if cross compiling on x86/x86_64 since we must run gen_matypes
446 if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
448 i?86 | x86_64 | amd64)
450 AC_MSG_RESULT([no, cross compiling])
454 # check for supported arches
455 if test "x$enable_asm" = xyes; then
459 linux* | *freebsd* | dragonfly* | *netbsd* | openbsd*)
460 test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86
469 linux* | *freebsd* | dragonfly* | *netbsd* | openbsd*)
470 test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
485 DEFINES="$DEFINES -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
486 AC_MSG_RESULT([yes, x86])
489 DEFINES="$DEFINES -DUSE_X86_64_ASM"
490 AC_MSG_RESULT([yes, x86_64])
493 DEFINES="$DEFINES -DUSE_SPARC_ASM"
494 AC_MSG_RESULT([yes, sparc])
497 AC_MSG_RESULT([no, platform not supported])
502 dnl Check to see if dlopen is in default libraries (like Solaris, which
503 dnl has it in libc), or if libdl is needed to get it.
504 AC_CHECK_FUNC([dlopen], [DEFINES="$DEFINES -DHAVE_DLOPEN"],
505 [AC_CHECK_LIB([dl], [dlopen],
506 [DEFINES="$DEFINES -DHAVE_DLOPEN"; DLOPEN_LIBS="-ldl"])])
507 AC_SUBST([DLOPEN_LIBS])
513 AC_CHECK_FUNCS([clock_gettime], [CLOCK_LIB=],
514 [AC_CHECK_LIB([rt], [clock_gettime], [CLOCK_LIB=-lrt],
515 [AC_MSG_ERROR([Couldn't find clock_gettime])])])
516 AC_SUBST([CLOCK_LIB])
520 dnl See if posix_memalign is available
521 AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
523 dnl Check for pthreads
525 dnl AX_PTHREADS leaves PTHREAD_LIBS empty for gcc and sets PTHREAD_CFLAGS
526 dnl to -pthread, which causes problems if we need -lpthread to appear in
528 test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread"
530 dnl SELinux awareness.
531 AC_ARG_ENABLE([selinux],
532 [AS_HELP_STRING([--enable-selinux],
533 [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
534 [MESA_SELINUX="$enableval"],
536 if test "x$enable_selinux" = "xyes"; then
537 AC_CHECK_HEADER([selinux/selinux.h],[],
538 [AC_MSG_ERROR([SELinux headers not found])])
539 AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
540 [AC_MSG_ERROR([SELinux library not found])])
541 SELINUX_LIBS="-lselinux"
542 DEFINES="$DEFINES -DMESA_SELINUX"
544 AC_SUBST([SELINUX_LIBS])
547 AC_ARG_ENABLE([opengl],
548 [AS_HELP_STRING([--disable-opengl],
549 [disable support for standard OpenGL API @<:@default=no@:>@])],
550 [enable_opengl="$enableval"],
552 AC_ARG_ENABLE([gles1],
553 [AS_HELP_STRING([--enable-gles1],
554 [enable support for OpenGL ES 1.x API @<:@default=no@:>@])],
555 [enable_gles1="$enableval"],
557 AC_ARG_ENABLE([gles2],
558 [AS_HELP_STRING([--enable-gles2],
559 [enable support for OpenGL ES 2.x API @<:@default=no@:>@])],
560 [enable_gles2="$enableval"],
562 AC_ARG_ENABLE([openvg],
563 [AS_HELP_STRING([--enable-openvg],
564 [enable support for OpenVG API @<:@default=no@:>@])],
565 [enable_openvg="$enableval"],
569 [AS_HELP_STRING([--enable-dri],
570 [enable DRI modules @<:@default=enabled@:>@])],
571 [enable_dri="$enableval"],
574 [AS_HELP_STRING([--enable-glx],
575 [enable GLX library @<:@default=enabled@:>@])],
576 [enable_glx="$enableval"],
578 AC_ARG_ENABLE([osmesa],
579 [AS_HELP_STRING([--enable-osmesa],
580 [enable OSMesa library @<:@default=disabled@:>@])],
581 [enable_osmesa="$enableval"],
584 [AS_HELP_STRING([--disable-egl],
585 [disable EGL library @<:@default=enabled@:>@])],
586 [enable_egl="$enableval"],
589 AC_ARG_ENABLE([xorg],
590 [AS_HELP_STRING([--enable-xorg],
591 [enable support for X.Org DDX API @<:@default=no@:>@])],
592 [enable_xorg="$enableval"],
595 [AS_HELP_STRING([--enable-xa],
596 [enable build of the XA X Acceleration API @<:@default=no@:>@])],
597 [enable_xa="$enableval"],
600 [AS_HELP_STRING([--enable-gbm],
601 [enable gbm library @<:@default=auto@:>@])],
602 [enable_gbm="$enableval"],
605 AC_ARG_ENABLE([xvmc],
606 [AS_HELP_STRING([--enable-xvmc],
607 [enable xvmc library @<:@default=auto@:>@])],
608 [enable_xvmc="$enableval"],
610 AC_ARG_ENABLE([vdpau],
611 [AS_HELP_STRING([--enable-vdpau],
612 [enable vdpau library @<:@default=auto@:>@])],
613 [enable_vdpau="$enableval"],
615 AC_ARG_ENABLE([opencl],
616 [AS_HELP_STRING([--enable-opencl],
617 [enable OpenCL library NOTE: Enabling this option will also enable
618 --with-llvm-shared-libs
619 @<:@default=no@:>@])],
622 AC_ARG_ENABLE([xlib-glx],
623 [AS_HELP_STRING([--enable-xlib-glx],
624 [make GLX library Xlib-based instead of DRI-based @<:@default=disabled@:>@])],
625 [enable_xlib_glx="$enableval"],
626 [enable_xlib_glx=no])
627 AC_ARG_ENABLE([gallium-egl],
628 [AS_HELP_STRING([--enable-gallium-egl],
629 [enable optional EGL state tracker (not required
630 for EGL support in Gallium with OpenGL and OpenGL ES)
631 @<:@default=disable@:>@])],
632 [enable_gallium_egl="$enableval"],
633 [enable_gallium_egl=no])
634 AC_ARG_ENABLE([gallium-gbm],
635 [AS_HELP_STRING([--enable-gallium-gbm],
636 [enable optional gbm state tracker (not required for
637 gbm support in Gallium)
638 @<:@default=auto@:>@])],
639 [enable_gallium_gbm="$enableval"],
640 [enable_gallium_gbm=auto])
642 AC_ARG_ENABLE([r600-llvm-compiler],
643 [AS_HELP_STRING([--enable-r600-llvm-compiler],
644 [Enable experimental LLVM backend for graphics shaders @<:@default=disable@:>@])],
645 [enable_r600_llvm="$enableval"],
646 [enable_r600_llvm=no])
648 AC_ARG_ENABLE([gallium-tests],
649 [AS_HELP_STRING([--enable-gallium-tests],
650 [Enable optional Gallium tests) @<:@default=disable@:>@])],
651 [enable_gallium_tests="$enableval"],
652 [enable_gallium_tests=no])
654 # Option for Gallium drivers
656 # Keep this in sync with the --with-gallium-drivers help string default value
657 GALLIUM_DRIVERS_DEFAULT="r300,r600,svga,swrast"
659 AC_ARG_WITH([gallium-drivers],
660 [AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@],
661 [comma delimited Gallium drivers list, e.g.
662 "i915,ilo,nouveau,r300,r600,radeonsi,freedreno,svga,swrast"
663 @<:@default=r300,r600,svga,swrast@:>@])],
664 [with_gallium_drivers="$withval"],
665 [with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"])
667 # Doing '--without-gallium-drivers' will set this variable to 'no'. Clear it
668 # here so that the script doesn't choke on an unknown driver name later.
669 case "$with_gallium_drivers" in
670 yes) with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT" ;;
671 no) with_gallium_drivers='' ;;
674 if test "x$enable_opengl" = xno -a \
675 "x$enable_gles1" = xno -a \
676 "x$enable_gles2" = xno -a \
677 "x$enable_openvg" = xno -a \
678 "x$enable_xorg" = xno -a \
679 "x$enable_xa" = xno -a \
680 "x$enable_xvmc" = xno -a \
681 "x$enable_vdpau" = xno -a \
682 "x$enable_opencl" = xno; then
683 AC_MSG_ERROR([at least one API should be enabled])
686 # Building OpenGL ES1 and/or ES2 without OpenGL is not supported on mesa 9.0.x
687 if test "x$enable_opengl" = xno -a \
688 "x$enable_gles1" = xyes; then
689 AC_MSG_ERROR([Building OpenGL ES1 without OpenGL is not supported])
692 if test "x$enable_opengl" = xno -a \
693 "x$enable_gles2" = xyes; then
694 AC_MSG_ERROR([Building OpenGL ES2 without OpenGL is not supported])
697 AM_CONDITIONAL(HAVE_OPENGL, test "x$enable_opengl" = xyes)
698 AM_CONDITIONAL(HAVE_OPENGL_ES1, test "x$enable_gles1" = xyes)
699 AM_CONDITIONAL(HAVE_OPENGL_ES2, test "x$enable_gles2" = xyes)
700 AM_CONDITIONAL(NEED_OPENGL_COMMON, test "x$enable_opengl" = xyes -o \
701 "x$enable_gles1" = xyes -o \
702 "x$enable_gles2" = xyes)
704 if test "x$enable_glx" = xno; then
705 AC_MSG_WARN([GLX disabled, disabling Xlib-GLX])
709 if test "x$enable_dri$enable_xlib_glx" = xyesyes; then
710 AC_MSG_ERROR([DRI and Xlib-GLX cannot be built together])
713 if test "x$enable_opengl$enable_xlib_glx" = xnoyes; then
714 AC_MSG_ERROR([Xlib-GLX cannot be built without OpenGL])
717 # Disable GLX if OpenGL is not enabled
718 if test "x$enable_glx$enable_opengl" = xyesno; then
719 AC_MSG_WARN([OpenGL not enabled, disabling GLX])
723 # Disable GLX if DRI and Xlib-GLX are not enabled
724 if test "x$enable_glx" = xyes -a \
725 "x$enable_dri" = xno -a \
726 "x$enable_xlib_glx" = xno; then
727 AC_MSG_WARN([Neither DRI nor Xlib-GLX enabled, disabling GLX])
731 AM_CONDITIONAL(HAVE_DRI_GLX, test "x$enable_glx" = xyes -a \
732 "x$enable_dri" = xyes)
733 AM_CONDITIONAL(HAVE_DRI, test "x$enable_dri" = xyes)
734 AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_xlib_glx" = xyes -o \
735 "x$enable_osmesa" = xyes)
737 AC_ARG_ENABLE([shared-glapi],
738 [AS_HELP_STRING([--enable-shared-glapi],
739 [Enable shared glapi for OpenGL @<:@default=yes@:>@])],
740 [enable_shared_glapi="$enableval"],
741 [enable_shared_glapi="$enable_dri"])
743 # Shared GLAPI is only useful for DRI
744 if test "x$enable_dri" = xno; then
745 AC_MSG_NOTICE([Shared GLAPI is only useful for DRI, disabling])
746 enable_shared_glapi=no
749 AM_CONDITIONAL(HAVE_SHARED_GLAPI, test "x$enable_shared_glapi" = xyes)
752 dnl Driver specific build directories
754 GALLIUM_TARGET_DIRS=""
755 GALLIUM_WINSYS_DIRS="sw"
756 GALLIUM_DRIVERS_DIRS="galahad trace rbug noop identity"
757 GALLIUM_STATE_TRACKERS_DIRS=""
759 case "x$enable_glx$enable_xlib_glx" in
761 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
762 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
763 GALLIUM_STATE_TRACKERS_DIRS="glx $GALLIUM_STATE_TRACKERS_DIRS"
764 NEED_WINSYS_XLIB="yes"
768 if test "x$enable_dri" = xyes; then
769 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/dri"
770 GALLIUM_STATE_TRACKERS_DIRS="dri $GALLIUM_STATE_TRACKERS_DIRS"
773 if test "x$enable_osmesa" = xyes; then
774 GALLIUM_STATE_TRACKERS_DIRS="osmesa $GALLIUM_STATE_TRACKERS_DIRS"
775 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS osmesa"
778 AC_SUBST([MESA_LLVM])
781 PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED],
782 [have_libdrm=yes], [have_libdrm=no])
784 if test "x$enable_dri" = xyes; then
785 # DRI must be shared, I think
786 if test "$enable_static" = yes; then
787 AC_MSG_ERROR([Cannot use static libraries for DRI drivers])
790 # not a hard requirement as swrast does not depend on it
791 if test "x$have_libdrm" = xyes; then
792 DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
796 dnl Direct rendering or just indirect rendering
799 dnl Disable by default on GNU/Hurd
800 driglx_direct_default="no"
803 dnl Disable by default on cygwin
804 driglx_direct_default="no"
807 driglx_direct_default="yes"
810 AC_ARG_ENABLE([driglx-direct],
811 [AS_HELP_STRING([--disable-driglx-direct],
812 [disable direct rendering in GLX and EGL for DRI \
813 @<:@default=auto@:>@])],
814 [driglx_direct="$enableval"],
815 [driglx_direct="$driglx_direct_default"])
818 dnl libGL configuration per driver
820 case "x$enable_glx$enable_xlib_glx" in
823 PKG_CHECK_MODULES([XLIBGL], [x11 xext])
824 GL_PC_REQ_PRIV="x11 xext"
825 X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
826 GL_LIB_DEPS="$XLIBGL_LIBS"
827 GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
828 GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm $PTHREAD_LIBS"
832 PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
833 if test x"$driglx_direct" = xyes; then
834 if test "x$have_libdrm" != xyes; then
835 AC_MSG_ERROR([Direct rendering requires libdrm >= $LIBDRM_REQUIRED])
837 PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
838 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED"
841 # find the DRI deps for libGL
842 dri_modules="x11 xext xdamage xfixes x11-xcb xcb-glx >= 1.8.1 xcb-dri2 >= 1.8"
844 # add xf86vidmode if available
845 PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no)
846 if test "$HAVE_XF86VIDMODE" = yes ; then
847 dri_modules="$dri_modules xxf86vm"
850 PKG_CHECK_MODULES([DRIGL], [$dri_modules])
851 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
852 X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
853 GL_LIB_DEPS="$DRIGL_LIBS"
855 # need DRM libs, $PTHREAD_LIBS, etc.
856 GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
857 GL_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
861 # This is outside the case (above) so that it is invoked even for non-GLX
863 AM_CONDITIONAL(HAVE_XF86VIDMODE, test "x$HAVE_XF86VIDMODE" = xyes)
865 GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
866 GLESv1_CM_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
867 GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
868 GLESv2_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
870 AC_SUBST([X11_INCLUDES])
871 AC_SUBST([GL_LIB_DEPS])
872 AC_SUBST([GL_PC_REQ_PRIV])
873 AC_SUBST([GL_PC_LIB_PRIV])
874 AC_SUBST([GL_PC_CFLAGS])
875 AC_SUBST([DRI_PC_REQ_PRIV])
876 AC_SUBST([GLESv1_CM_LIB_DEPS])
877 AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
878 AC_SUBST([GLESv2_LIB_DEPS])
879 AC_SUBST([GLESv2_PC_LIB_PRIV])
881 DRI_LIB_DEPS="\$(top_builddir)/src/mesa/libdricore/libdricore${VERSION}.la"
883 AC_SUBST([HAVE_XF86VIDMODE])
888 case "x$enable_glx$enable_xlib_glx" in
890 DEFINES="$DEFINES -DUSE_XSHM"
893 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
894 if test "x$driglx_direct" = xyes; then
895 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
904 AC_ARG_ENABLE([glx-tls],
905 [AS_HELP_STRING([--enable-glx-tls],
906 [enable TLS support in GLX @<:@default=disabled@:>@])],
907 [GLX_USE_TLS="$enableval"],
909 AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
911 AS_IF([test "x$GLX_USE_TLS" = xyes -a "x$ax_pthread_ok" = xyes],
912 [DEFINES="${DEFINES} -DGLX_USE_TLS -DHAVE_PTHREAD"])
917 dnl Directory for DRI drivers
918 AC_ARG_WITH([dri-driverdir],
919 [AS_HELP_STRING([--with-dri-driverdir=DIR],
920 [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
921 [DRI_DRIVER_INSTALL_DIR="$withval"],
922 [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
923 AC_SUBST([DRI_DRIVER_INSTALL_DIR])
924 dnl Extra search path for DRI drivers
925 AC_ARG_WITH([dri-searchpath],
926 [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
927 [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
928 [DRI_DRIVER_SEARCH_DIR="$withval"],
929 [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
930 AC_SUBST([DRI_DRIVER_SEARCH_DIR])
931 dnl Which drivers to build - default is chosen by platform
932 AC_ARG_WITH([dri-drivers],
933 [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
934 [comma delimited DRI drivers list, e.g.
935 "swrast,i965,radeon" @<:@default=auto@:>@])],
936 [with_dri_drivers="$withval"],
937 [with_dri_drivers=yes])
938 if test "x$with_dri_drivers" = x; then
942 dnl If $with_dri_drivers is yes, directories will be added through
945 case "$with_dri_drivers" in
948 # classic DRI drivers
949 if test "x$enable_opengl" = xyes; then
954 # verify the requested driver directories exist
955 dri_drivers=`IFS=', '; echo $with_dri_drivers`
956 for driver in $dri_drivers; do
957 test -d "$srcdir/src/mesa/drivers/dri/$driver" || \
958 AC_MSG_ERROR([DRI driver directory '$driver' does not exist])
960 DRI_DIRS="$dri_drivers"
961 if test -n "$DRI_DIRS" -a "x$enable_opengl" != xyes; then
962 AC_MSG_ERROR([--with-dri-drivers requires OpenGL])
967 dnl Set DRI_DIRS, DEFINES and LIB_DEPS
968 if test "x$enable_dri" = xyes; then
969 # Platform specific settings and drivers to build
972 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
973 DEFINES="$DEFINES -DHAVE_ALIAS"
977 if test "x$DRI_DIRS" = "xyes"; then
978 DRI_DIRS="i915 i965 nouveau r200 radeon swrast"
982 # Build only the drivers for cards that exist on PowerPC.
983 if test "x$DRI_DIRS" = "xyes"; then
984 DRI_DIRS="r200 radeon swrast"
988 # Build only the drivers for cards that exist on sparc
989 if test "x$DRI_DIRS" = "xyes"; then
990 DRI_DIRS="r200 radeon swrast"
995 freebsd* | dragonfly* | *netbsd* | openbsd*)
996 DEFINES="$DEFINES -DHAVE_PTHREAD -DUSE_EXTERNAL_DXTN_LIB=1"
997 DEFINES="$DEFINES -DHAVE_ALIAS"
999 if test "x$DRI_DIRS" = "xyes"; then
1000 DRI_DIRS="i915 i965 nouveau r200 radeon swrast"
1004 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
1005 DEFINES="$DEFINES -DHAVE_ALIAS"
1008 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
1011 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
1012 if test "x$DRI_DIRS" = "xyes"; then
1019 if test "x$DRI_DIRS" = "xyes"; then
1020 DRI_DIRS="i915 i965 nouveau r200 radeon swrast"
1023 DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'`
1028 AC_ARG_WITH([expat],
1029 [AS_HELP_STRING([--with-expat=DIR],
1030 [expat install directory])],[
1031 EXPAT_INCLUDES="-I$withval/include"
1032 CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES"
1033 LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR"
1034 EXPAT_LIB="-L$withval/$LIB_DIR -lexpat"
1036 AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])])
1038 AC_CHECK_LIB([expat],[XML_ParserCreate],[],
1039 [AC_MSG_ERROR([Expat required for DRI.])])
1042 # If we are building any DRI driver other than swrast.
1043 if test -n "$DRI_DIRS" -a x"$DRI_DIRS" != xswrast; then
1044 # ... libdrm is required
1045 if test "x$have_libdrm" != xyes; then
1046 AC_MSG_ERROR([DRI drivers requires libdrm >= $LIBDRM_REQUIRED])
1048 # ... and build dricommon
1052 # put all the necessary libs together
1053 DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1054 GALLIUM_DRI_LIB_DEPS="$GALLIUM_DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
1056 AM_CONDITIONAL(NEED_LIBDRICORE, test -n "$DRI_DIRS")
1057 AC_SUBST([EXPAT_INCLUDES])
1058 AC_SUBST([DRI_LIB_DEPS])
1059 AC_SUBST([GALLIUM_DRI_LIB_DEPS])
1063 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1065 for d in $(echo $DRI_DIRS | sed 's/,/ /g'); do
1081 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NVVIEUX_REQUIRED])
1082 HAVE_NOUVEAU_DRI=yes;
1088 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1090 for d in $(echo $DRI_DIRS | sed 's/,/ /g'); do
1093 HAVE_RADEON_DRI=yes;
1106 HAVE_SWRAST_DRI=yes;
1111 dnl OSMesa configuration
1114 dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
1115 AC_ARG_WITH([osmesa-bits],
1116 [AS_HELP_STRING([--with-osmesa-bits=BITS],
1117 [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
1118 [osmesa_bits="$withval"],
1120 if test "x$osmesa_bits" != x8; then
1121 if test "x$enable_dri" = xyes -o "x$enable_glx" = xyes; then
1122 AC_MSG_WARN([Ignoring OSMesa channel bits because of non-OSMesa driver])
1126 case "x$osmesa_bits" in
1128 OSMESA_LIB="${OSMESA_LIB}"
1131 OSMESA_LIB="${OSMESA_LIB}$osmesa_bits"
1132 DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
1135 AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
1139 if test "x$enable_osmesa" = xyes; then
1140 # only link libraries with osmesa if shared
1141 if test "$enable_static" = no; then
1142 OSMESA_LIB_DEPS="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
1147 OSMESA_PC_LIB_PRIV="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
1150 AC_SUBST([OSMESA_LIB_DEPS])
1151 AC_SUBST([OSMESA_MESA_DEPS])
1152 AC_SUBST([OSMESA_PC_REQ])
1153 AC_SUBST([OSMESA_PC_LIB_PRIV])
1156 dnl gbm configuration
1158 if test "x$enable_gbm" = xauto; then
1159 case "$with_egl_platforms" in
1166 if test "x$enable_gbm" = xyes; then
1167 PKG_CHECK_MODULES([LIBUDEV], [libudev], [],
1168 AC_MSG_ERROR([gbm needs udev]))
1170 if test "x$enable_dri" = xyes; then
1171 GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri"
1172 if test "x$enable_shared_glapi" = xno; then
1173 AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi])
1177 AM_CONDITIONAL(HAVE_GBM, test "x$enable_gbm" = xyes)
1178 GBM_PC_REQ_PRIV="libudev"
1179 GBM_PC_LIB_PRIV="$DLOPEN_LIBS"
1180 AC_SUBST([GBM_PC_REQ_PRIV])
1181 AC_SUBST([GBM_PC_LIB_PRIV])
1184 dnl EGL configuration
1188 if test "x$enable_egl" = xyes; then
1189 EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS $PTHREAD_LIBS"
1191 AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"])
1193 if test "$enable_static" != yes; then
1194 # build egl_glx when libGL is built
1195 PKG_CHECK_MODULES([LIBUDEV], [libudev > 150],
1196 [have_libudev=yes],[have_libudev=no])
1197 if test "$have_libudev" = yes; then
1198 DEFINES="$DEFINES -DHAVE_LIBUDEV"
1201 if test "x$enable_dri" = xyes; then
1202 HAVE_EGL_DRIVER_DRI2=1
1207 AM_CONDITIONAL(HAVE_EGL, test "x$enable_egl" = xyes)
1208 AC_SUBST([EGL_LIB_DEPS])
1211 dnl EGL Gallium configuration
1213 if test "x$enable_gallium_egl" = xyes; then
1214 if test "x$with_gallium_drivers" = x; then
1215 AC_MSG_ERROR([cannot enable egl_gallium without Gallium])
1217 if test "x$enable_egl" = xno; then
1218 AC_MSG_ERROR([cannot enable egl_gallium without EGL])
1220 if test "x$have_libdrm" != xyes; then
1221 AC_MSG_ERROR([egl_gallium requires libdrm >= $LIBDRM_REQUIRED])
1224 GALLIUM_STATE_TRACKERS_DIRS="egl $GALLIUM_STATE_TRACKERS_DIRS"
1225 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl-static"
1227 AM_CONDITIONAL(HAVE_GALLIUM_EGL, test "x$enable_gallium_egl" = xyes)
1230 dnl gbm Gallium configuration
1232 if test "x$enable_gallium_gbm" = xauto; then
1233 case "$enable_gbm$enable_gallium_egl$enable_dri$with_egl_platforms" in
1235 enable_gallium_gbm=yes ;;
1237 enable_gallium_gbm=no ;;
1240 if test "x$enable_gallium_gbm" = xyes; then
1241 if test "x$with_gallium_drivers" = x; then
1242 AC_MSG_ERROR([cannot enable gbm_gallium without Gallium])
1244 if test "x$enable_gbm" = xno; then
1245 AC_MSG_ERROR([cannot enable gbm_gallium without gbm])
1247 # gbm_gallium abuses DRI_LIB_DEPS to link. Make sure it is set.
1248 if test "x$enable_dri" = xno; then
1249 AC_MSG_ERROR([gbm_gallium requires --enable-dri to build])
1252 GALLIUM_STATE_TRACKERS_DIRS="gbm $GALLIUM_STATE_TRACKERS_DIRS"
1253 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS gbm"
1254 enable_gallium_loader=yes
1256 AM_CONDITIONAL(HAVE_GALLIUM_GBM, test "x$enable_gallium_gbm" = xyes)
1259 dnl X.Org DDX configuration
1261 if test "x$enable_xorg" = xyes; then
1262 PKG_CHECK_MODULES([XORG], [xorg-server >= 1.6.0])
1263 PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
1264 PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
1265 PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
1266 HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
1267 HAVE_XEXTPROTO_71="no")
1268 GALLIUM_STATE_TRACKERS_DIRS="xorg $GALLIUM_STATE_TRACKERS_DIRS"
1270 AM_CONDITIONAL(HAVE_ST_XORG, test "x$enable_xorg" = xyes)
1273 dnl XA configuration
1275 if test "x$enable_xa" = xyes; then
1278 AC_CHECK_PROG(NM, nm, "nm")
1279 if test "x$AWK" = x || test "x$GREP" = x || test "x$NM" = x; then
1280 AC_MSG_WARN([Missing one of nm, grep or awk. Disabling xa.])
1284 if test "x$enable_xa" = xyes; then
1285 GALLIUM_STATE_TRACKERS_DIRS="xa $GALLIUM_STATE_TRACKERS_DIRS"
1290 AM_CONDITIONAL(HAVE_ST_XA, test "x$enable_xa" = xyes)
1293 dnl OpenVG configuration
1297 if test "x$enable_openvg" = xyes; then
1298 if test "x$enable_egl" = xno; then
1299 AC_MSG_ERROR([cannot enable OpenVG without EGL])
1301 if test "x$with_gallium_drivers" = x; then
1302 AC_MSG_ERROR([cannot enable OpenVG without Gallium])
1304 if test "x$enable_gallium_egl" = xno; then
1305 AC_MSG_ERROR([cannot enable OpenVG without egl_gallium])
1308 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
1309 VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS $PTHREAD_LIBS"
1310 GALLIUM_STATE_TRACKERS_DIRS="vega $GALLIUM_STATE_TRACKERS_DIRS"
1311 VG_PC_LIB_PRIV="-lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
1312 AC_SUBST([VG_PC_LIB_PRIV])
1314 AM_CONDITIONAL(HAVE_OPENVG, test "x$enable_openvg" = xyes)
1317 dnl Gallium G3DVL configuration
1319 if test -n "$with_gallium_drivers"; then
1320 if test "x$enable_xvmc" = xauto; then
1321 PKG_CHECK_EXISTS([xvmc], [enable_xvmc=yes], [enable_xvmc=no])
1324 if test "x$enable_vdpau" = xauto; then
1325 PKG_CHECK_EXISTS([vdpau], [enable_vdpau=yes], [enable_vdpau=no])
1329 if test "x$enable_xvmc" = xyes; then
1330 PKG_CHECK_MODULES([XVMC], [xvmc >= 1.0.6 x11-xcb xcb-dri2 >= 1.8])
1331 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xvmc"
1333 AM_CONDITIONAL(HAVE_ST_XVMC, test "x$enable_xvmc" = xyes)
1335 if test "x$enable_vdpau" = xyes; then
1336 PKG_CHECK_MODULES([VDPAU], [vdpau >= 0.4.1 x11-xcb xcb-dri2 >= 1.8])
1337 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS vdpau"
1339 AM_CONDITIONAL(HAVE_ST_VDPAU, test "x$enable_vdpau" = xyes)
1342 dnl OpenCL configuration
1345 AC_ARG_WITH([libclc-path],
1346 [AS_HELP_STRING([--with-libclc-path],
1347 [DEPRECATED: See http://dri.freedesktop.org/wiki/GalliumCompute#How_to_Install])],
1348 [LIBCLC_PATH="$withval"],
1351 if test "x$LIBCLC_PATH" != x; then
1352 AC_MSG_ERROR([The --with-libclc-path option has been deprecated.
1353 Please review the updated build instructions for clover:
1354 http://dri.freedesktop.org/wiki/GalliumCompute])
1358 AC_ARG_WITH([clang-libdir],
1359 [AS_HELP_STRING([--with-clang-libdir],
1360 [Path to Clang libraries @<:@default=llvm-config --libdir@:>@])],
1361 [CLANG_LIBDIR="$withval"],
1364 LIBCLC_INCLUDEDIR=`pkg-config --variable=includedir libclc`
1365 LIBCLC_LIBEXECDIR=`pkg-config --variable=libexecdir libclc`
1366 AC_SUBST([LIBCLC_INCLUDEDIR])
1367 AC_SUBST([LIBCLC_LIBEXECDIR])
1369 if test "x$enable_opencl" = xyes; then
1370 if test "x$with_gallium_drivers" = x; then
1371 AC_MSG_ERROR([cannot enable OpenCL without Gallium])
1374 if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 6; then
1375 AC_MSG_ERROR([gcc >= 4.6 is required to build clover])
1378 if test "x$LIBCLC_INCLUDEDIR" == x || test "x$LIBCLC_LIBEXECDIR" == x; then
1379 AC_MSG_ERROR([pkg-config cannot use libclc.pc which is required to build clover])
1382 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS clover"
1383 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS opencl"
1384 enable_gallium_loader=yes
1386 AM_CONDITIONAL(HAVE_CLOVER, test "x$enable_opencl" = xyes)
1389 dnl Gallium configuration
1391 AM_CONDITIONAL(HAVE_GALLIUM, test -n "$with_gallium_drivers")
1393 AC_SUBST([LLVM_BINDIR])
1394 AC_SUBST([LLVM_CFLAGS])
1395 AC_SUBST([LLVM_CPPFLAGS])
1396 AC_SUBST([LLVM_CXXFLAGS])
1397 AC_SUBST([LLVM_LIBDIR])
1398 AC_SUBST([LLVM_LIBS])
1399 AC_SUBST([LLVM_LDFLAGS])
1400 AC_SUBST([LLVM_INCLUDEDIR])
1401 AC_SUBST([LLVM_VERSION])
1402 AC_SUBST([CLANG_RESOURCE_DIR])
1404 case "x$enable_opengl$enable_gles1$enable_gles2" in
1406 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
1410 AC_SUBST([VG_LIB_DEPS])
1411 AC_SUBST([EGL_CLIENT_APIS])
1414 dnl EGL Platforms configuration
1416 AC_ARG_WITH([egl-platforms],
1417 [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1418 [comma delimited native platforms libEGL supports, e.g.
1419 "x11,drm" @<:@default=auto@:>@])],
1420 [with_egl_platforms="$withval"],
1421 [if test "x$enable_egl" = xyes; then
1422 with_egl_platforms="x11"
1424 with_egl_platforms=""
1427 if test "x$with_egl_platforms" != "x" -a "x$enable_egl" != xyes; then
1428 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1431 # Do per-EGL platform setups and checks
1432 egl_platforms=`IFS=', '; echo $with_egl_platforms`
1433 for plat in $egl_platforms; do
1436 PKG_CHECK_MODULES([WAYLAND], [wayland-client >= 1.0.2 wayland-server >= 1.0.2])
1437 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/wayland"
1439 WAYLAND_PREFIX=`$PKG_CONFIG --variable=prefix wayland-client`
1440 AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner],,
1441 [${WAYLAND_PREFIX}/bin$PATH_SEPARATOR$PATH])
1445 PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 >= 1.8 xcb-xfixes])
1447 if test "x$enable_glx" = xyes; then
1448 HAVE_EGL_DRIVER_GLX=1
1453 test "x$enable_gbm" = "xno" &&
1454 AC_MSG_ERROR([EGL platform drm needs gbm])
1457 android|fbdev|gdi|null)
1461 AC_MSG_ERROR([EGL platform '$plat' does not exist])
1465 case "$plat$have_libudev" in
1467 AC_MSG_ERROR([cannot build $plat platfrom without udev]) ;;
1471 # libEGL wants to default to the first platform specified in
1472 # ./configure. parse that here.
1473 if test "x$egl_platforms" != "x"; then
1474 FIRST_PLATFORM_CAPS=`echo $egl_platforms | sed 's| .*||' | tr 'a-z' 'A-Z'`
1475 EGL_NATIVE_PLATFORM="_EGL_PLATFORM_$FIRST_PLATFORM_CAPS"
1477 EGL_NATIVE_PLATFORM="_EGL_INVALID_PLATFORM"
1480 if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
1481 NEED_WINSYS_XLIB=yes
1483 AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
1484 AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
1485 AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1)
1486 AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1)
1487 AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1)
1489 AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
1490 AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
1492 AC_SUBST([EGL_NATIVE_PLATFORM])
1493 AC_SUBST([EGL_CFLAGS])
1495 # If we don't have the X11 platform, set this define so we don't try to include
1497 if ! echo "$egl_platforms" | grep -q 'x11'; then
1498 DEFINES="$DEFINES -DMESA_EGL_NO_X11_HEADERS"
1499 GL_PC_CFLAGS="$GL_PC_CFLAGS -DMESA_EGL_NO_X11_HEADERS"
1502 AC_ARG_WITH([egl-driver-dir],
1503 [AS_HELP_STRING([--with-egl-driver-dir=DIR],
1504 [directory for EGL drivers [[default=${libdir}/egl]]])],
1505 [EGL_DRIVER_INSTALL_DIR="$withval"],
1506 [EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
1507 AC_SUBST([EGL_DRIVER_INSTALL_DIR])
1509 AC_ARG_WITH([xorg-driver-dir],
1510 [AS_HELP_STRING([--with-xorg-driver-dir=DIR],
1511 [Default xorg driver directory[[default=${libdir}/xorg/modules/drivers]]])],
1512 [XORG_DRIVER_INSTALL_DIR="$withval"],
1513 [XORG_DRIVER_INSTALL_DIR="${libdir}/xorg/modules/drivers"])
1514 AC_SUBST([XORG_DRIVER_INSTALL_DIR])
1516 AC_ARG_WITH([max-width],
1517 [AS_HELP_STRING([--with-max-width=N],
1518 [Maximum framebuffer width (4096)])],
1519 [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1520 AS_IF([test "${withval}" -gt "4096"],
1521 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1523 AC_ARG_WITH([max-height],
1524 [AS_HELP_STRING([--with-max-height=N],
1525 [Maximum framebuffer height (4096)])],
1526 [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1527 AS_IF([test "${withval}" -gt "4096"],
1528 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1534 AC_ARG_ENABLE([gallium-llvm],
1535 [AS_HELP_STRING([--enable-gallium-llvm],
1536 [build gallium LLVM support @<:@default=enabled on x86/x86_64@:>@])],
1537 [enable_gallium_llvm="$enableval"],
1538 [enable_gallium_llvm=auto])
1540 AC_ARG_WITH([llvm-shared-libs],
1541 [AS_HELP_STRING([--with-llvm-shared-libs],
1542 [link with LLVM shared libraries @<:@default=disabled@:>@])],
1544 [with_llvm_shared_libs=no])
1545 AS_IF([test x$enable_opencl = xyes],
1547 AC_MSG_WARN([OpenCL required, forcing LLVM shared libraries])
1548 with_llvm_shared_libs=yes
1551 AC_ARG_WITH([llvm-prefix],
1552 [AS_HELP_STRING([--with-llvm-prefix],
1553 [Prefix for LLVM installations in non-standard locations])],
1554 [llvm_prefix="$withval"],
1558 # Call this inside ` ` to get the return value.
1559 # $1 is the llvm-config command with arguments.
1560 strip_unwanted_llvm_flags() {
1561 # Use \> (marks the end of the word)
1563 -e 's/-DNDEBUG\>//g' \
1564 -e 's/-pedantic\>//g' \
1565 -e 's/-Wcovered-switch-default\>//g' \
1569 -e 's/-fomit-frame-pointer\>//g'
1573 if test "x$with_gallium_drivers" = x; then
1574 enable_gallium_llvm=no
1576 if test "x$enable_gallium_llvm" = xauto; then
1578 i*86|x86_64|amd64) enable_gallium_llvm=yes;;
1581 if test "x$enable_gallium_llvm" = xyes; then
1582 if test "x$llvm_prefix" != x; then
1583 AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no], ["$llvm_prefix/bin"])
1585 AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
1588 if test "x$LLVM_CONFIG" != xno; then
1589 LLVM_VERSION=`$LLVM_CONFIG --version | sed 's/svn.*//g'`
1590 LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1591 LLVM_BINDIR=`$LLVM_CONFIG --bindir`
1592 LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"`
1593 LLVM_CFLAGS=$LLVM_CPPFLAGS # CPPFLAGS seem to be sufficient
1594 LLVM_CXXFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cxxflags"`
1595 LLVM_INCLUDEDIR=`$LLVM_CONFIG --includedir`
1596 LLVM_LIBDIR=`$LLVM_CONFIG --libdir`
1598 AC_COMPUTE_INT([LLVM_VERSION_MAJOR], [LLVM_VERSION_MAJOR],
1599 [#include "${LLVM_INCLUDEDIR}/llvm/Config/llvm-config.h"])
1600 AC_COMPUTE_INT([LLVM_VERSION_MINOR], [LLVM_VERSION_MINOR],
1601 [#include "${LLVM_INCLUDEDIR}/llvm/Config/llvm-config.h"])
1603 if test "x${LLVM_VERSION_MAJOR}" != x; then
1604 LLVM_VERSION_INT="${LLVM_VERSION_MAJOR}0${LLVM_VERSION_MINOR}"
1606 LLVM_VERSION_INT=`echo $LLVM_VERSION | sed -e 's/\([[0-9]]\)\.\([[0-9]]\)/\10\2/g'`
1609 LLVM_COMPONENTS="engine bitwriter"
1610 if $LLVM_CONFIG --components | grep -qw 'mcjit'; then
1611 LLVM_COMPONENTS="${LLVM_COMPONENTS} mcjit"
1614 if test "x$enable_opencl" = xyes; then
1615 LLVM_COMPONENTS="${LLVM_COMPONENTS} ipo linker instrumentation"
1616 # LLVM 3.3 >= 177971 requires IRReader
1617 if $LLVM_CONFIG --components | grep -qw 'irreader'; then
1618 LLVM_COMPONENTS="${LLVM_COMPONENTS} irreader"
1621 DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT"
1624 dnl Check for Clang internal headers
1625 if test "x$enable_opencl" = xyes; then
1626 if test "x$CLANG_LIBDIR" = x; then
1627 CLANG_LIBDIR=${LLVM_LIBDIR}
1629 CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
1630 AS_IF([test ! -f "$CLANG_RESOURCE_DIR/include/stddef.h"],
1631 [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.])])
1642 dnl Directory for XVMC libs
1643 AC_ARG_WITH([xvmc-libdir],
1644 [AS_HELP_STRING([--with-xvmc-libdir=DIR],
1645 [directory for the XVMC libraries @<:@default=${libdir}@:>@])],
1646 [XVMC_LIB_INSTALL_DIR="$withval"],
1647 [XVMC_LIB_INSTALL_DIR='${libdir}'])
1648 AC_SUBST([XVMC_LIB_INSTALL_DIR])
1653 if test "x$enable_gallium_tests" = xyes; then
1654 enable_gallium_loader=yes
1656 AM_CONDITIONAL(HAVE_GALLIUM_TESTS, test "x$enable_gallium_tests" = xyes)
1658 if test "x$enable_gallium_loader" = xyes; then
1659 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS pipe-loader"
1661 AM_CONDITIONAL(NEED_GALLIUM_LOADER, test "x$enable_gallium_loader" = xyes)
1663 dnl Directory for VDPAU libs
1664 AC_ARG_WITH([vdpau-libdir],
1665 [AS_HELP_STRING([--with-vdpau-libdir=DIR],
1666 [directory for the VDPAU libraries @<:@default=${libdir}/vdpau@:>@])],
1667 [VDPAU_LIB_INSTALL_DIR="$withval"],
1668 [VDPAU_LIB_INSTALL_DIR='${libdir}/vdpau'])
1669 AC_SUBST([VDPAU_LIB_INSTALL_DIR])
1671 dnl Directory for OpenCL libs
1672 AC_ARG_WITH([opencl-libdir],
1673 [AS_HELP_STRING([--with-opencl-libdir=DIR],
1674 [directory for auxiliary libraries used by the OpenCL implementation @<:@default=${libdir}/opencl@:>@])],
1675 [OPENCL_LIB_INSTALL_DIR="$withval"],
1676 [OPENCL_LIB_INSTALL_DIR='${libdir}/opencl'])
1677 AC_SUBST([OPENCL_LIB_INSTALL_DIR])
1680 dnl Gallium helper functions
1682 gallium_check_st() {
1683 if test "x$NEED_NONNULL_WINSYS" = xyes; then
1684 if test "x$have_libdrm" != xyes; then
1685 AC_MSG_ERROR([DRI or Xorg DDX requires libdrm >= $LIBDRM_REQUIRED])
1687 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
1689 if test "x$enable_dri" = xyes && test "x$2" != x; then
1690 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
1693 if test "x$enable_xorg" = xyes && test "x$3" != x; then
1694 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
1696 if test "x$enable_xa" = xyes && test "x$4" != x; then
1697 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $4"
1699 if test "x$enable_xvmc" = xyes && test "x$5" != x; then
1700 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $5"
1702 if test "x$enable_vdpau" = xyes && test "x$6" != x; then
1703 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $6"
1707 gallium_require_llvm() {
1708 if test "x$MESA_LLVM" = x0; then
1710 i*86|x86_64|amd64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
1715 gallium_require_drm_loader() {
1716 if test "x$enable_gallium_loader" = xyes; then
1717 PKG_CHECK_MODULES([LIBUDEV], [libudev], [],
1718 AC_MSG_ERROR([Gallium drm loader requires libudev]))
1719 if test "x$have_libdrm" != xyes; then
1720 AC_MSG_ERROR([Gallium drm loader requires libdrm >= $LIBDRM_REQUIRED])
1722 enable_gallium_drm_loader=yes
1726 radeon_llvm_check() {
1727 LLVM_REQUIRED_VERSION_MAJOR="3"
1728 LLVM_REQUIRED_VERSION_MINOR="3"
1729 if test "$LLVM_VERSION_INT" -lt "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}"; then
1730 AC_MSG_ERROR([LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR or newer is required for r600g and radeonsi.])
1732 if test true && $LLVM_CONFIG --targets-built | grep -qvw 'R600' ; then
1733 AC_MSG_ERROR([LLVM R600 Target not enabled. You can enable it when building the LLVM
1734 sources with the --enable-experimental-targets=R600
1737 LLVM_COMPONENTS="${LLVM_COMPONENTS} r600 bitreader ipo"
1738 NEED_RADEON_LLVM=yes
1739 AC_CHECK_LIB([elf], [elf_memory], [ELF_LIB=-lelf],
1740 [AC_MSG_ERROR([radeonsi and r600g require libelf when using LLVM])])
1744 if test "x$enable_dri" = xyes -o "x$enable_xorg" = xyes -o \
1745 "x$enable_xa" = xyes -o "x$enable_xvmc" = xyes -o \
1746 "x$enable_vdpau" = xyes; then
1747 NEED_NONNULL_WINSYS=yes
1749 AM_CONDITIONAL(NEED_NONNULL_WINSYS, test "x$NEED_NONNULL_WINSYS" = xyes)
1751 dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this block
1752 if test "x$with_gallium_drivers" != x; then
1753 gallium_drivers=`IFS=', '; echo $with_gallium_drivers`
1754 for driver in $gallium_drivers; do
1757 HAVE_GALLIUM_SVGA=yes
1758 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga softpipe"
1759 gallium_check_st "svga/drm" "dri-vmwgfx" "" "xa-vmwgfx"
1762 HAVE_GALLIUM_I915=yes
1763 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1764 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915 softpipe"
1765 if test "x$MESA_LLVM" = x1; then
1766 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1768 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1769 gallium_check_st "i915/drm" "dri-i915" "xorg-i915"
1772 HAVE_GALLIUM_ILO=yes
1773 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1774 gallium_require_drm_loader
1775 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS ilo"
1776 gallium_check_st "intel/drm" "dri-ilo"
1779 HAVE_GALLIUM_R300=yes
1780 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1781 gallium_require_llvm "Gallium R300"
1782 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
1783 gallium_check_st "radeon/drm" "dri-r300" "" "" "xvmc-r300" "vdpau-r300"
1786 HAVE_GALLIUM_R600=yes
1787 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1788 gallium_require_drm_loader
1789 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
1790 if test "x$enable_r600_llvm" = xyes -o "x$enable_opencl" = xyes; then
1792 R600_NEED_RADEON_GALLIUM=yes;
1793 LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
1795 if test "x$enable_r600_llvm" = xyes; then
1796 USE_R600_LLVM_COMPILER=yes;
1798 if test "x$enable_opencl" = xyes; then
1799 LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
1801 gallium_check_st "radeon/drm" "dri-r600" "xorg-r600" "" "xvmc-r600" "vdpau-r600"
1804 HAVE_GALLIUM_RADEONSI=yes
1805 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1806 gallium_require_drm_loader
1807 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS radeonsi"
1809 gallium_check_st "radeon/drm" "dri-radeonsi" "xorg-radeonsi" "" "" "vdpau-radeonsi" ""
1812 HAVE_GALLIUM_NOUVEAU=yes
1813 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
1814 gallium_require_drm_loader
1815 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nv30 nv50 nvc0"
1816 gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau" "" "xvmc-nouveau" "vdpau-nouveau"
1819 HAVE_GALLIUM_FREEDRENO=yes
1820 PKG_CHECK_MODULES([FREEDRENO], [libdrm_freedreno >= $LIBDRM_FREEDRENO_REQUIRED])
1821 gallium_require_drm_loader
1822 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS freedreno"
1823 gallium_check_st "freedreno/drm" "dri-freedreno" "" "" "" ""
1826 HAVE_GALLIUM_SOFTPIPE=yes
1827 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS softpipe"
1828 if test "x$MESA_LLVM" = x1; then
1829 HAVE_GALLIUM_LLVMPIPE=yes
1830 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1833 if test "x$enable_dri" = xyes; then
1834 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast"
1837 if test "x$enable_vdpau" = xyes; then
1838 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS vdpau-softpipe"
1840 if test "x$enable_xvmc" = xyes; then
1841 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS xvmc-softpipe"
1843 if test "x$enable_vdpau" = xyes -o "x$enable_xvmc" = xyes; then
1844 NEED_WINSYS_XLIB=yes
1845 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
1849 AC_MSG_ERROR([Unknown Gallium driver: $driver])
1855 dnl Set LLVM_LIBS - This is done after the driver configuration so
1856 dnl that drivers can add additonal components to LLVM_COMPONENTS.
1857 dnl Previously, gallium drivers were updating LLVM_LIBS directly
1858 dnl by calling llvm-config --libs ${DRIVER_LLVM_COMPONENTS}, but
1859 dnl this was causing the same libraries to be appear multiple times
1862 if test "x$MESA_LLVM" != x0; then
1864 LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`"
1866 if test "x$with_llvm_shared_libs" = xyes; then
1867 dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
1868 LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
1869 AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.so"], [llvm_have_one_so=yes])
1871 if test "x$llvm_have_one_so" = xyes; then
1872 dnl LLVM was built using auto*, so there is only one shared object.
1873 LLVM_LIBS="-l$LLVM_SO_NAME"
1875 dnl If LLVM was built with CMake, there will be one shared object per
1877 AS_IF([test ! -f "$LLVM_LIBDIR/libLLVMTarget.so"],
1878 [AC_MSG_ERROR([Could not find llvm shared libraries:
1879 Please make sure you have built llvm with the --enable-shared option
1880 and that your llvm libraries are installed in $LLVM_LIBDIR
1881 If you have installed your llvm libraries to a different directory you
1882 can use the --with-llvm-prefix= configure flag to specify this directory.
1883 NOTE: Mesa is attempting to use llvm shared libraries because you have
1884 passed one of the following options to configure:
1885 --with-llvm-shared-libs
1887 If you do not want to build with llvm shared libraries and instead want to
1888 use llvm static libraries then remove these options from your configure
1889 invocation and reconfigure.])])
1891 dnl We don't need to update LLVM_LIBS in this case because the LLVM
1892 dnl install uses a shared object for each compoenent and we have
1893 dnl already added all of these objects to LLVM_LIBS.
1898 AM_CONDITIONAL(HAVE_GALLIUM_SVGA, test "x$HAVE_GALLIUM_SVGA" = xyes)
1899 AM_CONDITIONAL(HAVE_GALLIUM_I915, test "x$HAVE_GALLIUM_I915" = xyes)
1900 AM_CONDITIONAL(HAVE_GALLIUM_ILO, test "x$HAVE_GALLIUM_ILO" = xyes)
1901 AM_CONDITIONAL(HAVE_GALLIUM_R300, test "x$HAVE_GALLIUM_R300" = xyes)
1902 AM_CONDITIONAL(HAVE_GALLIUM_R600, test "x$HAVE_GALLIUM_R600" = xyes)
1903 AM_CONDITIONAL(HAVE_GALLIUM_RADEONSI, test "x$HAVE_GALLIUM_RADEONSI" = xyes)
1904 AM_CONDITIONAL(HAVE_GALLIUM_NOUVEAU, test "x$HAVE_GALLIUM_NOUVEAU" = xyes)
1905 AM_CONDITIONAL(HAVE_GALLIUM_FREEDRENO, test "x$HAVE_GALLIUM_FREEDRENO" = xyes)
1906 AM_CONDITIONAL(HAVE_GALLIUM_SOFTPIPE, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes)
1907 AM_CONDITIONAL(HAVE_GALLIUM_LLVMPIPE, test "x$HAVE_GALLIUM_LLVMPIPE" = xyes)
1909 AM_CONDITIONAL(NEED_GALLIUM_SOFTPIPE_DRIVER, test "x$HAVE_GALLIUM_SVGA" = xyes -o \
1910 "x$HAVE_GALLIUM_I915" = xyes -o \
1911 "x$HAVE_GALLIUM_SOFTPIPE" = xyes)
1912 AM_CONDITIONAL(NEED_GALLIUM_LLVMPIPE_DRIVER, test "x$HAVE_GALLIUM_I915" = xyes -o \
1913 "x$HAVE_GALLIUM_SOFTPIPE" = xyes -a \
1916 if test "x$enable_gallium_loader" = xyes; then
1917 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/null"
1919 if test "x$enable_gallium_drm_loader" = xyes; then
1920 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_DRM"
1921 PKG_CHECK_MODULES([GALLIUM_PIPE_LOADER_XCB], [xcb xcb-dri2],
1922 pipe_loader_have_xcb=yes, pipe_loader_have_xcb=no)
1923 if test "x$pipe_loader_have_xcb" = xyes; then
1924 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_XCB"
1925 GALLIUM_PIPE_LOADER_LIBS="$GALLIUM_PIPE_LOADER_LIBS $GALLIUM_PIPE_LOADER_XCB_LIBS $LIBDRM_LIBS"
1929 AC_SUBST([GALLIUM_PIPE_LOADER_DEFINES])
1930 AC_SUBST([GALLIUM_PIPE_LOADER_LIBS])
1933 AM_CONDITIONAL(HAVE_I915_DRI, test x$HAVE_I915_DRI = xyes)
1934 AM_CONDITIONAL(HAVE_I965_DRI, test x$HAVE_I965_DRI = xyes)
1935 AM_CONDITIONAL(HAVE_NOUVEAU_DRI, test x$HAVE_NOUVEAU_DRI = xyes)
1936 AM_CONDITIONAL(HAVE_R200_DRI, test x$HAVE_R200_DRI = xyes)
1937 AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes)
1938 AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes)
1939 AM_CONDITIONAL(HAVE_COMMON_DRI, test x$HAVE_COMMON_DRI = xyes)
1941 AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$NEED_NONNULL_WINSYS" = xyes -a \
1942 "x$HAVE_GALLIUM_R300" = xyes -o \
1943 "x$HAVE_GALLIUM_R600" = xyes -o \
1944 "x$HAVE_GALLIUM_RADEONSI" = xyes)
1945 AM_CONDITIONAL(NEED_WINSYS_WRAPPER, test "x$HAVE_GALLIUM_I915" = xyes -o \
1946 "x$HAVE_GALLIUM_SVGA" = xyes)
1947 AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$NEED_WINSYS_XLIB" = xyes)
1948 AM_CONDITIONAL(NEED_RADEON_LLVM, test x$NEED_RADEON_LLVM = xyes)
1949 AM_CONDITIONAL(R600_NEED_RADEON_GALLIUM, test x$R600_NEED_RADEON_GALLIUM = xyes)
1950 AM_CONDITIONAL(USE_R600_LLVM_COMPILER, test x$USE_R600_LLVM_COMPILER = xyes)
1951 AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes)
1952 AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes)
1953 AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
1954 AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1)
1955 AM_CONDITIONAL(LLVM_NEEDS_FNORTTI, test $LLVM_VERSION_INT -ge 302)
1959 AM_CONDITIONAL(NEED_LIBPROGRAM, test "x$with_gallium_drivers" != x -o \
1960 "x$enable_xlib_glx" = xyes -o \
1961 "x$enable_osmesa" = xyes)
1962 AM_CONDITIONAL(HAVE_X11_DRIVER, test "x$enable_xlib_glx" = xyes)
1963 AM_CONDITIONAL(HAVE_OSMESA, test "x$enable_osmesa" = xyes)
1965 AM_CONDITIONAL(HAVE_X86_ASM, echo "$DEFINES" | grep 'X86_ASM' >/dev/null 2>&1)
1966 AM_CONDITIONAL(HAVE_X86_64_ASM, echo "$DEFINES" | grep 'X86_64_ASM' >/dev/null 2>&1)
1967 AM_CONDITIONAL(HAVE_SPARC_ASM, echo "$DEFINES" | grep 'SPARC_ASM' >/dev/null 2>&1)
1969 AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
1971 AC_SUBST([VDPAU_MAJOR], 1)
1972 AC_SUBST([VDPAU_MINOR], 0)
1974 AC_SUBST([XVMC_MAJOR], 1)
1975 AC_SUBST([XVMC_MINOR], 0)
1977 AC_SUBST([XA_MAJOR], 2)
1978 AC_SUBST([XA_MINOR], 0)
1979 AC_SUBST([XA_TINY], 0)
1980 AC_SUBST([XA_VERSION], "$XA_MAJOR.$XA_MINOR.$XA_TINY")
1982 dnl Restore LDFLAGS and CPPFLAGS
1983 LDFLAGS="$_SAVE_LDFLAGS"
1984 CPPFLAGS="$_SAVE_CPPFLAGS"
1986 dnl Add user CFLAGS and CXXFLAGS
1987 CFLAGS="$CFLAGS $USER_CFLAGS"
1988 CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
1990 dnl Substitute the config
1991 AC_CONFIG_FILES([Makefile
1994 src/egl/drivers/Makefile
1995 src/egl/drivers/dri2/Makefile
1996 src/egl/drivers/glx/Makefile
1997 src/egl/main/Makefile
1999 src/egl/wayland/Makefile
2000 src/egl/wayland/wayland-drm/Makefile
2001 src/egl/wayland/wayland-egl/Makefile
2002 src/egl/wayland/wayland-egl/wayland-egl.pc
2003 src/gallium/auxiliary/Makefile
2004 src/gallium/auxiliary/pipe-loader/Makefile
2005 src/gallium/drivers/Makefile
2006 src/gallium/drivers/freedreno/Makefile
2007 src/gallium/drivers/freedreno/a2xx/Makefile
2008 src/gallium/drivers/freedreno/a3xx/Makefile
2009 src/gallium/drivers/i915/Makefile
2010 src/gallium/drivers/ilo/Makefile
2011 src/gallium/drivers/llvmpipe/Makefile
2012 src/gallium/drivers/nouveau/Makefile
2013 src/gallium/drivers/nv30/Makefile
2014 src/gallium/drivers/nv50/Makefile
2015 src/gallium/drivers/nvc0/Makefile
2016 src/gallium/drivers/r300/Makefile
2017 src/gallium/drivers/r600/Makefile
2018 src/gallium/drivers/radeon/Makefile
2019 src/gallium/drivers/radeonsi/Makefile
2020 src/gallium/drivers/rbug/Makefile
2021 src/gallium/drivers/softpipe/Makefile
2022 src/gallium/drivers/svga/Makefile
2023 src/gallium/drivers/trace/Makefile
2024 src/gallium/state_trackers/Makefile
2025 src/gallium/state_trackers/clover/Makefile
2026 src/gallium/state_trackers/dri/Makefile
2027 src/gallium/state_trackers/dri/drm/Makefile
2028 src/gallium/state_trackers/dri/sw/Makefile
2029 src/gallium/state_trackers/egl/Makefile
2030 src/gallium/state_trackers/gbm/Makefile
2031 src/gallium/state_trackers/glx/Makefile
2032 src/gallium/state_trackers/osmesa/Makefile
2033 src/gallium/state_trackers/vdpau/Makefile
2034 src/gallium/state_trackers/vega/Makefile
2035 src/gallium/state_trackers/xa/Makefile
2036 src/gallium/state_trackers/xorg/Makefile
2037 src/gallium/state_trackers/xvmc/Makefile
2038 src/gallium/targets/Makefile
2039 src/gallium/targets/dri-freedreno/Makefile
2040 src/gallium/targets/dri-i915/Makefile
2041 src/gallium/targets/dri-ilo/Makefile
2042 src/gallium/targets/dri-nouveau/Makefile
2043 src/gallium/targets/dri-r300/Makefile
2044 src/gallium/targets/dri-r600/Makefile
2045 src/gallium/targets/dri-radeonsi/Makefile
2046 src/gallium/targets/dri-swrast/Makefile
2047 src/gallium/targets/dri-vmwgfx/Makefile
2048 src/gallium/targets/egl-static/Makefile
2049 src/gallium/targets/gbm/Makefile
2050 src/gallium/targets/opencl/Makefile
2051 src/gallium/targets/osmesa/Makefile
2052 src/gallium/targets/pipe-loader/Makefile
2053 src/gallium/targets/libgl-xlib/Makefile
2054 src/gallium/targets/vdpau-nouveau/Makefile
2055 src/gallium/targets/vdpau-r300/Makefile
2056 src/gallium/targets/vdpau-r600/Makefile
2057 src/gallium/targets/vdpau-radeonsi/Makefile
2058 src/gallium/targets/vdpau-softpipe/Makefile
2059 src/gallium/targets/xa-vmwgfx/Makefile
2060 src/gallium/targets/xa-vmwgfx/xatracker.pc
2061 src/gallium/targets/xorg-i915/Makefile
2062 src/gallium/targets/xorg-nouveau/Makefile
2063 src/gallium/targets/xorg-r600/Makefile
2064 src/gallium/targets/xorg-radeonsi/Makefile
2065 src/gallium/targets/xvmc-nouveau/Makefile
2066 src/gallium/targets/xvmc-r300/Makefile
2067 src/gallium/targets/xvmc-r600/Makefile
2068 src/gallium/targets/xvmc-softpipe/Makefile
2069 src/gallium/tests/trivial/Makefile
2070 src/gallium/tests/unit/Makefile
2071 src/gallium/winsys/Makefile
2072 src/gallium/winsys/freedreno/drm/Makefile
2073 src/gallium/winsys/i915/drm/Makefile
2074 src/gallium/winsys/i915/sw/Makefile
2075 src/gallium/winsys/intel/drm/Makefile
2076 src/gallium/winsys/nouveau/drm/Makefile
2077 src/gallium/winsys/radeon/drm/Makefile
2078 src/gallium/winsys/svga/drm/Makefile
2079 src/gallium/winsys/sw/dri/Makefile
2080 src/gallium/winsys/sw/fbdev/Makefile
2081 src/gallium/winsys/sw/null/Makefile
2082 src/gallium/winsys/sw/wayland/Makefile
2083 src/gallium/winsys/sw/wrapper/Makefile
2084 src/gallium/winsys/sw/xlib/Makefile
2088 src/glsl/builtin_compiler/Makefile
2090 src/glx/tests/Makefile
2093 src/mapi/es1api/Makefile
2094 src/mapi/es1api/glesv1_cm.pc
2095 src/mapi/es2api/Makefile
2096 src/mapi/es2api/glesv2.pc
2097 src/mapi/glapi/Makefile
2098 src/mapi/glapi/gen/Makefile
2099 src/mapi/glapi/tests/Makefile
2100 src/mapi/shared-glapi/Makefile
2101 src/mapi/shared-glapi/tests/Makefile
2102 src/mapi/vgapi/Makefile
2103 src/mapi/vgapi/vg.pc
2106 src/mesa/drivers/dri/dri.pc
2107 src/mesa/drivers/dri/common/Makefile
2108 src/mesa/drivers/dri/common/xmlpool/Makefile
2109 src/mesa/drivers/dri/i915/Makefile
2110 src/mesa/drivers/dri/i965/Makefile
2111 src/mesa/drivers/dri/Makefile
2112 src/mesa/drivers/dri/nouveau/Makefile
2113 src/mesa/drivers/dri/r200/Makefile
2114 src/mesa/drivers/dri/radeon/Makefile
2115 src/mesa/drivers/dri/swrast/Makefile
2116 src/mesa/drivers/osmesa/Makefile
2117 src/mesa/drivers/osmesa/osmesa.pc
2118 src/mesa/drivers/x11/Makefile
2119 src/mesa/libdricore/Makefile
2120 src/mesa/main/tests/Makefile
2121 src/mesa/main/tests/hash_table/Makefile
2122 src/mesa/program/Makefile
2123 src/mesa/x86-64/Makefile
2124 src/mesa/x86/Makefile])
2126 dnl Sort the dirs alphabetically
2127 GALLIUM_TARGET_DIRS=`echo $GALLIUM_TARGET_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2128 GALLIUM_WINSYS_DIRS=`echo $GALLIUM_WINSYS_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2129 GALLIUM_DRIVERS_DIRS=`echo $GALLIUM_DRIVERS_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2130 GALLIUM_STATE_TRACKERS_DIRS=`echo $GALLIUM_STATE_TRACKERS_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
2135 dnl Output some configuration info for the user
2138 echo " prefix: $prefix"
2139 echo " exec_prefix: $exec_prefix"
2140 echo " libdir: $libdir"
2141 echo " includedir: $includedir"
2145 echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
2146 echo " OpenVG: $enable_openvg"
2150 if test "x$enable_osmesa" != xno; then
2151 echo " OSMesa: lib$OSMESA_LIB"
2156 if test "x$enable_dri" != xno; then
2157 # cleanup the drivers var
2158 dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'`
2159 if test "x$DRI_DIRS" = x; then
2160 echo " DRI drivers: no"
2162 echo " DRI drivers: $dri_dirs"
2164 echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
2167 case "x$enable_glx$enable_xlib_glx" in
2169 echo " GLX: Xlib-based"
2172 echo " GLX: DRI-based"
2175 echo " GLX: $enable_glx"
2181 echo " EGL: $enable_egl"
2182 if test "$enable_egl" = yes; then
2183 echo " EGL platforms: $egl_platforms"
2186 if test "x$HAVE_EGL_DRIVER_GLX" != "x"; then
2187 egl_drivers="$egl_drivers builtin:egl_glx"
2189 if test "x$HAVE_EGL_DRIVER_DRI2" != "x"; then
2190 egl_drivers="$egl_drivers builtin:egl_dri2"
2193 if test "x$enable_gallium_egl" = xyes; then
2194 echo " EGL drivers: ${egl_drivers} egl_gallium"
2195 echo " EGL Gallium STs:$EGL_CLIENT_APIS"
2197 echo " EGL drivers: $egl_drivers"
2202 if test "x$MESA_LLVM" = x1; then
2204 echo " llvm-config: $LLVM_CONFIG"
2205 echo " llvm-version: $LLVM_VERSION"
2211 if test -n "$with_gallium_drivers"; then
2212 echo " Gallium: yes"
2213 echo " Target dirs: $GALLIUM_TARGET_DIRS"
2214 echo " Winsys dirs: $GALLIUM_WINSYS_DIRS"
2215 echo " Driver dirs: $GALLIUM_DRIVERS_DIRS"
2216 echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS"
2224 echo " Shared libs: $enable_shared"
2225 echo " Static libs: $enable_static"
2226 echo " Shared-glapi: $enable_shared_glapi"
2228 dnl Compiler options
2229 # cleanup the CFLAGS/CXXFLAGS/DEFINES vars
2230 cflags=`echo $CFLAGS | \
2231 $SED 's/^ *//;s/ */ /;s/ *$//'`
2232 cxxflags=`echo $CXXFLAGS | \
2233 $SED 's/^ *//;s/ */ /;s/ *$//'`
2234 defines=`echo $DEFINES | $SED 's/^ *//;s/ */ /;s/ *$//'`
2236 echo " CFLAGS: $cflags"
2237 echo " CXXFLAGS: $cxxflags"
2238 echo " Macros: $defines"
2240 if test "x$MESA_LLVM" = x1; then
2241 echo " LLVM_CFLAGS: $LLVM_CFLAGS"
2242 echo " LLVM_CXXFLAGS: $LLVM_CXXFLAGS"
2243 echo " LLVM_CPPFLAGS: $LLVM_CPPFLAGS"
2246 echo " PYTHON2: $PYTHON2"
2249 echo " Run '${MAKE-make}' to build Mesa"