1 dnl Process this file with autoconf to create configure.
5 dnl Tell the user about autoconf.html in the --help output
6 m4_divert_once([HELP_END], [
7 See docs/autoconf.html for more details on the options for Mesa.])
9 m4_define(MESA_VERSION, m4_normalize(m4_include(VERSION)))
10 AC_INIT([Mesa], [MESA_VERSION],
11 [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
12 AC_CONFIG_AUX_DIR([bin])
13 AC_CONFIG_MACRO_DIR([m4])
15 AM_INIT_AUTOMAKE([foreign])
17 # Support silent build rules, requires at least automake-1.11. Disable
18 # by either passing --disable-silent-rules to configure or passing V=1
20 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
21 [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
23 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
25 dnl Set internal versions
27 AC_SUBST([OSMESA_VERSION])
29 dnl Versions for external dependencies
30 LIBDRM_REQUIRED=2.4.38
31 LIBDRM_RADEON_REQUIRED=2.4.50
32 LIBDRM_INTEL_REQUIRED=2.4.52
33 LIBDRM_NVVIEUX_REQUIRED=2.4.33
34 LIBDRM_NOUVEAU_REQUIRED="2.4.33 libdrm >= 2.4.41"
35 LIBDRM_FREEDRENO_REQUIRED=2.4.51
36 DRI2PROTO_REQUIRED=2.6
37 DRI3PROTO_REQUIRED=1.0
38 PRESENTPROTO_REQUIRED=1.0
40 GLPROTO_REQUIRED=1.4.14
41 LIBOMXIL_BELLAGIO_REQUIRED=0.0
43 WAYLAND_REQUIRED=1.2.0
46 XSHMFENCE_REQUIRED=1.1
55 AC_CHECK_PROGS([MAKE], [gmake make])
56 AC_CHECK_PROGS([PYTHON2], [python2 python])
57 AX_PYTHON_MODULE([libxml2], [needed])
62 LT_INIT([disable-static])
65 AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-parse.c"],
66 [AC_MSG_ERROR([bison not found - unable to compile glcpp-parse.y])]))
68 AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-lex.c"],
69 [AC_MSG_ERROR([flex not found - unable to compile glcpp-lex.l])]))
71 AC_PATH_PROG([PERL], [perl])
73 AC_CHECK_PROG(INDENT, indent, indent, cat)
74 if test "x$INDENT" != "xcat"; then
75 AC_SUBST(INDENT_FLAGS, '-i4 -nut -br -brs -npcs -ce -TGLubyte -TGLbyte -TBool')
80 dnl We need a POSIX shell for parts of the build. Assume we have one
84 # Solaris /bin/sh is too old/non-POSIX compliant
85 AC_PATH_PROGS(POSIX_SHELL, [ksh93 ksh sh])
90 dnl clang is mostly GCC-compatible, but its version is much lower,
91 dnl so we have to check for it.
92 AC_MSG_CHECKING([if compiling with clang])
95 [AC_LANG_PROGRAM([], [[
100 [acv_mesa_CLANG=yes], [acv_mesa_CLANG=no])
102 AC_MSG_RESULT([$acv_mesa_CLANG])
104 dnl If we're using GCC, make sure that it is at least version 3.3.0. Older
105 dnl versions are explictly not supported.
107 if test "x$GCC" = xyes -a "x$acv_mesa_CLANG" = xno; then
108 AC_MSG_CHECKING([whether gcc version is sufficient])
112 GCC_VERSION=`$CC -dumpversion`
113 if test $? -eq 0; then
114 GCC_VERSION_MAJOR=`echo $GCC_VERSION | cut -d. -f1`
115 GCC_VERSION_MINOR=`echo $GCC_VERSION | cut -d. -f2`
118 if test $GCC_VERSION_MAJOR -lt 3 -o $GCC_VERSION_MAJOR -eq 3 -a $GCC_VERSION_MINOR -lt 3 ; then
120 AC_MSG_ERROR([If using GCC, version 3.3.0 or later is required.])
125 if test "x$cross_compiling" = xyes; then
130 dnl Check for compiler builtins
131 AX_GCC_BUILTIN([__builtin_bswap32])
132 AX_GCC_BUILTIN([__builtin_bswap64])
134 AM_CONDITIONAL([GEN_ASM_OFFSETS], test "x$GEN_ASM_OFFSETS" = xyes)
136 dnl Make sure the pkg-config macros are defined
137 m4_ifndef([PKG_PROG_PKG_CONFIG],
138 [m4_fatal([Could not locate the pkg-config autoconf macros.
139 These are usually located in /usr/share/aclocal/pkg.m4. If your macros
140 are in a different location, try setting the environment variable
141 ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
142 PKG_PROG_PKG_CONFIG()
144 dnl LIB_DIR - library basename
145 LIB_DIR=`echo $libdir | $SED 's%.*/%%'`
148 dnl Cache LDFLAGS and CPPFLAGS so we can add to them and restore later
149 _SAVE_LDFLAGS="$LDFLAGS"
150 _SAVE_CPPFLAGS="$CPPFLAGS"
157 DEFINES="$DEFINES -D_GNU_SOURCE -DHAVE_PTHREAD"
160 DEFINES="$DEFINES -DHAVE_PTHREAD -DSVR4"
163 DEFINES="$DEFINES -DHAVE_PTHREAD"
167 dnl Add flags for gcc and g++
168 if test "x$GCC" = xyes; then
171 CFLAGS="$CFLAGS -Wall -std=gnu99"
174 CFLAGS="$CFLAGS -Wall -std=c99"
178 # Enable -Werror=implicit-function-declaration and
179 # -Werror=missing-prototypes, if available, or otherwise, just
180 # -Wmissing-prototypes. This is particularly useful to avoid
181 # generating a loadable driver module that has undefined symbols.
182 save_CFLAGS="$CFLAGS"
183 AC_MSG_CHECKING([whether $CC supports -Werror=missing-prototypes])
184 CFLAGS="$CFLAGS -Werror=implicit-function-declaration"
185 CFLAGS="$CFLAGS -Werror=missing-prototypes"
186 AC_LINK_IFELSE([AC_LANG_PROGRAM()],
187 AC_MSG_RESULT([yes]),
188 [CFLAGS="$save_CFLAGS -Wmissing-prototypes";
189 AC_MSG_RESULT([no])]);
191 # Enable -fvisibility=hidden if using a gcc that supports it
192 save_CFLAGS="$CFLAGS"
193 AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
194 VISIBILITY_CFLAGS="-fvisibility=hidden"
195 CFLAGS="$CFLAGS $VISIBILITY_CFLAGS"
196 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
197 [VISIBILITY_CFLAGS=""; AC_MSG_RESULT([no])]);
199 # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed.
202 # Work around aliasing bugs - developers should comment this out
203 CFLAGS="$CFLAGS -fno-strict-aliasing"
205 # gcc's builtin memcmp is slower than glibc's
206 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
207 CFLAGS="$CFLAGS -fno-builtin-memcmp"
209 if test "x$GXX" = xyes; then
210 CXXFLAGS="$CXXFLAGS -Wall"
212 # Enable -fvisibility=hidden if using a gcc that supports it
213 save_CXXFLAGS="$CXXFLAGS"
214 AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
215 VISIBILITY_CXXFLAGS="-fvisibility=hidden"
216 CXXFLAGS="$CXXFLAGS $VISIBILITY_CXXFLAGS"
218 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
219 [VISIBILITY_CXXFLAGS="" ; AC_MSG_RESULT([no])]);
222 # Restore CXXFLAGS; VISIBILITY_CXXFLAGS are added to it where needed.
223 CXXFLAGS=$save_CXXFLAGS
225 # Work around aliasing bugs - developers should comment this out
226 CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
228 # gcc's builtin memcmp is slower than glibc's
229 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
230 CXXFLAGS="$CXXFLAGS -fno-builtin-memcmp"
233 dnl even if the compiler appears to support it, using visibility attributes isn't
234 dnl going to do anything useful currently on cygwin apart from emit lots of warnings
238 VISIBILITY_CXXFLAGS=""
242 AC_SUBST([VISIBILITY_CFLAGS])
243 AC_SUBST([VISIBILITY_CXXFLAGS])
246 dnl Optional flags, check for compiler support
248 AX_CHECK_COMPILE_FLAG([-msse4.1], [SSE41_SUPPORTED=1], [SSE41_SUPPORTED=0])
249 AM_CONDITIONAL([SSE41_SUPPORTED], [test x$SSE41_SUPPORTED = x1])
252 dnl Hacks to enable 32 or 64 bit build
254 AC_ARG_ENABLE([32-bit],
255 [AS_HELP_STRING([--enable-32-bit],
256 [build 32-bit libraries @<:@default=auto@:>@])],
257 [enable_32bit="$enableval"],
260 if test "x$enable_32bit" = xyes; then
261 if test "x$GCC" = xyes; then
262 CFLAGS="$CFLAGS -m32"
263 CCASFLAGS="$CCASFLAGS -m32"
265 if test "x$GXX" = xyes; then
266 CXXFLAGS="$CXXFLAGS -m32"
269 AC_ARG_ENABLE([64-bit],
270 [AS_HELP_STRING([--enable-64-bit],
271 [build 64-bit libraries @<:@default=auto@:>@])],
272 [enable_64bit="$enableval"],
275 if test "x$enable_64bit" = xyes; then
276 if test "x$GCC" = xyes; then
277 CFLAGS="$CFLAGS -m64"
279 if test "x$GXX" = xyes; then
280 CXXFLAGS="$CXXFLAGS -m64"
284 dnl Can't have static and shared libraries, default to static if user
285 dnl explicitly requested. If both disabled, set to static since shared
286 dnl was explicitly requested.
287 case "x$enable_static$enable_shared" in
289 AC_MSG_WARN([Cannot build static and shared libraries, disabling shared])
293 AC_MSG_WARN([Cannot disable both static and shared libraries, enabling static])
298 AM_CONDITIONAL(BUILD_SHARED, test "x$enable_shared" = xyes)
301 dnl other compiler options
303 AC_ARG_ENABLE([debug],
304 [AS_HELP_STRING([--enable-debug],
305 [use debug compiler flags and macros @<:@default=disabled@:>@])],
306 [enable_debug="$enableval"],
309 if test "x$enable_debug" = xyes; then
310 DEFINES="$DEFINES -DDEBUG"
311 if test "x$GCC" = xyes; then
312 CFLAGS="$CFLAGS -g -O0"
314 if test "x$GXX" = xyes; then
315 CXXFLAGS="$CXXFLAGS -g -O0"
320 dnl compatibility symlinks
324 HAVE_COMPAT_SYMLINKS=yes ;;
326 HAVE_COMPAT_SYMLINKS=no ;;
329 AM_CONDITIONAL(HAVE_COMPAT_SYMLINKS, test "x$HAVE_COMPAT_SYMLINKS" = xyes)
334 if test "$enable_static" = yes; then
351 AC_ARG_WITH([gl-lib-name],
352 [AS_HELP_STRING([--with-gl-lib-name@<:@=NAME@:>@],
353 [specify GL library name @<:@default=GL@:>@])],
356 AC_ARG_WITH([osmesa-lib-name],
357 [AS_HELP_STRING([--with-osmesa-lib-name@<:@=NAME@:>@],
358 [specify OSMesa library name @<:@default=OSMesa@:>@])],
359 [OSMESA_LIB=$withval],
361 AS_IF([test "x$GL_LIB" = xyes], [GL_LIB=GL])
362 AS_IF([test "x$OSMESA_LIB" = xyes], [OSMESA_LIB=OSMesa])
365 dnl Mangled Mesa support
367 AC_ARG_ENABLE([mangling],
368 [AS_HELP_STRING([--enable-mangling],
369 [enable mangled symbols and library name @<:@default=disabled@:>@])],
370 [enable_mangling="${enableval}"],
373 if test "x${enable_mangling}" = "xyes" ; then
374 DEFINES="${DEFINES} -DUSE_MGL_NAMESPACE"
375 GL_LIB="Mangled${GL_LIB}"
376 OSMESA_LIB="Mangled${OSMESA_LIB}"
379 AC_SUBST([OSMESA_LIB])
382 dnl potentially-infringing-but-nobody-knows-for-sure stuff
384 AC_ARG_ENABLE([texture-float],
385 [AS_HELP_STRING([--enable-texture-float],
386 [enable floating-point textures and renderbuffers @<:@default=disabled@:>@])],
387 [enable_texture_float="$enableval"],
388 [enable_texture_float=no]
390 if test "x$enable_texture_float" = xyes; then
391 AC_MSG_WARN([Floating-point textures enabled.])
392 AC_MSG_WARN([Please consult docs/patents.txt with your lawyer before building Mesa.])
393 DEFINES="$DEFINES -DTEXTURE_FLOAT_ENABLED"
397 dnl Arch/platform-specific settings
400 [AS_HELP_STRING([--disable-asm],
401 [disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
402 [enable_asm="$enableval"],
406 AC_MSG_CHECKING([whether to enable assembly])
407 test "x$enable_asm" = xno && AC_MSG_RESULT([no])
408 # disable if cross compiling on x86/x86_64 since we must run gen_matypes
409 if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
411 i?86 | x86_64 | amd64)
413 AC_MSG_RESULT([no, cross compiling])
417 # check for supported arches
418 if test "x$enable_asm" = xyes; then
422 linux* | *freebsd* | dragonfly* | *netbsd* | openbsd*)
423 test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86
432 linux* | *freebsd* | dragonfly* | *netbsd* | openbsd*)
433 test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
448 DEFINES="$DEFINES -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
449 AC_MSG_RESULT([yes, x86])
452 DEFINES="$DEFINES -DUSE_X86_64_ASM"
453 AC_MSG_RESULT([yes, x86_64])
456 DEFINES="$DEFINES -DUSE_SPARC_ASM"
457 AC_MSG_RESULT([yes, sparc])
460 AC_MSG_RESULT([no, platform not supported])
465 dnl Check to see if dlopen is in default libraries (like Solaris, which
466 dnl has it in libc), or if libdl is needed to get it.
467 AC_CHECK_FUNC([dlopen], [DEFINES="$DEFINES -DHAVE_DLOPEN"],
468 [AC_CHECK_LIB([dl], [dlopen],
469 [DEFINES="$DEFINES -DHAVE_DLOPEN"; DLOPEN_LIBS="-ldl"])])
470 AC_SUBST([DLOPEN_LIBS])
476 AC_CHECK_FUNCS([clock_gettime], [CLOCK_LIB=],
477 [AC_CHECK_LIB([rt], [clock_gettime], [CLOCK_LIB=-lrt],
478 [AC_MSG_ERROR([Couldn't find clock_gettime])])])
479 AC_SUBST([CLOCK_LIB])
483 dnl See if posix_memalign is available
484 AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
486 dnl Check for pthreads
488 dnl AX_PTHREADS leaves PTHREAD_LIBS empty for gcc and sets PTHREAD_CFLAGS
489 dnl to -pthread, which causes problems if we need -lpthread to appear in
491 test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread"
493 dnl SELinux awareness.
494 AC_ARG_ENABLE([selinux],
495 [AS_HELP_STRING([--enable-selinux],
496 [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
497 [MESA_SELINUX="$enableval"],
499 if test "x$enable_selinux" = "xyes"; then
500 PKG_CHECK_MODULES([SELINUX], [libselinux], [],
501 [AC_CHECK_HEADER([selinux/selinux.h],[],
502 [AC_MSG_ERROR([SELinux headers not found])])
503 AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
504 [AC_MSG_ERROR([SELinux library not found])])
505 SELINUX_LIBS="-lselinux"])
506 DEFINES="$DEFINES -DMESA_SELINUX"
508 AC_SUBST([SELINUX_CFLAGS])
509 AC_SUBST([SELINUX_LIBS])
512 AC_ARG_ENABLE([opengl],
513 [AS_HELP_STRING([--disable-opengl],
514 [disable support for standard OpenGL API @<:@default=no@:>@])],
515 [enable_opengl="$enableval"],
517 AC_ARG_ENABLE([gles1],
518 [AS_HELP_STRING([--enable-gles1],
519 [enable support for OpenGL ES 1.x API @<:@default=no@:>@])],
520 [enable_gles1="$enableval"],
522 AC_ARG_ENABLE([gles2],
523 [AS_HELP_STRING([--enable-gles2],
524 [enable support for OpenGL ES 2.x API @<:@default=no@:>@])],
525 [enable_gles2="$enableval"],
527 AC_ARG_ENABLE([openvg],
528 [AS_HELP_STRING([--enable-openvg],
529 [enable support for OpenVG API @<:@default=no@:>@])],
530 [enable_openvg="$enableval"],
534 [AS_HELP_STRING([--enable-dri],
535 [enable DRI modules @<:@default=enabled@:>@])],
536 [enable_dri="$enableval"],
538 AC_ARG_ENABLE([dri3],
539 [AS_HELP_STRING([--enable-dri3],
540 [enable DRI3 @<:@default=enabled@:>@])],
541 [enable_dri3="$enableval"],
544 [AS_HELP_STRING([--enable-glx],
545 [enable GLX library @<:@default=enabled@:>@])],
546 [enable_glx="$enableval"],
548 AC_ARG_ENABLE([osmesa],
549 [AS_HELP_STRING([--enable-osmesa],
550 [enable OSMesa library @<:@default=disabled@:>@])],
551 [enable_osmesa="$enableval"],
553 AC_ARG_ENABLE([gallium-osmesa],
554 [AS_HELP_STRING([--enable-gallium-osmesa],
555 [enable Gallium implementation of the OSMesa library @<:@default=disabled@:>@])],
556 [enable_gallium_osmesa="$enableval"],
557 [enable_gallium_osmesa=no])
559 [AS_HELP_STRING([--disable-egl],
560 [disable EGL library @<:@default=enabled@:>@])],
561 [enable_egl="$enableval"],
565 [AS_HELP_STRING([--enable-xa],
566 [enable build of the XA X Acceleration API @<:@default=no@:>@])],
567 [enable_xa="$enableval"],
570 [AS_HELP_STRING([--enable-gbm],
571 [enable gbm library @<:@default=auto@:>@])],
572 [enable_gbm="$enableval"],
575 AC_ARG_ENABLE([xvmc],
576 [AS_HELP_STRING([--enable-xvmc],
577 [enable xvmc library @<:@default=auto@:>@])],
578 [enable_xvmc="$enableval"],
580 AC_ARG_ENABLE([vdpau],
581 [AS_HELP_STRING([--enable-vdpau],
582 [enable vdpau library @<:@default=auto@:>@])],
583 [enable_vdpau="$enableval"],
586 [AS_HELP_STRING([--enable-omx],
587 [enable OpenMAX library @<:@default=no@:>@])],
588 [enable_omx="$enableval"],
590 AC_ARG_ENABLE([opencl],
591 [AS_HELP_STRING([--enable-opencl],
592 [enable OpenCL library NOTE: Enabling this option will also enable
593 --enable-llvm-shared-libs
594 @<:@default=no@:>@])],
597 AC_ARG_ENABLE([opencl_icd],
598 [AS_HELP_STRING([--enable-opencl-icd],
599 [Build an OpenCL ICD library to be loaded by an ICD implementation
600 @<:@default=no@:>@])],
601 [enable_opencl_icd="$enableval"],
602 [enable_opencl_icd=no])
603 AC_ARG_ENABLE([xlib-glx],
604 [AS_HELP_STRING([--enable-xlib-glx],
605 [make GLX library Xlib-based instead of DRI-based @<:@default=disabled@:>@])],
606 [enable_xlib_glx="$enableval"],
607 [enable_xlib_glx=no])
608 AC_ARG_ENABLE([gallium-egl],
609 [AS_HELP_STRING([--enable-gallium-egl],
610 [enable optional EGL state tracker (not required
611 for EGL support in Gallium with OpenGL and OpenGL ES)
612 @<:@default=disable@:>@])],
613 [enable_gallium_egl="$enableval"],
614 [enable_gallium_egl=no])
615 AC_ARG_ENABLE([gallium-gbm],
616 [AS_HELP_STRING([--enable-gallium-gbm],
617 [enable optional gbm state tracker (not required for
618 gbm support in Gallium)
619 @<:@default=auto@:>@])],
620 [enable_gallium_gbm="$enableval"],
621 [enable_gallium_gbm=auto])
623 AC_ARG_ENABLE([r600-llvm-compiler],
624 [AS_HELP_STRING([--enable-r600-llvm-compiler],
625 [Enable experimental LLVM backend for graphics shaders @<:@default=disable@:>@])],
626 [enable_r600_llvm="$enableval"],
627 [enable_r600_llvm=no])
629 AC_ARG_ENABLE([gallium-tests],
630 [AS_HELP_STRING([--enable-gallium-tests],
631 [Enable optional Gallium tests) @<:@default=disable@:>@])],
632 [enable_gallium_tests="$enableval"],
633 [enable_gallium_tests=no])
635 # Option for Gallium drivers
637 # Keep this in sync with the --with-gallium-drivers help string default value
638 GALLIUM_DRIVERS_DEFAULT="r300,r600,svga,swrast"
640 AC_ARG_WITH([gallium-drivers],
641 [AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@],
642 [comma delimited Gallium drivers list, e.g.
643 "i915,ilo,nouveau,r300,r600,radeonsi,freedreno,svga,swrast"
644 @<:@default=r300,r600,svga,swrast@:>@])],
645 [with_gallium_drivers="$withval"],
646 [with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"])
648 # Doing '--without-gallium-drivers' will set this variable to 'no'. Clear it
649 # here so that the script doesn't choke on an unknown driver name later.
650 case "$with_gallium_drivers" in
651 yes) with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT" ;;
652 no) with_gallium_drivers='' ;;
655 if test "x$enable_opengl" = xno -a \
656 "x$enable_gles1" = xno -a \
657 "x$enable_gles2" = xno -a \
658 "x$enable_openvg" = xno -a \
659 "x$enable_xa" = xno -a \
660 "x$enable_xvmc" = xno -a \
661 "x$enable_vdpau" = xno -a \
662 "x$enable_omx" = xno -a \
663 "x$enable_opencl" = xno; then
664 AC_MSG_ERROR([at least one API should be enabled])
667 # Building OpenGL ES1 and/or ES2 without OpenGL is not supported on mesa 9.0.x
668 if test "x$enable_opengl" = xno -a \
669 "x$enable_gles1" = xyes; then
670 AC_MSG_ERROR([Building OpenGL ES1 without OpenGL is not supported])
673 if test "x$enable_opengl" = xno -a \
674 "x$enable_gles2" = xyes; then
675 AC_MSG_ERROR([Building OpenGL ES2 without OpenGL is not supported])
678 AM_CONDITIONAL(HAVE_OPENGL, test "x$enable_opengl" = xyes)
679 AM_CONDITIONAL(HAVE_OPENGL_ES1, test "x$enable_gles1" = xyes)
680 AM_CONDITIONAL(HAVE_OPENGL_ES2, test "x$enable_gles2" = xyes)
681 AM_CONDITIONAL(NEED_OPENGL_COMMON, test "x$enable_opengl" = xyes -o \
682 "x$enable_gles1" = xyes -o \
683 "x$enable_gles2" = xyes)
685 if test "x$enable_glx" = xno; then
686 AC_MSG_WARN([GLX disabled, disabling Xlib-GLX])
690 if test "x$enable_dri$enable_xlib_glx" = xyesyes; then
691 AC_MSG_ERROR([DRI and Xlib-GLX cannot be built together])
694 if test "x$enable_opengl$enable_xlib_glx" = xnoyes; then
695 AC_MSG_ERROR([Xlib-GLX cannot be built without OpenGL])
698 # Disable GLX if OpenGL is not enabled
699 if test "x$enable_glx$enable_opengl" = xyesno; then
700 AC_MSG_WARN([OpenGL not enabled, disabling GLX])
704 # Disable GLX if DRI and Xlib-GLX are not enabled
705 if test "x$enable_glx" = xyes -a \
706 "x$enable_dri" = xno -a \
707 "x$enable_xlib_glx" = xno; then
708 AC_MSG_WARN([Neither DRI nor Xlib-GLX enabled, disabling GLX])
712 AM_CONDITIONAL(HAVE_DRI_GLX, test "x$enable_glx" = xyes -a \
713 "x$enable_dri" = xyes)
714 AM_CONDITIONAL(HAVE_DRI, test "x$enable_dri" = xyes)
715 AM_CONDITIONAL(HAVE_DRI3, test "x$enable_dri3" = xyes)
717 AC_ARG_ENABLE([shared-glapi],
718 [AS_HELP_STRING([--enable-shared-glapi],
719 [Enable shared glapi for OpenGL @<:@default=yes@:>@])],
720 [enable_shared_glapi="$enableval"],
721 [enable_shared_glapi=yes])
723 case "x$enable_opengl$enable_gles1$enable_gles2" in
725 if test "x$enable_shared_glapi" = xno; then
726 AC_MSG_ERROR([shared GLAPI required when building two or more of
727 the following APIs - opengl, gles1 gles2])
732 # Building Xlib-GLX requires shared glapi to be disabled.
733 if test "x$enable_xlib_glx" = xyes; then
734 AC_MSG_NOTICE([Shared GLAPI should not used with Xlib-GLX, disabling])
735 enable_shared_glapi=no
738 AM_CONDITIONAL(HAVE_SHARED_GLAPI, test "x$enable_shared_glapi" = xyes)
741 dnl Driver specific build directories
743 GALLIUM_TARGET_DIRS=""
744 GALLIUM_WINSYS_DIRS="sw"
745 GALLIUM_DRIVERS_DIRS="galahad trace rbug noop identity"
746 GALLIUM_STATE_TRACKERS_DIRS=""
748 case "x$enable_glx$enable_xlib_glx" in
750 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
751 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
752 GALLIUM_STATE_TRACKERS_DIRS="glx $GALLIUM_STATE_TRACKERS_DIRS"
753 NEED_WINSYS_XLIB="yes"
757 if test "x$enable_dri" = xyes; then
758 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/dri"
759 GALLIUM_STATE_TRACKERS_DIRS="dri $GALLIUM_STATE_TRACKERS_DIRS"
762 if test "x$enable_gallium_osmesa" = xyes; then
763 if test -z "$with_gallium_drivers"; then
764 AC_MSG_ERROR([Cannot enable gallium_osmesa without Gallium])
766 if test "x$enable_osmesa" = xyes; then
767 AC_MSG_ERROR([Cannot enable both classic and Gallium OSMesa implementations])
769 GALLIUM_STATE_TRACKERS_DIRS="osmesa $GALLIUM_STATE_TRACKERS_DIRS"
770 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS osmesa"
773 AC_SUBST([MESA_LLVM])
776 PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED],
777 [have_libdrm=yes], [have_libdrm=no])
778 if test "x$have_libdrm" = xyes; then
779 DEFINES="$DEFINES -DHAVE_LIBDRM"
782 PKG_CHECK_MODULES([LIBUDEV], [libudev >= $LIBUDEV_REQUIRED],
783 have_libudev=yes, have_libudev=no)
785 if test "x$enable_dri" = xyes; then
786 # DRI must be shared, I think
787 if test "$enable_static" = yes; then
788 AC_MSG_ERROR([Cannot use static libraries for DRI drivers])
791 # not a hard requirement as swrast does not depend on it
792 if test "x$have_libdrm" = xyes; then
793 DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
797 dnl Direct rendering or just indirect rendering
800 dnl Disable by default on GNU/Hurd
801 driglx_direct_default="no"
804 dnl Disable by default on cygwin
805 driglx_direct_default="no"
808 driglx_direct_default="yes"
811 AC_ARG_ENABLE([driglx-direct],
812 [AS_HELP_STRING([--disable-driglx-direct],
813 [disable direct rendering in GLX and EGL for DRI \
814 @<:@default=auto@:>@])],
815 [driglx_direct="$enableval"],
816 [driglx_direct="$driglx_direct_default"])
819 dnl libGL configuration per driver
821 case "x$enable_glx$enable_xlib_glx" in
824 PKG_CHECK_MODULES([XLIBGL], [x11 xext])
825 GL_PC_REQ_PRIV="x11 xext"
826 X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
827 GL_LIB_DEPS="$XLIBGL_LIBS"
828 GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
829 GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm $PTHREAD_LIBS"
833 PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
834 if test x"$driglx_direct" = xyes; then
835 if test "x$have_libdrm" != xyes; then
836 AC_MSG_ERROR([Direct rendering requires libdrm >= $LIBDRM_REQUIRED])
838 PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
839 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED"
840 if test x"$enable_dri3" = xyes; then
841 if test x"$have_libudev" != xyes; then
842 AC_MSG_ERROR([DRI3 requires libudev >= $LIBUDEV_REQUIRED])
844 PKG_CHECK_MODULES([DRI3PROTO], [dri3proto >= $DRI3PROTO_REQUIRED])
845 PKG_CHECK_MODULES([PRESENTPROTO], [presentproto >= $PRESENTPROTO_REQUIRED])
849 # find the DRI deps for libGL
850 dri_modules="x11 xext xdamage xfixes x11-xcb xcb-glx >= $XCBGLX_REQUIRED xcb-dri2 >= $XCBDRI2_REQUIRED"
852 if test x"$enable_dri3" = xyes; then
853 dri_modules="$dri_modules xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED"
856 # add xf86vidmode if available
857 PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no)
858 if test "$HAVE_XF86VIDMODE" = yes ; then
859 dri_modules="$dri_modules xxf86vm"
862 PKG_CHECK_MODULES([DRIGL], [$dri_modules])
863 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
864 X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
865 GL_LIB_DEPS="$DRIGL_LIBS"
867 # need DRM libs, $PTHREAD_LIBS, etc.
868 GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
869 GL_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
873 if test "$have_libudev" = yes; then
874 DEFINES="$DEFINES -DHAVE_LIBUDEV"
877 # This is outside the case (above) so that it is invoked even for non-GLX
879 AM_CONDITIONAL(HAVE_XF86VIDMODE, test "x$HAVE_XF86VIDMODE" = xyes)
881 GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
882 GLESv1_CM_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
883 GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
884 GLESv2_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
886 AC_SUBST([X11_INCLUDES])
887 AC_SUBST([GL_LIB_DEPS])
888 AC_SUBST([GL_PC_REQ_PRIV])
889 AC_SUBST([GL_PC_LIB_PRIV])
890 AC_SUBST([GL_PC_CFLAGS])
891 AC_SUBST([DRI_PC_REQ_PRIV])
892 AC_SUBST([GLESv1_CM_LIB_DEPS])
893 AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
894 AC_SUBST([GLESv2_LIB_DEPS])
895 AC_SUBST([GLESv2_PC_LIB_PRIV])
897 AC_SUBST([HAVE_XF86VIDMODE])
902 case "x$enable_glx$enable_xlib_glx" in
904 DEFINES="$DEFINES -DUSE_XSHM"
907 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
908 if test "x$driglx_direct" = xyes; then
909 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
918 AC_ARG_ENABLE([glx-tls],
919 [AS_HELP_STRING([--enable-glx-tls],
920 [enable TLS support in GLX @<:@default=disabled@:>@])],
921 [GLX_USE_TLS="$enableval"],
923 AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
925 AS_IF([test "x$GLX_USE_TLS" = xyes -a "x$ax_pthread_ok" = xyes],
926 [DEFINES="${DEFINES} -DGLX_USE_TLS -DHAVE_PTHREAD"])
931 dnl Directory for DRI drivers
932 AC_ARG_WITH([dri-driverdir],
933 [AS_HELP_STRING([--with-dri-driverdir=DIR],
934 [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
935 [DRI_DRIVER_INSTALL_DIR="$withval"],
936 [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
937 AC_SUBST([DRI_DRIVER_INSTALL_DIR])
938 dnl Extra search path for DRI drivers
939 AC_ARG_WITH([dri-searchpath],
940 [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
941 [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
942 [DRI_DRIVER_SEARCH_DIR="$withval"],
943 [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
944 AC_SUBST([DRI_DRIVER_SEARCH_DIR])
945 dnl Which drivers to build - default is chosen by platform
946 AC_ARG_WITH([dri-drivers],
947 [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
948 [comma delimited classic DRI drivers list, e.g.
949 "swrast,i965,radeon" @<:@default=auto@:>@])],
950 [with_dri_drivers="$withval"],
951 [with_dri_drivers=auto])
953 if test "x$with_dri_drivers" = xauto; then
954 if test "x$enable_opengl" = xyes -a "x$enable_dri" = xyes; then
955 with_dri_drivers="yes"
957 with_dri_drivers="no"
960 if test "x$with_dri_drivers" = xno; then
964 dnl If $with_dri_drivers is yes, drivers will be added through
965 dnl platform checks. Set DEFINES and LIB_DEPS
966 if test "x$enable_dri" = xyes; then
967 # Platform specific settings and drivers to build
970 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
971 DEFINES="$DEFINES -DHAVE_ALIAS"
972 if test "x$enable_dri3" = xyes; then
973 DEFINES="$DEFINES -DHAVE_DRI3"
976 if test "x$have_libudev" != xyes; then
977 AC_MSG_ERROR([libudev-dev required for building DRI])
982 # Build only the drivers for cards that exist on PowerPC/sparc
983 if test "x$with_dri_drivers" = "xyes"; then
984 with_dri_drivers="r200 radeon swrast"
989 *freebsd* | dragonfly* | *netbsd* | openbsd*)
990 DEFINES="$DEFINES -DHAVE_PTHREAD -DUSE_EXTERNAL_DXTN_LIB=1"
991 DEFINES="$DEFINES -DHAVE_ALIAS"
994 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
995 DEFINES="$DEFINES -DHAVE_ALIAS"
998 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
1001 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
1002 if test "x$with_dri_drivers" = "xyes"; then
1003 with_dri_drivers="swrast"
1009 if test "x$with_dri_drivers" = "xyes"; then
1010 with_dri_drivers="i915 i965 nouveau r200 radeon swrast"
1014 PKG_CHECK_EXISTS([EXPAT], [have_expat=yes], [have_expat=no])
1015 if test "x$have_expat" = "xyes"; then
1016 PKG_CHECK_MODULES([EXPAT], [expat], [],
1017 AC_MSG_ERROR([Expat required for DRI.]))
1019 # expat version 2.0 and earlier do not provide expat.pc
1023 # If we are building any DRI driver other than swrast.
1024 if test -n "$with_dri_drivers"; then
1025 if test "x$with_dri_drivers" != xswrast; then
1026 # ... libdrm is required
1027 if test "x$have_libdrm" != xyes; then
1028 AC_MSG_ERROR([DRI drivers requires libdrm >= $LIBDRM_REQUIRED])
1030 DRICOMMON_NEED_LIBDRM=yes
1032 DRICOMMON_NEED_LIBDRM=no
1036 # put all the necessary libs together
1037 DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1038 GALLIUM_DRI_LIB_DEPS="$GALLIUM_DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIBS -lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
1042 AC_SUBST([DRI_LIB_DEPS])
1043 AC_SUBST([GALLIUM_DRI_LIB_DEPS])
1046 dnl Duplicates in DRI_DIRS are removed by sorting it at the end of this block
1047 if test -n "$with_dri_drivers"; then
1048 if test "x$enable_opengl" != xyes; then
1049 AC_MSG_ERROR([--with-dri-drivers requires OpenGL])
1052 dri_drivers=`IFS=', '; echo $with_dri_drivers`
1053 for driver in $dri_drivers; do
1054 DRI_DIRS="$DRI_DIRS $driver"
1058 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1062 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1065 HAVE_NOUVEAU_DRI=yes;
1066 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NVVIEUX_REQUIRED])
1069 HAVE_RADEON_DRI=yes;
1070 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1074 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1077 HAVE_SWRAST_DRI=yes;
1080 AC_MSG_ERROR([classic DRI driver '$driver' does not exist])
1084 DRI_DIRS=`echo $DRI_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
1087 AM_CONDITIONAL(NEED_MEGADRIVER, test -n "$DRI_DIRS")
1088 AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_xlib_glx" = xyes -o \
1089 "x$enable_osmesa" = xyes -o \
1093 dnl OSMesa configuration
1096 dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
1097 AC_ARG_WITH([osmesa-bits],
1098 [AS_HELP_STRING([--with-osmesa-bits=BITS],
1099 [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
1100 [osmesa_bits="$withval"],
1102 if test "x$osmesa_bits" != x8; then
1103 if test "x$enable_dri" = xyes -o "x$enable_glx" = xyes; then
1104 AC_MSG_WARN([Ignoring OSMesa channel bits because of non-OSMesa driver])
1108 case "x$osmesa_bits" in
1110 OSMESA_LIB="${OSMESA_LIB}"
1113 OSMESA_LIB="${OSMESA_LIB}$osmesa_bits"
1114 DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
1117 AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
1121 if test "x$enable_osmesa" = xyes -o "x$enable_gallium_osmesa" = xyes; then
1122 # only link libraries with osmesa if shared
1123 if test "$enable_static" = no; then
1124 OSMESA_LIB_DEPS="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
1129 OSMESA_PC_LIB_PRIV="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
1132 AC_SUBST([OSMESA_LIB_DEPS])
1133 AC_SUBST([OSMESA_MESA_DEPS])
1134 AC_SUBST([OSMESA_PC_REQ])
1135 AC_SUBST([OSMESA_PC_LIB_PRIV])
1138 dnl gbm configuration
1140 if test "x$enable_gbm" = xauto; then
1141 case "$with_egl_platforms" in
1148 if test "x$enable_gbm" = xyes; then
1149 if test x"$have_libudev" != xyes; then
1150 AC_MSG_ERROR([gbm requires udev >= $LIBUDEV_REQUIRED])
1153 if test "x$enable_dri" = xyes; then
1154 GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri"
1155 if test "x$enable_shared_glapi" = xno; then
1156 AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi])
1160 AM_CONDITIONAL(HAVE_GBM, test "x$enable_gbm" = xyes)
1161 GBM_PC_REQ_PRIV="libudev >= $LIBUDEV_REQUIRED"
1162 GBM_PC_LIB_PRIV="$DLOPEN_LIBS"
1163 AC_SUBST([GBM_PC_REQ_PRIV])
1164 AC_SUBST([GBM_PC_LIB_PRIV])
1167 dnl EGL configuration
1171 if test "x$enable_egl" = xyes; then
1172 EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS $PTHREAD_LIBS"
1174 AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"])
1176 if test "$enable_static" != yes; then
1177 if test "x$enable_dri" = xyes; then
1178 HAVE_EGL_DRIVER_DRI2=1
1183 AM_CONDITIONAL(HAVE_EGL, test "x$enable_egl" = xyes)
1184 AC_SUBST([EGL_LIB_DEPS])
1187 dnl EGL Gallium configuration
1189 if test "x$enable_gallium_egl" = xyes; then
1190 if test -z "$with_gallium_drivers"; then
1191 AC_MSG_ERROR([cannot enable egl_gallium without Gallium])
1193 if test "x$enable_egl" = xno; then
1194 AC_MSG_ERROR([cannot enable egl_gallium without EGL])
1196 if test "x$have_libdrm" != xyes; then
1197 AC_MSG_ERROR([egl_gallium requires libdrm >= $LIBDRM_REQUIRED])
1200 GALLIUM_STATE_TRACKERS_DIRS="egl $GALLIUM_STATE_TRACKERS_DIRS"
1201 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl-static"
1203 AM_CONDITIONAL(HAVE_GALLIUM_EGL, test "x$enable_gallium_egl" = xyes)
1206 dnl gbm Gallium configuration
1208 if test "x$enable_gallium_gbm" = xauto; then
1209 case "$enable_gbm$enable_gallium_egl$enable_dri$with_egl_platforms" in
1211 enable_gallium_gbm=yes ;;
1213 enable_gallium_gbm=no ;;
1216 if test "x$enable_gallium_gbm" = xyes; then
1217 if test -z "$with_gallium_drivers"; then
1218 AC_MSG_ERROR([cannot enable gbm_gallium without Gallium])
1220 if test "x$enable_gbm" = xno; then
1221 AC_MSG_ERROR([cannot enable gbm_gallium without gbm])
1223 # gbm_gallium abuses DRI_LIB_DEPS to link. Make sure it is set.
1224 if test "x$enable_dri" = xno; then
1225 AC_MSG_ERROR([gbm_gallium requires --enable-dri to build])
1228 GALLIUM_STATE_TRACKERS_DIRS="gbm $GALLIUM_STATE_TRACKERS_DIRS"
1229 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS gbm"
1230 enable_gallium_loader=yes
1232 AM_CONDITIONAL(HAVE_GALLIUM_GBM, test "x$enable_gallium_gbm" = xyes)
1235 dnl XA configuration
1237 if test "x$enable_xa" = xyes; then
1238 if test "x$with_gallium_drivers" = xswrast; then
1240 Building xa requires at least one non swrast gallium driver.
1241 If you are looking to use libxatracker.so with vmware's virtual gpu,
1242 make sure to include svga in the gallium drivers list, apart from
1244 Example: ./configure --enable-xa --with-gallium-drivers=svga...])
1246 GALLIUM_STATE_TRACKERS_DIRS="xa $GALLIUM_STATE_TRACKERS_DIRS"
1247 enable_gallium_loader=yes
1249 AM_CONDITIONAL(HAVE_ST_XA, test "x$enable_xa" = xyes)
1252 dnl OpenVG configuration
1256 if test "x$enable_openvg" = xyes; then
1257 if test "x$enable_egl" = xno; then
1258 AC_MSG_ERROR([cannot enable OpenVG without EGL])
1260 if test -z "$with_gallium_drivers"; then
1261 AC_MSG_ERROR([cannot enable OpenVG without Gallium])
1263 if test "x$enable_gallium_egl" = xno; then
1264 AC_MSG_ERROR([cannot enable OpenVG without egl_gallium])
1267 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
1268 VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS $PTHREAD_LIBS"
1269 GALLIUM_STATE_TRACKERS_DIRS="vega $GALLIUM_STATE_TRACKERS_DIRS"
1270 VG_PC_LIB_PRIV="-lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
1271 AC_SUBST([VG_PC_LIB_PRIV])
1273 AM_CONDITIONAL(HAVE_OPENVG, test "x$enable_openvg" = xyes)
1276 dnl Gallium G3DVL configuration
1278 if test -n "$with_gallium_drivers"; then
1279 if test "x$enable_xvmc" = xauto; then
1280 PKG_CHECK_EXISTS([xvmc], [enable_xvmc=yes], [enable_xvmc=no])
1283 if test "x$enable_vdpau" = xauto; then
1284 PKG_CHECK_EXISTS([vdpau], [enable_vdpau=yes], [enable_vdpau=no])
1287 if test "x$enable_omx" = xauto; then
1288 PKG_CHECK_EXISTS([libomxil-bellagio], [enable_omx=yes], [enable_omx=no])
1292 if test "x$enable_xvmc" = xyes; then
1293 PKG_CHECK_MODULES([XVMC], [xvmc >= $XVMC_REQUIRED x11-xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
1294 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xvmc"
1296 AM_CONDITIONAL(HAVE_ST_XVMC, test "x$enable_xvmc" = xyes)
1298 if test "x$enable_vdpau" = xyes; then
1299 PKG_CHECK_MODULES([VDPAU], [vdpau >= $VDPAU_REQUIRED x11-xcb xcb-dri2 >= $XCBDRI2_REQUIRED],
1300 [VDPAU_LIBS="`$PKG_CONFIG --libs x11-xcb xcb-dri2`"])
1301 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS vdpau"
1303 AM_CONDITIONAL(HAVE_ST_VDPAU, test "x$enable_vdpau" = xyes)
1305 if test "x$enable_omx" = xyes; then
1306 PKG_CHECK_MODULES([OMX], [libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED x11-xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
1307 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS omx"
1309 AM_CONDITIONAL(HAVE_ST_OMX, test "x$enable_omx" = xyes)
1312 dnl OpenCL configuration
1315 AC_ARG_WITH([libclc-path],
1316 [AS_HELP_STRING([--with-libclc-path],
1317 [DEPRECATED: See http://dri.freedesktop.org/wiki/GalliumCompute#How_to_Install])],
1318 [LIBCLC_PATH="$withval"],
1321 if test -n "$LIBCLC_PATH"; then
1322 AC_MSG_ERROR([The --with-libclc-path option has been deprecated.
1323 Please review the updated build instructions for clover:
1324 http://dri.freedesktop.org/wiki/GalliumCompute])
1328 AC_ARG_WITH([clang-libdir],
1329 [AS_HELP_STRING([--with-clang-libdir],
1330 [Path to Clang libraries @<:@default=llvm-config --libdir@:>@])],
1331 [CLANG_LIBDIR="$withval"],
1334 PKG_CHECK_EXISTS([libclc], [have_libclc=yes], [have_libclc=no])
1336 if test "x$enable_opencl" = xyes; then
1337 if test -z "$with_gallium_drivers"; then
1338 AC_MSG_ERROR([cannot enable OpenCL without Gallium])
1341 if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 7; then
1342 AC_MSG_ERROR([gcc >= 4.7 is required to build clover])
1345 if test "x$have_libclc" = xno; then
1346 AC_MSG_ERROR([pkg-config cannot find libclc.pc which is required to build clover.
1347 Make sure the directory containing libclc.pc is specified in your
1348 PKG_CONFIG_PATH environment variable.
1349 By default libclc.pc is installed to /usr/local/share/pkgconfig/])
1351 LIBCLC_INCLUDEDIR=`$PKG_CONFIG --variable=includedir libclc`
1352 LIBCLC_LIBEXECDIR=`$PKG_CONFIG --variable=libexecdir libclc`
1353 AC_SUBST([LIBCLC_INCLUDEDIR])
1354 AC_SUBST([LIBCLC_LIBEXECDIR])
1357 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS clover"
1358 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS opencl"
1359 enable_gallium_loader=yes
1361 if test "x$enable_opencl_icd" = xyes; then
1362 OPENCL_LIBNAME="MesaOpenCL"
1364 OPENCL_LIBNAME="OpenCL"
1367 AM_CONDITIONAL(HAVE_CLOVER, test "x$enable_opencl" = xyes)
1368 AM_CONDITIONAL(HAVE_CLOVER_ICD, test "x$enable_opencl_icd" = xyes)
1369 AC_SUBST([OPENCL_LIBNAME])
1372 dnl Gallium configuration
1374 AM_CONDITIONAL(HAVE_GALLIUM, test -n "$with_gallium_drivers")
1376 AC_SUBST([LLVM_BINDIR])
1377 AC_SUBST([LLVM_CFLAGS])
1378 AC_SUBST([LLVM_CPPFLAGS])
1379 AC_SUBST([LLVM_CXXFLAGS])
1380 AC_SUBST([LLVM_LIBDIR])
1381 AC_SUBST([LLVM_LIBS])
1382 AC_SUBST([LLVM_LDFLAGS])
1383 AC_SUBST([LLVM_INCLUDEDIR])
1384 AC_SUBST([LLVM_VERSION])
1385 AC_SUBST([CLANG_RESOURCE_DIR])
1387 case "x$enable_opengl$enable_gles1$enable_gles2" in
1389 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
1393 AC_SUBST([VG_LIB_DEPS])
1394 AC_SUBST([EGL_CLIENT_APIS])
1397 dnl EGL Platforms configuration
1399 AC_ARG_WITH([egl-platforms],
1400 [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1401 [comma delimited native platforms libEGL supports, e.g.
1402 "x11,drm" @<:@default=auto@:>@])],
1403 [with_egl_platforms="$withval"],
1404 [if test "x$enable_egl" = xyes; then
1405 with_egl_platforms="x11"
1407 with_egl_platforms=""
1410 if test "x$with_egl_platforms" != "x" -a "x$enable_egl" != xyes; then
1411 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1414 # Do per-EGL platform setups and checks
1415 egl_platforms=`IFS=', '; echo $with_egl_platforms`
1416 for plat in $egl_platforms; do
1419 PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED])
1420 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/wayland"
1422 WAYLAND_PREFIX=`$PKG_CONFIG --variable=prefix wayland-client`
1423 AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner],,
1424 [${WAYLAND_PREFIX}/bin$PATH_SEPARATOR$PATH])
1428 PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 >= $XCBDRI2_REQUIRED xcb-xfixes])
1432 test "x$enable_gbm" = "xno" &&
1433 AC_MSG_ERROR([EGL platform drm needs gbm])
1434 test "x$have_libdrm" != xyes &&
1435 AC_MSG_ERROR([EGL platform drm requires libdrm >= $LIBDRM_REQUIRED])
1438 android|fbdev|gdi|null)
1442 AC_MSG_ERROR([EGL platform '$plat' does not exist])
1446 case "$plat$have_libudev" in
1448 AC_MSG_ERROR([cannot build $plat platform without udev >= $LIBUDEV_REQUIRED]) ;;
1452 # libEGL wants to default to the first platform specified in
1453 # ./configure. parse that here.
1454 if test "x$egl_platforms" != "x"; then
1455 FIRST_PLATFORM_CAPS=`echo $egl_platforms | sed 's| .*||' | tr 'a-z' 'A-Z'`
1456 EGL_NATIVE_PLATFORM="_EGL_PLATFORM_$FIRST_PLATFORM_CAPS"
1458 EGL_NATIVE_PLATFORM="_EGL_INVALID_PLATFORM"
1461 if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
1462 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
1463 NEED_WINSYS_XLIB=yes
1465 AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
1466 AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
1467 AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1)
1468 AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1)
1469 AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1)
1471 AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
1473 AC_SUBST([EGL_NATIVE_PLATFORM])
1474 AC_SUBST([EGL_CFLAGS])
1476 # If we don't have the X11 platform, set this define so we don't try to include
1478 if ! echo "$egl_platforms" | grep -q 'x11'; then
1479 DEFINES="$DEFINES -DMESA_EGL_NO_X11_HEADERS"
1480 GL_PC_CFLAGS="$GL_PC_CFLAGS -DMESA_EGL_NO_X11_HEADERS"
1483 AC_ARG_WITH([egl-driver-dir],
1484 [AS_HELP_STRING([--with-egl-driver-dir=DIR],
1485 [directory for EGL drivers [[default=${libdir}/egl]]])],
1486 [EGL_DRIVER_INSTALL_DIR="$withval"],
1487 [EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
1488 AC_SUBST([EGL_DRIVER_INSTALL_DIR])
1490 AC_ARG_WITH([max-width],
1491 [AS_HELP_STRING([--with-max-width=N],
1492 [Maximum framebuffer width (4096)])],
1493 [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1494 AS_IF([test "${withval}" -gt "4096"],
1495 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1497 AC_ARG_WITH([max-height],
1498 [AS_HELP_STRING([--with-max-height=N],
1499 [Maximum framebuffer height (4096)])],
1500 [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1501 AS_IF([test "${withval}" -gt "4096"],
1502 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1508 AC_ARG_ENABLE([gallium-llvm],
1509 [AS_HELP_STRING([--enable-gallium-llvm],
1510 [build gallium LLVM support @<:@default=enabled on x86/x86_64@:>@])],
1511 [enable_gallium_llvm="$enableval"],
1512 [enable_gallium_llvm=auto])
1514 AC_ARG_ENABLE([llvm-shared-libs],
1515 [AS_HELP_STRING([--enable-llvm-shared-libs],
1516 [link with LLVM shared libraries @<:@default=enabled@:>@])],
1518 [with_llvm_shared_libs=yes])
1520 AC_ARG_WITH([llvm-prefix],
1521 [AS_HELP_STRING([--with-llvm-prefix],
1522 [Prefix for LLVM installations in non-standard locations])],
1523 [llvm_prefix="$withval"],
1527 # Call this inside ` ` to get the return value.
1528 # $1 is the llvm-config command with arguments.
1529 strip_unwanted_llvm_flags() {
1530 # Use \> (marks the end of the word)
1532 -e 's/-DNDEBUG\>//g' \
1533 -e 's/-pedantic\>//g' \
1534 -e 's/-Wcovered-switch-default\>//g' \
1538 -e 's/-Wcast-qual\>//g' \
1539 -e 's/-Woverloaded-virtual\>//g' \
1540 -e 's/-fcolor-diagnostics\>//g' \
1541 -e 's/-fdata-sections\>//g' \
1542 -e 's/-ffunction-sections\>//g' \
1543 -e 's/-fno-exceptions\>//g' \
1544 -e 's/-fomit-frame-pointer\>//g' \
1545 -e 's/-fvisibility-inlines-hidden\>//g' \
1550 if test -z "$with_gallium_drivers"; then
1551 enable_gallium_llvm=no
1553 if test "x$enable_gallium_llvm" = xauto; then
1555 i*86|x86_64|amd64) enable_gallium_llvm=yes;;
1558 if test "x$enable_gallium_llvm" = xyes; then
1559 if test -n "$llvm_prefix"; then
1560 AC_PATH_TOOL([LLVM_CONFIG], [llvm-config], [no], ["$llvm_prefix/bin"])
1562 AC_PATH_TOOL([LLVM_CONFIG], [llvm-config], [no])
1565 if test "x$LLVM_CONFIG" != xno; then
1566 LLVM_VERSION=`$LLVM_CONFIG --version | sed 's/svn.*//g'`
1567 LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1568 LLVM_BINDIR=`$LLVM_CONFIG --bindir`
1569 LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"`
1570 LLVM_CFLAGS=$LLVM_CPPFLAGS # CPPFLAGS seem to be sufficient
1571 LLVM_CXXFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cxxflags"`
1572 LLVM_INCLUDEDIR=`$LLVM_CONFIG --includedir`
1573 LLVM_LIBDIR=`$LLVM_CONFIG --libdir`
1574 LLVM_LDFLAGS="-Wl,-rpath,$LLVM_LIBDIR $LLVM_LDFLAGS"
1576 AC_COMPUTE_INT([LLVM_VERSION_MAJOR], [LLVM_VERSION_MAJOR],
1577 [#include "${LLVM_INCLUDEDIR}/llvm/Config/llvm-config.h"])
1578 AC_COMPUTE_INT([LLVM_VERSION_MINOR], [LLVM_VERSION_MINOR],
1579 [#include "${LLVM_INCLUDEDIR}/llvm/Config/llvm-config.h"])
1581 if test -n "${LLVM_VERSION_MAJOR}"; then
1582 LLVM_VERSION_INT="${LLVM_VERSION_MAJOR}0${LLVM_VERSION_MINOR}"
1584 LLVM_VERSION_INT=`echo $LLVM_VERSION | sed -e 's/\([[0-9]]\)\.\([[0-9]]\)/\10\2/g'`
1587 LLVM_COMPONENTS="engine bitwriter"
1588 if $LLVM_CONFIG --components | grep -qw 'mcjit'; then
1589 LLVM_COMPONENTS="${LLVM_COMPONENTS} mcjit"
1592 if test "x$enable_opencl" = xyes; then
1593 LLVM_COMPONENTS="${LLVM_COMPONENTS} ipo linker instrumentation"
1594 # LLVM 3.3 >= 177971 requires IRReader
1595 if $LLVM_CONFIG --components | grep -qw 'irreader'; then
1596 LLVM_COMPONENTS="${LLVM_COMPONENTS} irreader"
1598 # LLVM 3.4 requires Option
1599 if $LLVM_CONFIG --components | grep -qw 'option'; then
1600 LLVM_COMPONENTS="${LLVM_COMPONENTS} option"
1603 DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT"
1606 dnl Check for Clang internal headers
1607 if test "x$enable_opencl" = xyes; then
1608 if test -z "$CLANG_LIBDIR"; then
1609 CLANG_LIBDIR=${LLVM_LIBDIR}
1611 CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
1612 AS_IF([test ! -f "$CLANG_RESOURCE_DIR/include/stddef.h"],
1613 [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.])])
1624 dnl Directory for XVMC libs
1625 AC_ARG_WITH([xvmc-libdir],
1626 [AS_HELP_STRING([--with-xvmc-libdir=DIR],
1627 [directory for the XVMC libraries @<:@default=${libdir}@:>@])],
1628 [XVMC_LIB_INSTALL_DIR="$withval"],
1629 [XVMC_LIB_INSTALL_DIR='${libdir}'])
1630 AC_SUBST([XVMC_LIB_INSTALL_DIR])
1635 if test "x$enable_gallium_tests" = xyes; then
1636 enable_gallium_loader=yes
1638 AM_CONDITIONAL(HAVE_GALLIUM_TESTS, test "x$enable_gallium_tests" = xyes)
1640 if test "x$enable_gallium_loader" = xyes; then
1641 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS pipe-loader"
1643 AM_CONDITIONAL(NEED_GALLIUM_LOADER, test "x$enable_gallium_loader" = xyes)
1645 dnl Directory for VDPAU libs
1646 AC_ARG_WITH([vdpau-libdir],
1647 [AS_HELP_STRING([--with-vdpau-libdir=DIR],
1648 [directory for the VDPAU libraries @<:@default=${libdir}/vdpau@:>@])],
1649 [VDPAU_LIB_INSTALL_DIR="$withval"],
1650 [VDPAU_LIB_INSTALL_DIR='${libdir}/vdpau'])
1651 AC_SUBST([VDPAU_LIB_INSTALL_DIR])
1653 OMX_LIB_INSTALL_DIR_DEFAULT=''
1654 if test "x$enable_omx" = xyes; then
1655 OMX_LIB_INSTALL_DIR_DEFAULT=`$PKG_CONFIG --variable=pluginsdir libomxil-bellagio`
1658 AC_ARG_WITH([omx-libdir],
1659 [AS_HELP_STRING([--with-omx-libdir=DIR],
1660 [directory for the OMX libraries])],
1661 [OMX_LIB_INSTALL_DIR="$withval"],
1662 [OMX_LIB_INSTALL_DIR="$OMX_LIB_INSTALL_DIR_DEFAULT"])
1663 AC_SUBST([OMX_LIB_INSTALL_DIR])
1665 dnl Directory for OpenCL libs
1666 AC_ARG_WITH([opencl-libdir],
1667 [AS_HELP_STRING([--with-opencl-libdir=DIR],
1668 [directory for auxiliary libraries used by the OpenCL implementation @<:@default=${libdir}/opencl@:>@])],
1669 [OPENCL_LIB_INSTALL_DIR="$withval"],
1670 [OPENCL_LIB_INSTALL_DIR='${libdir}/opencl'])
1671 AC_SUBST([OPENCL_LIB_INSTALL_DIR])
1674 dnl Gallium helper functions
1676 gallium_check_st() {
1677 if test "x$NEED_NONNULL_WINSYS" = xyes; then
1678 if test "x$have_libdrm" != xyes; then
1679 AC_MSG_ERROR([DRI or Xorg DDX requires libdrm >= $LIBDRM_REQUIRED])
1681 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
1683 if test "x$enable_dri" = xyes && test -n "$2"; then
1684 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
1686 if test "x$enable_xa" = xyes && test -n "$3"; then
1687 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
1689 if test "x$enable_xvmc" = xyes && test -n "$4"; then
1690 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $4"
1692 if test "x$enable_vdpau" = xyes && test -n "$5"; then
1693 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $5"
1695 if test "x$enable_omx" = xyes && test "x$6" != x; then
1696 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $6"
1700 gallium_require_llvm() {
1701 if test "x$MESA_LLVM" = x0; then
1703 i*86|x86_64|amd64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
1708 gallium_require_drm_loader() {
1709 if test "x$enable_gallium_loader" = xyes; then
1710 if test "x$have_libudev" != xyes; then
1711 AC_MSG_ERROR([Gallium drm loader requires libudev >= $LIBUDEV_REQUIRED])
1713 if test "x$have_libdrm" != xyes; then
1714 AC_MSG_ERROR([Gallium drm loader requires libdrm >= $LIBDRM_REQUIRED])
1716 enable_gallium_drm_loader=yes
1720 radeon_llvm_check() {
1721 if test "x$enable_gallium_llvm" != "xyes"; then
1722 AC_MSG_ERROR([--enable-gallium-llvm is required when building $1])
1724 LLVM_REQUIRED_VERSION_MAJOR="3"
1725 LLVM_REQUIRED_VERSION_MINOR="3"
1726 if test "$LLVM_VERSION_INT" -lt "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}"; then
1727 AC_MSG_ERROR([LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR or newer is required for $1])
1729 if test true && $LLVM_CONFIG --targets-built | grep -qvw 'R600' ; then
1730 AC_MSG_ERROR([LLVM R600 Target not enabled. You can enable it when building the LLVM
1731 sources with the --enable-experimental-targets=R600
1734 LLVM_COMPONENTS="${LLVM_COMPONENTS} r600 bitreader ipo"
1735 NEED_RADEON_LLVM=yes
1736 AC_CHECK_LIB([elf], [elf_memory], [ELF_LIB=-lelf],
1737 [AC_MSG_ERROR([$1 requires libelf when using LLVM])])
1741 if test "x$enable_dri" = xyes -o "x$enable_xa" = xyes -o \
1742 "x$enable_xvmc" = xyes -o "x$enable_vdpau" = xyes; then
1743 NEED_NONNULL_WINSYS=yes
1745 AM_CONDITIONAL(NEED_NONNULL_WINSYS, test "x$NEED_NONNULL_WINSYS" = xyes)
1747 dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this block
1748 if test -n "$with_gallium_drivers"; then
1749 gallium_drivers=`IFS=', '; echo $with_gallium_drivers`
1750 for driver in $gallium_drivers; do
1753 HAVE_GALLIUM_SVGA=yes
1754 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga softpipe"
1755 gallium_require_drm_loader
1756 gallium_check_st "svga/drm" "dri-vmwgfx" ""
1759 HAVE_GALLIUM_I915=yes
1760 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1761 gallium_require_drm_loader
1762 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915 softpipe"
1763 if test "x$MESA_LLVM" = x1; then
1764 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1766 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1767 gallium_check_st "i915/drm" "dri-i915"
1768 DRICOMMON_NEED_LIBDRM=yes
1771 HAVE_GALLIUM_ILO=yes
1772 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1773 gallium_require_drm_loader
1774 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS ilo"
1775 gallium_check_st "intel/drm" "dri-ilo"
1776 DRICOMMON_NEED_LIBDRM=yes
1779 HAVE_GALLIUM_R300=yes
1780 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1781 gallium_require_drm_loader
1782 gallium_require_llvm "Gallium R300"
1783 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
1784 gallium_check_st "radeon/drm" "r300/dri" "" "" ""
1785 DRICOMMON_NEED_LIBDRM=yes
1788 HAVE_GALLIUM_R600=yes
1789 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1790 gallium_require_drm_loader
1791 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
1792 if test "x$enable_r600_llvm" = xyes -o "x$enable_opencl" = xyes; then
1793 radeon_llvm_check "r600g"
1794 LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
1796 if test "x$enable_r600_llvm" = xyes; then
1797 USE_R600_LLVM_COMPILER=yes;
1799 if test "x$enable_opencl" = xyes; then
1800 LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
1802 gallium_check_st "radeon/drm" "r600/dri" "" "r600/xvmc" "r600/vdpau" "r600/omx"
1803 DRICOMMON_NEED_LIBDRM=yes
1806 HAVE_GALLIUM_RADEONSI=yes
1807 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1808 gallium_require_drm_loader
1809 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS radeonsi"
1810 radeon_llvm_check "radeonsi"
1811 gallium_check_st "radeon/drm" "radeonsi/dri" "" "" "radeonsi/vdpau" "radeonsi/omx"
1812 DRICOMMON_NEED_LIBDRM=yes
1815 HAVE_GALLIUM_NOUVEAU=yes
1816 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
1817 gallium_require_drm_loader
1818 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau"
1819 gallium_check_st "nouveau/drm" "dri-nouveau" "" "xvmc-nouveau" "vdpau-nouveau"
1820 DRICOMMON_NEED_LIBDRM=yes
1823 HAVE_GALLIUM_FREEDRENO=yes
1824 PKG_CHECK_MODULES([FREEDRENO], [libdrm_freedreno >= $LIBDRM_FREEDRENO_REQUIRED])
1825 gallium_require_drm_loader
1826 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS freedreno"
1827 gallium_check_st "freedreno/drm" "dri-freedreno" "" "" ""
1828 DRICOMMON_NEED_LIBDRM=yes
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$enable_dri" = xyes; then
1839 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast"
1843 AC_MSG_ERROR([Unknown Gallium driver: $driver])
1849 dnl Set LLVM_LIBS - This is done after the driver configuration so
1850 dnl that drivers can add additonal components to LLVM_COMPONENTS.
1851 dnl Previously, gallium drivers were updating LLVM_LIBS directly
1852 dnl by calling llvm-config --libs ${DRIVER_LLVM_COMPONENTS}, but
1853 dnl this was causing the same libraries to be appear multiple times
1856 if test "x$MESA_LLVM" != x0; then
1858 LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`"
1860 if test "x$with_llvm_shared_libs" = xyes; then
1861 dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
1862 LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
1863 AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.so"], [llvm_have_one_so=yes])
1865 if test "x$llvm_have_one_so" = xyes; then
1866 dnl LLVM was built using auto*, so there is only one shared object.
1867 LLVM_LIBS="-l$LLVM_SO_NAME"
1869 dnl If LLVM was built with CMake, there will be one shared object per
1871 AS_IF([test ! -f "$LLVM_LIBDIR/libLLVMTarget.so"],
1872 [AC_MSG_ERROR([Could not find llvm shared libraries:
1873 Please make sure you have built llvm with the --enable-shared option
1874 and that your llvm libraries are installed in $LLVM_LIBDIR
1875 If you have installed your llvm libraries to a different directory you
1876 can use the --with-llvm-prefix= configure flag to specify this directory.
1877 NOTE: Mesa is attempting to use llvm shared libraries because you have
1878 passed one of the following options to configure:
1879 --enable-llvm-shared-libs
1881 If you do not want to build with llvm shared libraries and instead want to
1882 use llvm static libraries then remove these options from your configure
1883 invocation and reconfigure.])])
1885 dnl We don't need to update LLVM_LIBS in this case because the LLVM
1886 dnl install uses a shared object for each compoenent and we have
1887 dnl already added all of these objects to LLVM_LIBS.
1892 AM_CONDITIONAL(HAVE_GALLIUM_SVGA, test "x$HAVE_GALLIUM_SVGA" = xyes)
1893 AM_CONDITIONAL(HAVE_GALLIUM_I915, test "x$HAVE_GALLIUM_I915" = xyes)
1894 AM_CONDITIONAL(HAVE_GALLIUM_ILO, test "x$HAVE_GALLIUM_ILO" = xyes)
1895 AM_CONDITIONAL(HAVE_GALLIUM_R300, test "x$HAVE_GALLIUM_R300" = xyes)
1896 AM_CONDITIONAL(HAVE_GALLIUM_R600, test "x$HAVE_GALLIUM_R600" = xyes)
1897 AM_CONDITIONAL(HAVE_GALLIUM_RADEONSI, test "x$HAVE_GALLIUM_RADEONSI" = xyes)
1898 AM_CONDITIONAL(HAVE_GALLIUM_NOUVEAU, test "x$HAVE_GALLIUM_NOUVEAU" = xyes)
1899 AM_CONDITIONAL(HAVE_GALLIUM_FREEDRENO, test "x$HAVE_GALLIUM_FREEDRENO" = xyes)
1900 AM_CONDITIONAL(HAVE_GALLIUM_SOFTPIPE, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes)
1901 AM_CONDITIONAL(HAVE_GALLIUM_LLVMPIPE, test "x$HAVE_GALLIUM_LLVMPIPE" = xyes)
1903 AM_CONDITIONAL(NEED_GALLIUM_SOFTPIPE_DRIVER, test "x$HAVE_GALLIUM_SVGA" = xyes -o \
1904 "x$HAVE_GALLIUM_I915" = xyes -o \
1905 "x$HAVE_GALLIUM_SOFTPIPE" = xyes)
1906 AM_CONDITIONAL(NEED_GALLIUM_LLVMPIPE_DRIVER, test "x$HAVE_GALLIUM_I915" = xyes -o \
1907 "x$HAVE_GALLIUM_SOFTPIPE" = xyes \
1908 && test "x$MESA_LLVM" = x1)
1910 # NOTE: anything using xcb or other client side libs ends up in separate
1911 # _CLIENT variables. The pipe loader is built in two variants,
1912 # one that is standalone and does not link any x client libs (for
1913 # use by XA tracker in particular, but could be used in any case
1914 # where communication with xserver is not desired).
1915 if test "x$enable_gallium_loader" = xyes; then
1916 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/null"
1918 if test "x$enable_gallium_xlib_loader" = xyes; then
1919 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
1920 NEED_WINSYS_XLIB="yes"
1921 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_XLIB"
1924 if test "x$enable_gallium_drm_loader" = xyes; then
1925 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_DRM"
1926 PKG_CHECK_MODULES([GALLIUM_PIPE_LOADER_XCB], [xcb xcb-dri2],
1927 pipe_loader_have_xcb=yes, pipe_loader_have_xcb=no)
1928 if test "x$pipe_loader_have_xcb" = xyes; then
1929 GALLIUM_PIPE_LOADER_CLIENT_DEFINES="$GALLIUM_PIPE_LOADER_CLIENT_DEFINES -DHAVE_PIPE_LOADER_XCB"
1930 GALLIUM_PIPE_LOADER_CLIENT_LIBS="$GALLIUM_PIPE_LOADER_CLIENT_LIBS $GALLIUM_PIPE_LOADER_XCB_LIBS $LIBDRM_LIBS"
1934 GALLIUM_PIPE_LOADER_CLIENT_DEFINES="$GALLIUM_PIPE_LOADER_CLIENT_DEFINES $GALLIUM_PIPE_LOADER_DEFINES"
1935 GALLIUM_PIPE_LOADER_CLIENT_LIBS="$GALLIUM_PIPE_LOADER_CLIENT_LIBS $GALLIUM_PIPE_LOADER_LIBS"
1937 AC_SUBST([GALLIUM_PIPE_LOADER_DEFINES])
1938 AC_SUBST([GALLIUM_PIPE_LOADER_LIBS])
1939 AC_SUBST([GALLIUM_PIPE_LOADER_CLIENT_DEFINES])
1940 AC_SUBST([GALLIUM_PIPE_LOADER_CLIENT_LIBS])
1942 AM_CONDITIONAL(NEED_PIPE_LOADER_XLIB, test "x$enable_gallium_xlib_loader" = xyes)
1944 AM_CONDITIONAL(HAVE_I915_DRI, test x$HAVE_I915_DRI = xyes)
1945 AM_CONDITIONAL(HAVE_I965_DRI, test x$HAVE_I965_DRI = xyes)
1946 AM_CONDITIONAL(HAVE_NOUVEAU_DRI, test x$HAVE_NOUVEAU_DRI = xyes)
1947 AM_CONDITIONAL(HAVE_R200_DRI, test x$HAVE_R200_DRI = xyes)
1948 AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes)
1949 AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes)
1951 AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$NEED_NONNULL_WINSYS" = xyes -a \
1952 "x$HAVE_GALLIUM_R300" = xyes -o \
1953 "x$HAVE_GALLIUM_R600" = xyes -o \
1954 "x$HAVE_GALLIUM_RADEONSI" = xyes)
1955 AM_CONDITIONAL(NEED_WINSYS_WRAPPER, test "x$HAVE_GALLIUM_I915" = xyes -o \
1956 "x$HAVE_GALLIUM_SVGA" = xyes)
1957 AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$NEED_WINSYS_XLIB" = xyes)
1958 AM_CONDITIONAL(NEED_RADEON_LLVM, test x$NEED_RADEON_LLVM = xyes)
1959 AM_CONDITIONAL(USE_R600_LLVM_COMPILER, test x$USE_R600_LLVM_COMPILER = xyes)
1960 AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes)
1961 AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes)
1962 AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
1963 AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1)
1967 AM_CONDITIONAL(DRICOMMON_NEED_LIBDRM, test "x$DRICOMMON_NEED_LIBDRM" = xyes)
1968 AM_CONDITIONAL(HAVE_LIBDRM, test "x$have_libdrm" = xyes)
1969 AM_CONDITIONAL(HAVE_X11_DRIVER, test "x$enable_xlib_glx" = xyes)
1970 AM_CONDITIONAL(HAVE_OSMESA, test "x$enable_osmesa" = xyes)
1971 AM_CONDITIONAL(HAVE_GALLIUM_OSMESA, test "x$enable_gallium_osmesa" = xyes)
1973 AM_CONDITIONAL(HAVE_X86_ASM, test "x$asm_arch" = xx86 -o "x$asm_arch" = xx86_64)
1974 AM_CONDITIONAL(HAVE_X86_64_ASM, test "x$asm_arch" = xx86_64)
1975 AM_CONDITIONAL(HAVE_SPARC_ASM, test "x$asm_arch" = xsparc)
1977 AC_SUBST([VDPAU_MAJOR], 1)
1978 AC_SUBST([VDPAU_MINOR], 0)
1980 AC_SUBST([XVMC_MAJOR], 1)
1981 AC_SUBST([XVMC_MINOR], 0)
1983 AC_SUBST([XA_MAJOR], 2)
1984 AC_SUBST([XA_MINOR], 2)
1985 AC_SUBST([XA_TINY], 0)
1986 AC_SUBST([XA_VERSION], "$XA_MAJOR.$XA_MINOR.$XA_TINY")
1988 dnl Restore LDFLAGS and CPPFLAGS
1989 LDFLAGS="$_SAVE_LDFLAGS"
1990 CPPFLAGS="$_SAVE_CPPFLAGS"
1992 dnl Suppress clang's warnings about unused CFLAGS and CXXFLAGS
1993 if test "x$acv_mesa_CLANG" = xyes; then
1994 CFLAGS="$CFLAGS -Qunused-arguments"
1995 CXXFLAGS="$CXXFLAGS -Qunused-arguments"
1998 dnl Add user CFLAGS and CXXFLAGS
1999 CFLAGS="$CFLAGS $USER_CFLAGS"
2000 CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
2002 dnl Substitute the config
2003 AC_CONFIG_FILES([Makefile
2006 src/egl/drivers/Makefile
2007 src/egl/drivers/dri2/Makefile
2008 src/egl/main/Makefile
2010 src/egl/wayland/Makefile
2011 src/egl/wayland/wayland-drm/Makefile
2012 src/egl/wayland/wayland-egl/Makefile
2013 src/egl/wayland/wayland-egl/wayland-egl.pc
2014 src/gallium/auxiliary/Makefile
2015 src/gallium/auxiliary/pipe-loader/Makefile
2016 src/gallium/drivers/Makefile
2017 src/gallium/drivers/freedreno/Makefile
2018 src/gallium/drivers/galahad/Makefile
2019 src/gallium/drivers/i915/Makefile
2020 src/gallium/drivers/identity/Makefile
2021 src/gallium/drivers/ilo/Makefile
2022 src/gallium/drivers/llvmpipe/Makefile
2023 src/gallium/drivers/noop/Makefile
2024 src/gallium/drivers/nouveau/Makefile
2025 src/gallium/drivers/r300/Makefile
2026 src/gallium/drivers/r600/Makefile
2027 src/gallium/drivers/radeon/Makefile
2028 src/gallium/drivers/radeonsi/Makefile
2029 src/gallium/drivers/rbug/Makefile
2030 src/gallium/drivers/softpipe/Makefile
2031 src/gallium/drivers/svga/Makefile
2032 src/gallium/drivers/trace/Makefile
2033 src/gallium/state_trackers/Makefile
2034 src/gallium/state_trackers/clover/Makefile
2035 src/gallium/state_trackers/dri/Makefile
2036 src/gallium/state_trackers/dri/drm/Makefile
2037 src/gallium/state_trackers/dri/sw/Makefile
2038 src/gallium/state_trackers/egl/Makefile
2039 src/gallium/state_trackers/gbm/Makefile
2040 src/gallium/state_trackers/glx/xlib/Makefile
2041 src/gallium/state_trackers/omx/Makefile
2042 src/gallium/state_trackers/osmesa/Makefile
2043 src/gallium/state_trackers/vdpau/Makefile
2044 src/gallium/state_trackers/vega/Makefile
2045 src/gallium/state_trackers/xa/Makefile
2046 src/gallium/state_trackers/xvmc/Makefile
2047 src/gallium/targets/Makefile
2048 src/gallium/targets/dri-freedreno/Makefile
2049 src/gallium/targets/dri-i915/Makefile
2050 src/gallium/targets/dri-ilo/Makefile
2051 src/gallium/targets/dri-nouveau/Makefile
2052 src/gallium/targets/dri-swrast/Makefile
2053 src/gallium/targets/dri-vmwgfx/Makefile
2054 src/gallium/targets/egl-static/Makefile
2055 src/gallium/targets/gbm/Makefile
2056 src/gallium/targets/opencl/Makefile
2057 src/gallium/targets/xa/Makefile
2058 src/gallium/targets/xa/xatracker.pc
2059 src/gallium/targets/osmesa/Makefile
2060 src/gallium/targets/osmesa/osmesa.pc
2061 src/gallium/targets/pipe-loader/Makefile
2062 src/gallium/targets/radeonsi/dri/Makefile
2063 src/gallium/targets/radeonsi/omx/Makefile
2064 src/gallium/targets/radeonsi/vdpau/Makefile
2065 src/gallium/targets/r300/dri/Makefile
2066 src/gallium/targets/r600/dri/Makefile
2067 src/gallium/targets/r600/omx/Makefile
2068 src/gallium/targets/r600/vdpau/Makefile
2069 src/gallium/targets/r600/xvmc/Makefile
2070 src/gallium/targets/libgl-xlib/Makefile
2071 src/gallium/targets/vdpau-nouveau/Makefile
2072 src/gallium/targets/xvmc-nouveau/Makefile
2073 src/gallium/tests/trivial/Makefile
2074 src/gallium/tests/unit/Makefile
2075 src/gallium/winsys/Makefile
2076 src/gallium/winsys/freedreno/drm/Makefile
2077 src/gallium/winsys/i915/drm/Makefile
2078 src/gallium/winsys/i915/sw/Makefile
2079 src/gallium/winsys/intel/drm/Makefile
2080 src/gallium/winsys/nouveau/drm/Makefile
2081 src/gallium/winsys/radeon/drm/Makefile
2082 src/gallium/winsys/svga/drm/Makefile
2083 src/gallium/winsys/sw/dri/Makefile
2084 src/gallium/winsys/sw/fbdev/Makefile
2085 src/gallium/winsys/sw/null/Makefile
2086 src/gallium/winsys/sw/wayland/Makefile
2087 src/gallium/winsys/sw/wrapper/Makefile
2088 src/gallium/winsys/sw/xlib/Makefile
2093 src/glx/tests/Makefile
2097 src/mapi/es1api/Makefile
2098 src/mapi/es1api/glesv1_cm.pc
2099 src/mapi/es2api/Makefile
2100 src/mapi/es2api/glesv2.pc
2101 src/mapi/glapi/Makefile
2102 src/mapi/glapi/gen/Makefile
2103 src/mapi/glapi/tests/Makefile
2104 src/mapi/shared-glapi/Makefile
2105 src/mapi/shared-glapi/tests/Makefile
2106 src/mapi/vgapi/Makefile
2107 src/mapi/vgapi/vg.pc
2110 src/mesa/drivers/dri/dri.pc
2111 src/mesa/drivers/dri/common/Makefile
2112 src/mesa/drivers/dri/common/xmlpool/Makefile
2113 src/mesa/drivers/dri/i915/Makefile
2114 src/mesa/drivers/dri/i965/Makefile
2115 src/mesa/drivers/dri/Makefile
2116 src/mesa/drivers/dri/nouveau/Makefile
2117 src/mesa/drivers/dri/r200/Makefile
2118 src/mesa/drivers/dri/radeon/Makefile
2119 src/mesa/drivers/dri/swrast/Makefile
2120 src/mesa/drivers/osmesa/Makefile
2121 src/mesa/drivers/osmesa/osmesa.pc
2122 src/mesa/drivers/x11/Makefile
2123 src/mesa/main/tests/Makefile
2124 src/mesa/main/tests/hash_table/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 case "x$enable_osmesa$enable_gallium_osmesa" in
2152 echo " OSMesa: lib$OSMESA_LIB (Gallium)"
2155 echo " OSMesa: lib$OSMESA_LIB"
2162 if test "x$enable_dri" != xno; then
2163 if test -z "$DRI_DIRS"; then
2164 echo " DRI drivers: no"
2166 echo " DRI drivers: $DRI_DIRS"
2168 echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
2171 case "x$enable_glx$enable_xlib_glx" in
2173 echo " GLX: Xlib-based"
2176 echo " GLX: DRI-based"
2179 echo " GLX: $enable_glx"
2185 echo " EGL: $enable_egl"
2186 if test "$enable_egl" = yes; then
2187 echo " EGL platforms: $egl_platforms"
2190 if test "x$HAVE_EGL_DRIVER_DRI2" != "x"; then
2191 egl_drivers="$egl_drivers builtin:egl_dri2"
2194 if test "x$enable_gallium_egl" = xyes; then
2195 echo " EGL drivers: ${egl_drivers} egl_gallium"
2196 echo " EGL Gallium STs:$EGL_CLIENT_APIS"
2198 echo " EGL drivers: $egl_drivers"
2203 if test "x$MESA_LLVM" = x1; then
2205 echo " llvm-config: $LLVM_CONFIG"
2206 echo " llvm-version: $LLVM_VERSION"
2212 if test -n "$with_gallium_drivers"; then
2213 echo " Gallium: yes"
2214 echo " Target dirs: $GALLIUM_TARGET_DIRS"
2215 echo " Winsys dirs: $GALLIUM_WINSYS_DIRS"
2216 echo " Driver dirs: $GALLIUM_DRIVERS_DIRS"
2217 echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS"
2225 echo " Shared libs: $enable_shared"
2226 echo " Static libs: $enable_static"
2227 echo " Shared-glapi: $enable_shared_glapi"
2229 dnl Compiler options
2230 # cleanup the CFLAGS/CXXFLAGS/DEFINES vars
2231 cflags=`echo $CFLAGS | \
2232 $SED 's/^ *//;s/ */ /;s/ *$//'`
2233 cxxflags=`echo $CXXFLAGS | \
2234 $SED 's/^ *//;s/ */ /;s/ *$//'`
2235 defines=`echo $DEFINES | $SED 's/^ *//;s/ */ /;s/ *$//'`
2237 echo " CFLAGS: $cflags"
2238 echo " CXXFLAGS: $cxxflags"
2239 echo " Macros: $defines"
2241 if test "x$MESA_LLVM" = x1; then
2242 echo " LLVM_CFLAGS: $LLVM_CFLAGS"
2243 echo " LLVM_CXXFLAGS: $LLVM_CXXFLAGS"
2244 echo " LLVM_CPPFLAGS: $LLVM_CPPFLAGS"
2247 echo " PYTHON2: $PYTHON2"
2250 echo " Run '${MAKE-make}' to build Mesa"