1 dnl Process this file with autoconf to create configure.
5 dnl Versioning - scrape the version from configs/default
6 m4_define([mesa_version],
7 [m4_esyscmd([${MAKE-make} -s -f bin/version.mk version | tr -d '\n' | tr -d '\r'])])
8 m4_ifval(mesa_version,,
9 [m4_fatal([Failed to get the Mesa version from `make -f bin/version.mk version`])])
11 dnl Tell the user about autoconf.html in the --help output
12 m4_divert_once([HELP_END], [
13 See docs/autoconf.html for more details on the options for Mesa.])
15 AC_INIT([Mesa],[mesa_version],
16 [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
17 AC_CONFIG_AUX_DIR([bin])
20 dnl Versions for external dependencies
21 LIBDRM_REQUIRED=2.4.24
22 LIBDRM_RADEON_REQUIRED=2.4.24
23 LIBDRM_INTEL_REQUIRED=2.4.24
24 LIBDRM_NOUVEAU_REQUIRED=0.6
25 DRI2PROTO_REQUIRED=2.1
26 GLPROTO_REQUIRED=1.4.11
27 LIBDRM_XORG_REQUIRED=2.4.24
28 LIBKMS_XORG_REQUIRED=1.0.0
34 AC_CHECK_PROGS([MAKE], [gmake make])
35 AC_CHECK_PROGS([PYTHON2], [python2 python])
36 AC_PATH_PROG([MKDEP], [makedepend])
37 AC_PATH_PROG([SED], [sed])
39 if test "x$MKDEP" = "x"; then
40 AC_MSG_ERROR([makedepend is required to build Mesa])
43 AC_PATH_PROG([FLEX], [flex])
44 test "x$FLEX" = "x" && AC_MSG_ERROR([flex is needed to build Mesa])
46 AC_PATH_PROG([BISON], [bison])
47 test "x$BISON" = "x" && AC_MSG_ERROR([bison is needed to build Mesa])
49 dnl Our fallback install-sh is a symlink to minstall. Use the existing
50 dnl configuration in that case.
52 test "x$INSTALL" = "x$ac_install_sh" && INSTALL='$(MINSTALL)'
54 dnl We need a POSIX shell for parts of the build. Assume we have one
58 # Solaris /bin/sh is too old/non-POSIX compliant
59 AC_PATH_PROGS(POSIX_SHELL, [ksh93 ksh sh])
64 dnl clang is mostly GCC-compatible, but its version is much lower,
65 dnl so we have to check for it.
66 AC_MSG_CHECKING([if compiling with clang])
69 [AC_LANG_PROGRAM([], [[
74 [CLANG=yes], [CLANG=no])
76 AC_MSG_RESULT([$CLANG])
78 dnl If we're using GCC, make sure that it is at least version 3.3.0. Older
79 dnl versions are explictly not supported.
80 if test "x$GCC" = xyes -a "x$CLANG" = xno; then
81 AC_MSG_CHECKING([whether gcc version is sufficient])
85 GCC_VERSION=`$CC -dumpversion`
86 if test $? -eq 0; then
87 major=`echo $GCC_VERSION | cut -d. -f1`
88 minor=`echo $GCC_VERSION | cut -d. -f1`
91 if test $major -lt 3 -o $major -eq 3 -a $minor -lt 3 ; then
93 AC_MSG_ERROR([If using GCC, version 3.3.0 or later is required.])
100 MKDEP_OPTIONS=-fdepend
101 dnl Ask gcc where it's keeping its secret headers
102 if test "x$GCC" = xyes; then
103 for dir in include include-fixed; do
104 GCC_INCLUDES=`$CC -print-file-name=$dir`
105 if test "x$GCC_INCLUDES" != x && \
106 test "$GCC_INCLUDES" != "$dir" && \
107 test -d "$GCC_INCLUDES"; then
108 MKDEP_OPTIONS="$MKDEP_OPTIONS -I$GCC_INCLUDES"
112 AC_SUBST([MKDEP_OPTIONS])
114 dnl Make sure the pkg-config macros are defined
115 m4_ifndef([PKG_PROG_PKG_CONFIG],
116 [m4_fatal([Could not locate the pkg-config autoconf macros.
117 These are usually located in /usr/share/aclocal/pkg.m4. If your macros
118 are in a different location, try setting the environment variable
119 ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
120 PKG_PROG_PKG_CONFIG()
122 dnl LIB_DIR - library basename
123 LIB_DIR=`echo $libdir | $SED 's%.*/%%'`
126 dnl Cache LDFLAGS so we can add EXTRA_LIB_PATH and restore it later
127 _SAVE_LDFLAGS="$LDFLAGS"
128 AC_ARG_VAR([EXTRA_LIB_PATH],[Extra -L paths for the linker])
129 AC_SUBST([EXTRA_LIB_PATH])
131 dnl Cache CPPFLAGS so we can add *_INCLUDES and restore it later
132 _SAVE_CPPFLAGS="$CPPFLAGS"
133 AC_ARG_VAR([X11_INCLUDES],[Extra -I paths for X11 headers])
134 AC_SUBST([X11_INCLUDES])
141 DEFINES="$DEFINES -D_GNU_SOURCE -DPTHREADS"
144 DEFINES="$DEFINES -DPTHREADS -DSVR4"
147 DEFINES="$DEFINES -DPTHREADS"
151 dnl Add flags for gcc and g++
152 if test "x$GCC" = xyes; then
153 CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -std=c99"
154 if test "x$CLANG" = "xno"; then
155 CFLAGS="$CFLAGS -ffast-math"
158 # Enable -fvisibility=hidden if using a gcc that supports it
159 save_CFLAGS="$CFLAGS"
160 AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
161 VISIBILITY_CFLAGS="-fvisibility=hidden"
162 CFLAGS="$CFLAGS $VISIBILITY_CFLAGS"
163 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
164 [VISIBILITY_CFLAGS=""; AC_MSG_RESULT([no])]);
166 # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed.
169 # Work around aliasing bugs - developers should comment this out
170 CFLAGS="$CFLAGS -fno-strict-aliasing"
172 if test "x$GXX" = xyes; then
173 CXXFLAGS="$CXXFLAGS -Wall"
175 # Enable -fvisibility=hidden if using a gcc that supports it
176 save_CXXFLAGS="$CXXFLAGS"
177 AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
178 VISIBILITY_CXXFLAGS="-fvisibility=hidden"
179 CXXFLAGS="$CXXFLAGS $VISIBILITY_CXXFLAGS"
181 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
182 [VISIBILITY_CXXFLAGS="" ; AC_MSG_RESULT([no])]);
185 # Restore CXXFLAGS; VISIBILITY_CXXFLAGS are added to it where needed.
186 CXXFLAGS=$save_CXXFLAGS
188 # Work around aliasing bugs - developers should comment this out
189 CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
192 dnl even if the compiler appears to support it, using visibility attributes isn't
193 dnl going to do anything useful currently on cygwin apart from emit lots of warnings
197 VISIBILITY_CXXFLAGS=""
201 AC_SUBST([VISIBILITY_CFLAGS])
202 AC_SUBST([VISIBILITY_CXXFLAGS])
204 dnl These should be unnecessary, but let the user set them if they want
205 AC_ARG_VAR([OPT_FLAGS], [Additional optimization flags for the compiler.
206 Default is to use CFLAGS.])
207 AC_ARG_VAR([ARCH_FLAGS], [Additional architecture specific flags for the
208 compiler. Default is to use CFLAGS.])
209 AC_SUBST([OPT_FLAGS])
210 AC_SUBST([ARCH_FLAGS])
213 dnl Hacks to enable 32 or 64 bit build
215 AC_ARG_ENABLE([32-bit],
216 [AS_HELP_STRING([--enable-32-bit],
217 [build 32-bit libraries @<:@default=auto@:>@])],
218 [enable_32bit="$enableval"],
221 if test "x$enable_32bit" = xyes; then
222 if test "x$GCC" = xyes; then
223 CFLAGS="$CFLAGS -m32"
224 ARCH_FLAGS="$ARCH_FLAGS -m32"
226 if test "x$GXX" = xyes; then
227 CXXFLAGS="$CXXFLAGS -m32"
230 AC_ARG_ENABLE([64-bit],
231 [AS_HELP_STRING([--enable-64-bit],
232 [build 64-bit libraries @<:@default=auto@:>@])],
233 [enable_64bit="$enableval"],
236 if test "x$enable_64bit" = xyes; then
237 if test "x$GCC" = xyes; then
238 CFLAGS="$CFLAGS -m64"
240 if test "x$GXX" = xyes; then
241 CXXFLAGS="$CXXFLAGS -m64"
246 dnl shared/static libraries, mimic libtool options
248 AC_ARG_ENABLE([static],
249 [AS_HELP_STRING([--enable-static],
250 [build static libraries @<:@default=disabled@:>@])],
251 [enable_static="$enableval"],
254 case "x$enable_static" in
256 x ) enable_static=no ;;
258 AC_MSG_ERROR([Static library option '$enable_static' is not a valid])
261 AC_ARG_ENABLE([shared],
262 [AS_HELP_STRING([--disable-shared],
263 [build shared libraries @<:@default=enabled@:>@])],
264 [enable_shared="$enableval"],
267 case "x$enable_shared" in
269 x ) enable_shared=yes ;;
271 AC_MSG_ERROR([Shared library option '$enable_shared' is not a valid])
275 dnl Can't have static and shared libraries, default to static if user
276 dnl explicitly requested. If both disabled, set to static since shared
277 dnl was explicitly requirested.
278 case "x$enable_static$enable_shared" in
280 AC_MSG_WARN([Can't build static and shared libraries, disabling shared])
284 AC_MSG_WARN([Can't disable both static and shared libraries, enabling static])
292 AC_ARG_VAR([MKLIB_OPTIONS],[Options for the Mesa library script, mklib])
293 if test "$enable_static" = yes; then
294 MKLIB_OPTIONS="$MKLIB_OPTIONS -static"
296 AC_SUBST([MKLIB_OPTIONS])
299 dnl other compiler options
301 AC_ARG_ENABLE([debug],
302 [AS_HELP_STRING([--enable-debug],
303 [use debug compiler flags and macros @<:@default=disabled@:>@])],
304 [enable_debug="$enableval"],
307 if test "x$enable_debug" = xyes; then
308 DEFINES="$DEFINES -DDEBUG"
309 if test "x$GCC" = xyes; then
312 if test "x$GXX" = xyes; then
313 CXXFLAGS="$CXXFLAGS -g"
320 LIB_PREFIX_GLOB='lib'
321 LIB_VERSION_SEPARATOR='.'
322 if test "$enable_static" = yes; then
327 LIB_EXTENSION='dylib' ;;
329 dnl prefix can be 'cyg' or 'lib'
330 LIB_PREFIX_GLOB='???'
331 LIB_VERSION_SEPARATOR='-'
332 LIB_EXTENSION='dll' ;;
336 LIB_EXTENSION='so' ;;
341 dnl potentially-infringing-but-nobody-knows-for-sure stuff
343 AC_ARG_ENABLE([texture-float],
344 [AS_HELP_STRING([--enable-texture-float],
345 [enable floating-point textures and renderbuffers @<:@default=disabled@:>@])],
346 [enable_texture_float="$enableval"],
347 [enable_texture_float=no]
349 if test "x$enable_texture_float" = xyes; then
350 AC_MSG_WARN([Floating-point textures enabled.])
351 AC_MSG_WARN([Please consult docs/patents.txt with your lawyer before building Mesa.])
352 DEFINES="$DEFINES -DTEXTURE_FLOAT_ENABLED"
355 GL_LIB_NAME='lib$(GL_LIB).'${LIB_EXTENSION}
356 GLU_LIB_NAME='lib$(GLU_LIB).'${LIB_EXTENSION}
357 GLUT_LIB_NAME='lib$(GLUT_LIB).'${LIB_EXTENSION}
358 GLW_LIB_NAME='lib$(GLW_LIB).'${LIB_EXTENSION}
359 OSMESA_LIB_NAME='lib$(OSMESA_LIB).'${LIB_EXTENSION}
360 EGL_LIB_NAME='lib$(EGL_LIB).'${LIB_EXTENSION}
361 GLESv1_CM_LIB_NAME='lib$(GLESv1_CM_LIB).'${LIB_EXTENSION}
362 GLESv2_LIB_NAME='lib$(GLESv2_LIB).'${LIB_EXTENSION}
363 VG_LIB_NAME='lib$(VG_LIB).'${LIB_EXTENSION}
364 GLAPI_LIB_NAME='lib$(GLAPI_LIB).'${LIB_EXTENSION}
365 WAYLAND_EGL_LIB_NAME='lib$(WAYLAND_EGL_LIB).'${LIB_EXTENSION}
366 GBM_LIB_NAME='lib$(GBM_LIB).'${LIB_EXTENSION}
368 GL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
369 GLU_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLU_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
370 GLUT_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLUT_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
371 GLW_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLW_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
372 OSMESA_LIB_GLOB=${LIB_PREFIX_GLOB}'$(OSMESA_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
373 EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
374 EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
375 GLESv1_CM_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv1_CM_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
376 GLESv2_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv2_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
377 VG_LIB_GLOB=${LIB_PREFIX_GLOB}'$(VG_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
378 GLAPI_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLAPI_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
379 WAYLAND_EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(WAYLAND_EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
380 GBM_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GBM_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
382 AC_SUBST([GL_LIB_NAME])
383 AC_SUBST([GLU_LIB_NAME])
384 AC_SUBST([GLUT_LIB_NAME])
385 AC_SUBST([GLW_LIB_NAME])
386 AC_SUBST([OSMESA_LIB_NAME])
387 AC_SUBST([EGL_LIB_NAME])
388 AC_SUBST([GLESv1_CM_LIB_NAME])
389 AC_SUBST([GLESv2_LIB_NAME])
390 AC_SUBST([VG_LIB_NAME])
391 AC_SUBST([GLAPI_LIB_NAME])
392 AC_SUBST([WAYLAND_EGL_LIB_NAME])
393 AC_SUBST([GBM_LIB_NAME])
395 AC_SUBST([GL_LIB_GLOB])
396 AC_SUBST([GLU_LIB_GLOB])
397 AC_SUBST([GLUT_LIB_GLOB])
398 AC_SUBST([GLW_LIB_GLOB])
399 AC_SUBST([OSMESA_LIB_GLOB])
400 AC_SUBST([EGL_LIB_GLOB])
401 AC_SUBST([GLESv1_CM_LIB_GLOB])
402 AC_SUBST([GLESv2_LIB_GLOB])
403 AC_SUBST([VG_LIB_GLOB])
404 AC_SUBST([GLAPI_LIB_GLOB])
405 AC_SUBST([WAYLAND_EGL_LIB_GLOB])
406 AC_SUBST([GBM_LIB_GLOB])
409 dnl Arch/platform-specific settings
412 [AS_HELP_STRING([--disable-asm],
413 [disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
414 [enable_asm="$enableval"],
421 AC_MSG_CHECKING([whether to enable assembly])
422 test "x$enable_asm" = xno && AC_MSG_RESULT([no])
423 # disable if cross compiling on x86/x86_64 since we must run gen_matypes
424 if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
428 AC_MSG_RESULT([no, cross compiling])
432 # check for supported arches
433 if test "x$enable_asm" = xyes; then
437 linux* | *freebsd* | dragonfly* | *netbsd*)
438 test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86
444 linux* | *freebsd* | dragonfly* | *netbsd*)
445 test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
467 ASM_FLAGS="-DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
468 MESA_ASM_SOURCES='$(X86_SOURCES)'
469 GLAPI_ASM_SOURCES='$(X86_API)'
470 AC_MSG_RESULT([yes, x86])
473 ASM_FLAGS="-DUSE_X86_64_ASM"
474 MESA_ASM_SOURCES='$(X86-64_SOURCES)'
475 GLAPI_ASM_SOURCES='$(X86-64_API)'
476 AC_MSG_RESULT([yes, x86_64])
479 ASM_FLAGS="-DUSE_PPC_ASM -DUSE_VMX_ASM"
480 MESA_ASM_SOURCES='$(PPC_SOURCES)'
481 AC_MSG_RESULT([yes, ppc])
484 ASM_FLAGS="-DUSE_SPARC_ASM"
485 MESA_ASM_SOURCES='$(SPARC_SOURCES)'
486 GLAPI_ASM_SOURCES='$(SPARC_API)'
487 AC_MSG_RESULT([yes, sparc])
490 AC_MSG_RESULT([no, platform not supported])
494 AC_SUBST([ASM_FLAGS])
495 AC_SUBST([MESA_ASM_SOURCES])
496 AC_SUBST([GLAPI_ASM_SOURCES])
501 dnl Check to see if dlopen is in default libraries (like Solaris, which
502 dnl has it in libc), or if libdl is needed to get it.
503 AC_CHECK_FUNC([dlopen], [],
504 [AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])])
505 AC_SUBST([DLOPEN_LIBS])
507 dnl See if posix_memalign is available
508 AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
510 dnl SELinux awareness.
511 AC_ARG_ENABLE([selinux],
512 [AS_HELP_STRING([--enable-selinux],
513 [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
514 [MESA_SELINUX="$enableval"],
516 if test "x$enable_selinux" = "xyes"; then
517 AC_CHECK_HEADER([selinux/selinux.h],[],
518 [AC_MSG_ERROR([SELinux headers not found])])
519 AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
520 [AC_MSG_ERROR([SELinux library not found])])
521 SELINUX_LIBS="-lselinux"
522 DEFINES="$DEFINES -DMESA_SELINUX"
526 AC_ARG_ENABLE([opengl],
527 [AS_HELP_STRING([--disable-opengl],
528 [disable support for standard OpenGL API @<:@default=no@:>@])],
529 [enable_opengl="$enableval"],
531 AC_ARG_ENABLE([gles1],
532 [AS_HELP_STRING([--enable-gles1],
533 [enable support for OpenGL ES 1.x API @<:@default=no@:>@])],
534 [enable_gles1="$enableval"],
536 AC_ARG_ENABLE([gles2],
537 [AS_HELP_STRING([--enable-gles2],
538 [enable support for OpenGL ES 2.x API @<:@default=no@:>@])],
539 [enable_gles2="$enableval"],
541 AC_ARG_ENABLE([openvg],
542 [AS_HELP_STRING([--enable-openvg],
543 [enable support for OpenVG API @<:@default=no@:>@])],
544 [enable_openvg="$enableval"],
546 AC_ARG_ENABLE([xorg],
547 [AS_HELP_STRING([--enable-xorg],
548 [enable support for X.Org DDX API @<:@default=no@:>@])],
549 [enable_xorg="$enableval"],
551 AC_ARG_ENABLE([d3d1x],
552 [AS_HELP_STRING([--enable-d3d1x],
553 [enable support for Direct3D 10 & 11 low-level API @<:@default=no@:>@])],
554 [enable_d3d1x="$enableval"],
557 [AS_HELP_STRING([--disable-egl],
558 [disable EGL library @<:@default=enabled@:>@])],
559 [enable_egl="$enableval"],
562 [AS_HELP_STRING([--enable-gbm],
563 [enable gbm library @<:@default=auto@:>@])],
564 [enable_gbm="$enableval"],
566 AC_ARG_ENABLE([gallium_egl],
567 [AS_HELP_STRING([--enable-gallium-egl],
568 [enable optional EGL state tracker (not required
569 for EGL support in Gallium with OpenGL and OpenGL ES)
570 @<:@default=disable@:>@])],
571 [enable_gallium_egl="$enableval"],
572 [enable_gallium_egl=no])
573 AC_ARG_ENABLE([gallium_gbm],
574 [AS_HELP_STRING([--enable-gallium-gbm],
575 [enable optional gbm state tracker (not required for
576 gbm support in Gallium)
577 @<:@default=disable@:>@])],
578 [enable_gallium_gbm="$enableval"],
579 [enable_gallium_gbm=no])
581 # Option for Gallium drivers
582 GALLIUM_DRIVERS_DEFAULT="r300,r600,swrast"
584 AC_ARG_WITH([gallium-drivers],
585 [AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@],
586 [comma delimited Gallium drivers list, e.g.
587 "i915,i965,nouveau,r300,r600,svga,swrast"
588 @<:@default=r300,r600,swrast@:>@])],
589 [with_gallium_drivers="$withval"],
590 [with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"])
592 if test "x$enable_opengl" = xno -a \
593 "x$enable_gles1" = xno -a \
594 "x$enable_gles2" = xno -a \
595 "x$enable_openvg" = xno -a \
596 "x$enable_xorg" = xno -a \
597 "x$enable_d3d1x" = xno; then
598 AC_MSG_ERROR([at least one API should be enabled])
602 if test "x$enable_opengl" = xno; then
603 API_DEFINES="$API_DEFINES -DFEATURE_GL=0"
605 API_DEFINES="$API_DEFINES -DFEATURE_GL=1"
607 if test "x$enable_gles1" = xyes; then
608 API_DEFINES="$API_DEFINES -DFEATURE_ES1=1"
610 if test "x$enable_gles2" = xyes; then
611 API_DEFINES="$API_DEFINES -DFEATURE_ES2=1"
613 AC_SUBST([API_DEFINES])
615 AC_ARG_ENABLE([shared-glapi],
616 [AS_HELP_STRING([--enable-shared-glapi],
617 [EXPERIMENTAL. Enable shared glapi for OpenGL @<:@default=no@:>@])],
618 [enable_shared_glapi="$enableval"],
619 [enable_shared_glapi=no])
622 if test "x$enable_shared_glapi" = xyes; then
625 AC_SUBST([SHARED_GLAPI])
628 dnl Driver configuration. Options are xlib, dri and osmesa right now.
629 dnl More later: fbdev, ...
631 default_driver="xlib"
636 i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
639 *freebsd* | dragonfly* | *netbsd*)
641 i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
646 if test "x$enable_opengl" = xno; then
650 AC_ARG_WITH([driver],
651 [AS_HELP_STRING([--with-driver=DRIVER],
652 [driver for Mesa: xlib,dri,osmesa @<:@default=dri when available, or xlib@:>@])],
653 [mesa_driver="$withval"],
654 [mesa_driver="$default_driver"])
655 dnl Check for valid option
656 case "x$mesa_driver" in
658 if test "x$enable_opengl" = xno; then
659 AC_MSG_ERROR([Driver '$mesa_driver' requires OpenGL enabled])
665 AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option])
670 dnl Driver specific build directories
673 dnl this variable will be prepended to SRC_DIRS and is not exported
678 GALLIUM_DIRS="auxiliary drivers state_trackers"
679 GALLIUM_TARGET_DIRS=""
680 GALLIUM_WINSYS_DIRS="sw"
681 GALLIUM_DRIVERS_DIRS="softpipe failover galahad trace rbug noop identity"
682 GALLIUM_STATE_TRACKERS_DIRS=""
684 # build shared-glapi if enabled for OpenGL or if OpenGL ES is enabled
685 case "x$enable_shared_glapi$enable_gles1$enable_gles2" in
687 CORE_DIRS="$CORE_DIRS mapi/shared-glapi"
691 # build glapi if OpenGL is enabled
692 if test "x$enable_opengl" = xyes; then
693 CORE_DIRS="$CORE_DIRS mapi/glapi"
696 # build es1api if OpenGL ES 1.x is enabled
697 if test "x$enable_gles1" = xyes; then
698 CORE_DIRS="$CORE_DIRS mapi/es1api"
701 # build es2api if OpenGL ES 2.x is enabled
702 if test "x$enable_gles2" = xyes; then
703 CORE_DIRS="$CORE_DIRS mapi/es2api"
706 # build glsl and mesa if OpenGL or OpenGL ES is enabled
707 case "x$enable_opengl$enable_gles1$enable_gles2" in
709 CORE_DIRS="$CORE_DIRS glsl mesa"
713 case "$mesa_driver" in
716 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
717 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
718 GALLIUM_STATE_TRACKERS_DIRS="glx $GALLIUM_STATE_TRACKERS_DIRS"
721 SRC_DIRS="$SRC_DIRS glx"
723 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib sw/dri"
724 GALLIUM_STATE_TRACKERS_DIRS="dri $GALLIUM_STATE_TRACKERS_DIRS"
736 AC_SUBST([DRIVER_DIRS])
737 AC_SUBST([GALLIUM_DIRS])
738 AC_SUBST([GALLIUM_TARGET_DIRS])
739 AC_SUBST([GALLIUM_WINSYS_DIRS])
740 AC_SUBST([GALLIUM_DRIVERS_DIRS])
741 AC_SUBST([GALLIUM_STATE_TRACKERS_DIRS])
742 AC_SUBST([MESA_LLVM])
745 dnl Find out if X is available. The variable have_x is set if libX11 is
746 dnl found to mimic AC_PATH_XTRA.
748 if test -n "$PKG_CONFIG"; then
749 AC_MSG_CHECKING([pkg-config files for X11 are available])
750 PKG_CHECK_EXISTS([x11],[
756 AC_MSG_RESULT([$x11_pkgconfig])
760 dnl Use the autoconf macro if no pkg-config files
761 if test "$x11_pkgconfig" = yes; then
762 PKG_CHECK_MODULES([X11], [x11])
765 test -z "$X11_CFLAGS" && X11_CFLAGS="$X_CFLAGS"
766 test -z "$X11_LIBS" && X11_LIBS="$X_LIBS -lX11"
767 AC_SUBST([X11_CFLAGS])
771 dnl Try to tell the user that the --x-* options are only used when
772 dnl pkg-config is not available. This must be right after AC_PATH_XTRA.
773 m4_divert_once([HELP_BEGIN],
774 [These options are only used when the X libraries cannot be found by the
775 pkg-config utility.])
777 dnl We need X for xlib and dri, so bomb now if it's not found
778 case "$mesa_driver" in
780 if test "$no_x" = yes; then
781 AC_MSG_ERROR([X11 development libraries needed for $mesa_driver driver])
786 dnl XCB - this is only used for GLX right now
788 [AS_HELP_STRING([--enable-xcb],
789 [use XCB for GLX @<:@default=disabled@:>@])],
790 [enable_xcb="$enableval"],
792 if test "x$enable_xcb" = xyes; then
793 DEFINES="$DEFINES -DUSE_XCB"
798 dnl Direct rendering or just indirect rendering
801 dnl Disable by default on GNU/Hurd
802 driglx_direct_default="no"
805 dnl Disable by default on cygwin
806 driglx_direct_default="no"
809 driglx_direct_default="yes"
812 AC_ARG_ENABLE([driglx-direct],
813 [AS_HELP_STRING([--disable-driglx-direct],
814 [enable direct rendering in GLX and EGL for DRI \
815 @<:@default=auto@:>@])],
816 [driglx_direct="$enableval"],
817 [driglx_direct="$driglx_direct_default"])
820 dnl libGL configuration per driver
822 case "$mesa_driver" in
824 if test "$x11_pkgconfig" = yes; then
825 PKG_CHECK_MODULES([XLIBGL], [x11 xext])
826 GL_PC_REQ_PRIV="x11 xext"
827 X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
828 GL_LIB_DEPS="$XLIBGL_LIBS"
830 # should check these...
831 X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
832 GL_LIB_DEPS="$X_LIBS -lX11 -lXext"
833 GL_PC_LIB_PRIV="$GL_LIB_DEPS"
834 GL_PC_CFLAGS="$X11_INCLUDES"
836 GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread"
837 GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm -lpthread"
839 # if static, move the external libraries to the programs
840 # and empty the libraries for libGL
841 if test "$enable_static" = yes; then
842 APP_LIB_DEPS="$APP_LIB_DEPS $GL_LIB_DEPS"
846 dri|no) # these checks are still desired when there is no mesa_driver
847 # DRI must be shared, I think
848 if test "$enable_static" = yes; then
849 AC_MSG_ERROR([Can't use static libraries for DRI drivers])
852 PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
853 GL_PC_REQ_PRIV="glproto >= $GLPROTO_REQUIRED"
856 if test x"$driglx_direct" = xyes; then
858 PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
859 PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
860 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED"
861 DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
864 # find the DRI deps for libGL
865 if test "$x11_pkgconfig" = yes; then
866 dri_modules="x11 xext xdamage xfixes"
868 # add xf86vidmode if available
869 PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no)
870 if test "$HAVE_XF86VIDMODE" = yes ; then
871 dri_modules="$dri_modules xxf86vm"
874 # add xcb modules if necessary
875 if test "$enable_xcb" = yes; then
876 dri_modules="$dri_modules x11-xcb xcb-glx"
879 PKG_CHECK_MODULES([DRIGL], [$dri_modules])
880 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
881 X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
882 GL_LIB_DEPS="$DRIGL_LIBS"
884 # should check these...
885 X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
886 if test "x$HAVE_XF86VIDMODE" == xyes; then
887 GL_LIB_DEPS="$X_LIBS -lX11 -lXext -lXxf86vm -lXdamage -lXfixes"
889 GL_LIB_DEPS="$X_LIBS -lX11 -lXext -lXdamage -lXfixes"
891 GL_PC_LIB_PRIV="$GL_LIB_DEPS"
892 GL_PC_CFLAGS="$X11_INCLUDES"
894 # XCB can only be used from pkg-config
895 if test "$enable_xcb" = yes; then
896 PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx])
897 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV x11-xcb xcb-glx"
898 X11_INCLUDES="$X11_INCLUDES $XCB_CFLAGS"
899 GL_LIB_DEPS="$GL_LIB_DEPS $XCB_LIBS"
903 # need DRM libs, -lpthread, etc.
904 GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
905 GL_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
906 GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
907 GLESv1_CM_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
908 GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
909 GLESv2_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
912 # No libGL for osmesa
916 AC_SUBST([GL_LIB_DEPS])
917 AC_SUBST([GL_PC_REQ_PRIV])
918 AC_SUBST([GL_PC_LIB_PRIV])
919 AC_SUBST([GL_PC_CFLAGS])
920 AC_SUBST([DRI_PC_REQ_PRIV])
921 AC_SUBST([GLESv1_CM_LIB_DEPS])
922 AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
923 AC_SUBST([GLESv2_LIB_DEPS])
924 AC_SUBST([GLESv2_PC_LIB_PRIV])
926 GLAPI_LIB_DEPS="-lpthread"
927 AC_SUBST([GLAPI_LIB_DEPS])
930 dnl Setup default DRI CFLAGS
931 DRI_CFLAGS='$(CFLAGS)'
932 DRI_CXXFLAGS='$(CXXFLAGS)'
933 DRI_LIB_DEPS='$(TOP)/src/mesa/libmesa.a'
934 MESA_MODULES='$(TOP)/src/mesa/libmesa.a'
936 AC_ARG_ENABLE([shared-dricore],
937 [AS_HELP_STRING([--enable-shared-dricore],
938 [link DRI modules with shared core DRI routines @<:@default=disabled@:>@])],
939 [enable_dricore="$enableval"],
941 if test "$mesa_driver" = dri ; then
942 if test "$enable_dricore" = yes ; then
943 if test "$GCC$GXX" != yesyes ; then
944 AC_MSG_WARN([Shared dricore requires GCC-compatible rpath handling. Disabling shared dricore])
947 DRICORE_GLSL_LIBS='$(TOP)/$(LIB_DIR)/libglsl.so'
948 DRICORE_LIBS='$(TOP)/$(LIB_DIR)/libdricore.so'
949 DRICORE_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -lglsl'
950 DRI_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore -lglsl'
951 DRI_CFLAGS='$(CFLAGS_NOVISIBILITY) -DUSE_DRICORE'
952 DRI_CXXFLAGS='$(CXXFLAGS_NOVISIBILITY) -DUSE_DRICORE'
953 MESA_MODULES='$(DRICORE_LIBS) $(DRICORE_GLSL_LIBS)'
957 AC_SUBST([DRICORE_LIBS])
958 AC_SUBST([DRICORE_GLSL_LIBS])
959 AC_SUBST([DRICORE_LIB_DEPS])
960 AC_SUBST([DRI_CXXFLAGS])
961 AC_SUBST([DRI_CFLAGS])
962 AC_SUBST([MESA_MODULES])
964 AC_SUBST([HAVE_XF86VIDMODE])
966 PKG_CHECK_MODULES([LIBDRM_RADEON],
967 [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED],
968 HAVE_LIBDRM_RADEON=yes,
969 HAVE_LIBDRM_RADEON=no)
974 if test "$mesa_driver" = xlib; then
975 DEFINES="$DEFINES -DUSE_XSHM"
982 AC_ARG_ENABLE([glx-tls],
983 [AS_HELP_STRING([--enable-glx-tls],
984 [enable TLS support in GLX @<:@default=disabled@:>@])],
985 [GLX_USE_TLS="$enableval"],
987 AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
989 AS_IF([test "x$GLX_USE_TLS" = xyes],
990 [DEFINES="${DEFINES} -DGLX_USE_TLS -DPTHREADS"])
995 dnl Directory for DRI drivers
996 AC_ARG_WITH([dri-driverdir],
997 [AS_HELP_STRING([--with-dri-driverdir=DIR],
998 [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
999 [DRI_DRIVER_INSTALL_DIR="$withval"],
1000 [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
1001 AC_SUBST([DRI_DRIVER_INSTALL_DIR])
1002 dnl Extra search path for DRI drivers
1003 AC_ARG_WITH([dri-searchpath],
1004 [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
1005 [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
1006 [DRI_DRIVER_SEARCH_DIR="$withval"],
1007 [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
1008 AC_SUBST([DRI_DRIVER_SEARCH_DIR])
1009 dnl Which drivers to build - default is chosen by platform
1010 AC_ARG_WITH([dri-drivers],
1011 [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
1012 [comma delimited DRI drivers list, e.g.
1013 "swrast,i965,radeon" @<:@default=auto@:>@])],
1014 [with_dri_drivers="$withval"],
1015 [with_dri_drivers=yes])
1016 if test "x$with_dri_drivers" = x; then
1020 dnl If $with_dri_drivers is yes, directories will be added through
1023 case "$with_dri_drivers" in
1029 # verify the requested driver directories exist
1030 dri_drivers=`IFS=', '; echo $with_dri_drivers`
1031 for driver in $dri_drivers; do
1032 test -d "$srcdir/src/mesa/drivers/dri/$driver" || \
1033 AC_MSG_ERROR([DRI driver directory '$driver' doesn't exist])
1035 DRI_DIRS="$dri_drivers"
1039 dnl Set DRI_DIRS, DEFINES and LIB_DEPS
1040 if test "$mesa_driver" = dri -o "$mesa_driver" = no; then
1041 # Platform specific settings and drivers to build
1044 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1045 if test "x$driglx_direct" = xyes; then
1046 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1048 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
1052 # sis is missing because they have not be converted to use
1053 # the new interface. i810 are missing because there is no
1054 # x86-64 system where they could *ever* be used.
1055 if test "x$DRI_DIRS" = "xyes"; then
1056 DRI_DIRS="i915 i965 mach64 mga nouveau r128 r200 r300 r600 \
1057 radeon savage tdfx unichrome swrast"
1061 # Build only the drivers for cards that exist on PowerPC.
1062 # At some point MGA will be added, but not yet.
1063 if test "x$DRI_DIRS" = "xyes"; then
1064 DRI_DIRS="mach64 r128 r200 r300 r600 radeon tdfx swrast"
1068 # Build only the drivers for cards that exist on sparc`
1069 if test "x$DRI_DIRS" = "xyes"; then
1070 DRI_DIRS="mach64 r128 r200 r300 r600 radeon swrast"
1075 freebsd* | dragonfly* | *netbsd*)
1076 DEFINES="$DEFINES -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1"
1077 DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS"
1078 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1079 if test "x$driglx_direct" = xyes; then
1080 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1083 if test "x$DRI_DIRS" = "xyes"; then
1084 DRI_DIRS="i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 \
1085 radeon tdfx unichrome savage sis swrast"
1089 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1090 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
1093 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1094 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1095 if test "x$driglx_direct" = xyes; then
1096 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1100 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1101 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1102 if test "x$driglx_direct" = xyes; then
1103 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1105 if test "x$DRI_DIRS" = "xyes"; then
1112 if test "x$DRI_DIRS" = "xyes"; then
1113 DRI_DIRS="i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 radeon \
1114 savage sis tdfx unichrome swrast"
1117 DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'`
1120 if test "$mesa_driver" = dri; then
1123 AC_ARG_WITH([expat],
1124 [AS_HELP_STRING([--with-expat=DIR],
1125 [expat install directory])],[
1126 EXPAT_INCLUDES="-I$withval/include"
1127 CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES"
1128 LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR"
1129 EXPAT_LIB="-L$withval/$LIB_DIR -lexpat"
1131 AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])])
1132 AC_CHECK_LIB([expat],[XML_ParserCreate],[],
1133 [AC_MSG_ERROR([Expat required for DRI.])])
1136 # put all the necessary libs together, including possibly libdricore
1137 DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread $DLOPEN_LIBS"
1139 AC_SUBST([DRI_DIRS])
1140 AC_SUBST([EXPAT_INCLUDES])
1141 AC_SUBST([DRI_LIB_DEPS])
1145 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1151 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
1156 *radeon*|*r200*|*r300*|*r600*)
1157 if test "x$HAVE_LIBDRM_RADEON" = xyes; then
1158 RADEON_CFLAGS="-DHAVE_LIBDRM_RADEON=1 $LIBDRM_RADEON_CFLAGS"
1159 RADEON_LDFLAGS=$LIBDRM_RADEON_LIBS
1163 AC_SUBST([RADEON_CFLAGS])
1164 AC_SUBST([RADEON_LDFLAGS])
1168 dnl OSMesa configuration
1170 if test "$mesa_driver" = xlib; then
1171 default_gl_osmesa=yes
1173 default_gl_osmesa=no
1175 AC_ARG_ENABLE([gl-osmesa],
1176 [AS_HELP_STRING([--enable-gl-osmesa],
1177 [enable OSMesa with libGL @<:@default=enabled for xlib driver@:>@])],
1178 [gl_osmesa="$enableval"],
1179 [gl_osmesa="$default_gl_osmesa"])
1180 if test "x$gl_osmesa" = xyes; then
1181 if test "x$enable_opengl" = xno; then
1182 AC_MSG_ERROR([OpenGL is not available for OSMesa driver])
1184 if test "$mesa_driver" = osmesa; then
1185 AC_MSG_ERROR([libGL is not available for OSMesa driver])
1187 DRIVER_DIRS="$DRIVER_DIRS osmesa"
1191 dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
1192 AC_ARG_WITH([osmesa-bits],
1193 [AS_HELP_STRING([--with-osmesa-bits=BITS],
1194 [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
1195 [osmesa_bits="$withval"],
1197 if test "$mesa_driver" != osmesa && test "x$osmesa_bits" != x8; then
1198 AC_MSG_WARN([Ignoring OSMesa channel bits for non-OSMesa driver])
1201 case "x$osmesa_bits" in
1206 OSMESA_LIB="OSMesa$osmesa_bits"
1207 DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
1210 AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
1213 AC_SUBST([OSMESA_LIB])
1215 case "$DRIVER_DIRS" in
1217 # only link libraries with osmesa if shared
1218 if test "$enable_static" = no; then
1219 OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS"
1224 OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS"
1227 AC_SUBST([OSMESA_LIB_DEPS])
1228 AC_SUBST([OSMESA_MESA_DEPS])
1229 AC_SUBST([OSMESA_PC_REQ])
1230 AC_SUBST([OSMESA_PC_LIB_PRIV])
1233 dnl EGL configuration
1237 if test "x$enable_egl" = xno; then
1238 if test "x$mesa_driver" = xno; then
1239 AC_MSG_ERROR([cannot disable EGL when there is no mesa driver])
1242 if test "x$enable_egl" = xyes; then
1243 SRC_DIRS="$SRC_DIRS egl"
1244 EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS -lpthread"
1247 if test "$enable_static" != yes; then
1248 # build egl_glx when libGL is built
1249 if test "$mesa_driver" = xlib -o "$mesa_driver" = dri; then
1250 EGL_DRIVERS_DIRS="glx"
1253 PKG_CHECK_MODULES([LIBUDEV], [libudev > 150],
1254 [have_libudev=yes],[have_libudev=no])
1255 if test "$have_libudev" = yes; then
1256 DEFINES="$DEFINES -DHAVE_LIBUDEV"
1258 if test "$mesa_driver" = dri; then
1259 # build egl_dri2 when xcb-dri2 is available
1260 PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 xcb-xfixes],
1261 [have_xcb_dri2=yes],[have_xcb_dri2=no])
1263 if test "$have_xcb_dri2" = yes; then
1264 EGL_DRIVER_DRI2=dri2
1265 DEFINES="$DEFINES -DHAVE_XCB_DRI2"
1266 # workaround a bug in xcb-dri2 generated by xcb-proto 1.6
1267 AC_CHECK_LIB(xcb-dri2, xcb_dri2_connect_alignment_pad, [],
1268 [DEFINES="$DEFINES -DXCB_DRI2_CONNECT_DEVICE_NAME_BROKEN"])
1272 EGL_DRIVERS_DIRS="$EGL_DRIVERS_DIRS $EGL_DRIVER_DRI2"
1275 AC_SUBST([EGL_LIB_DEPS])
1276 AC_SUBST([EGL_DRIVERS_DIRS])
1279 dnl gbm configuration
1281 if test "x$enable_gbm" = xauto; then
1282 case "$with_egl_platforms" in
1289 if test "x$enable_gbm" = xyes; then
1290 SRC_DIRS="$SRC_DIRS gbm"
1293 PKG_CHECK_MODULES([LIBUDEV], [libudev], [],
1294 AC_MSG_ERROR([gbm needs udev]))
1295 GBM_LIB_DEPS="$DLOPEN_LIBS $LIBUDEV_LIBS"
1297 if test "$mesa_driver" = dri; then
1298 GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri"
1299 if test "$SHARED_GLAPI" -eq 0; then
1300 AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi])
1304 AC_SUBST([GBM_LIB_DEPS])
1305 AC_SUBST([GBM_BACKEND_DIRS])
1306 GBM_PC_REQ_PRIV="libudev"
1307 GBM_PC_LIB_PRIV="$DLOPEN_LIBS"
1309 AC_SUBST([GBM_PC_REQ_PRIV])
1310 AC_SUBST([GBM_PC_LIB_PRIV])
1311 AC_SUBST([GBM_PC_CFLAGS])
1314 dnl EGL Gallium configuration
1316 if test "x$enable_gallium_egl" = xyes; then
1317 if test "x$with_gallium_drivers" = x; then
1318 AC_MSG_ERROR([cannot enable egl_gallium without Gallium])
1320 if test "x$enable_egl" = xno; then
1321 AC_MSG_ERROR([cannot enable egl_gallium without EGL])
1324 GALLIUM_STATE_TRACKERS_DIRS="egl $GALLIUM_STATE_TRACKERS_DIRS"
1325 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl-static"
1330 dnl gbm Gallium configuration
1332 if test "x$enable_gallium_gbm" = xyes; then
1333 if test "x$with_gallium_drivers" = x; then
1334 AC_MSG_ERROR([cannot enable gbm_gallium without Gallium])
1336 if test "x$enable_gbm" = xno; then
1337 AC_MSG_ERROR([cannot enable gbm_gallium without gbm])
1340 GALLIUM_STATE_TRACKERS_DIRS="gbm $GALLIUM_STATE_TRACKERS_DIRS"
1341 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS gbm"
1346 dnl X.Org DDX configuration
1348 if test "x$enable_xorg" = xyes; then
1349 PKG_CHECK_MODULES([XORG], [xorg-server >= 1.6.0])
1350 PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
1351 PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
1352 PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
1353 HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
1354 HAVE_XEXTPROTO_71="no")
1355 GALLIUM_STATE_TRACKERS_DIRS="xorg $GALLIUM_STATE_TRACKERS_DIRS"
1360 dnl OpenVG configuration
1364 if test "x$enable_openvg" = xyes; then
1365 if test "x$enable_egl" = xno; then
1366 AC_MSG_ERROR([cannot enable OpenVG without EGL])
1368 if test "x$with_gallium_drivers" = x; then
1369 AC_MSG_ERROR([cannot enable OpenVG without Gallium])
1371 if test "x$enable_gallium_egl" = xno; then
1372 AC_MSG_ERROR([cannot enable OpenVG without egl_gallium])
1375 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
1376 VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS -lpthread"
1377 CORE_DIRS="$CORE_DIRS mapi/vgapi"
1378 GALLIUM_STATE_TRACKERS_DIRS="vega $GALLIUM_STATE_TRACKERS_DIRS"
1383 dnl D3D1X configuration
1386 if test "x$enable_d3d1x" = xyes; then
1387 if test "x$with_gallium_drivers" = x; then
1388 AC_MSG_ERROR([cannot enable D3D1X without Gallium])
1391 GALLIUM_STATE_TRACKERS_DIRS="d3d1x $GALLIUM_STATE_TRACKERS_DIRS"
1396 dnl GLU configuration
1398 AC_ARG_ENABLE([glu],
1399 [AS_HELP_STRING([--disable-glu],
1400 [enable OpenGL Utility library @<:@default=enabled@:>@])],
1401 [enable_glu="$enableval"],
1404 if test "x$enable_glu" = xyes -a "x$mesa_driver" = xno; then
1405 AC_MSG_NOTICE([Disabling GLU since there is no OpenGL driver])
1409 if test "x$enable_glu" = xyes; then
1410 SRC_DIRS="$SRC_DIRS glu"
1412 case "$mesa_driver" in
1414 # Link libGLU to libOSMesa instead of libGL
1417 if test "$enable_static" = no; then
1418 GLU_MESA_DEPS='-l$(OSMESA_LIB)'
1424 # If static, empty GLU_LIB_DEPS and add libs for programs to link
1426 GLU_PC_LIB_PRIV="-lm"
1427 if test "$enable_static" = no; then
1429 GLU_MESA_DEPS='-l$(GL_LIB)'
1433 APP_LIB_DEPS="$APP_LIB_DEPS -lstdc++"
1438 if test "$enable_static" = no; then
1439 GLU_LIB_DEPS="$GLU_LIB_DEPS $OS_CPLUSPLUS_LIBS"
1441 GLU_PC_LIB_PRIV="$GLU_PC_LIB_PRIV $OS_CPLUSPLUS_LIBS"
1442 AC_SUBST([GLU_LIB_DEPS])
1443 AC_SUBST([GLU_MESA_DEPS])
1444 AC_SUBST([GLU_PC_REQ])
1445 AC_SUBST([GLU_PC_REQ_PRIV])
1446 AC_SUBST([GLU_PC_LIB_PRIV])
1447 AC_SUBST([GLU_PC_CFLAGS])
1450 dnl GLw configuration
1452 AC_ARG_ENABLE([glw],
1453 [AS_HELP_STRING([--disable-glw],
1454 [enable Xt/Motif widget library @<:@default=enabled@:>@])],
1455 [enable_glw="$enableval"],
1457 dnl Don't build GLw on osmesa
1458 if test "x$enable_glw" = xyes; then
1459 case "$mesa_driver" in
1461 AC_MSG_NOTICE([Disabling GLw since there is no OpenGL driver])
1466 AC_ARG_ENABLE([motif],
1467 [AS_HELP_STRING([--enable-motif],
1468 [use Motif widgets in GLw @<:@default=disabled@:>@])],
1469 [enable_motif="$enableval"],
1472 if test "x$enable_glw" = xyes; then
1473 SRC_DIRS="$SRC_DIRS glw"
1474 if test "$x11_pkgconfig" = yes; then
1475 PKG_CHECK_MODULES([GLW],[x11 xt])
1476 GLW_PC_REQ_PRIV="x11 xt"
1477 GLW_LIB_DEPS="$GLW_LIBS"
1479 # should check these...
1480 GLW_LIB_DEPS="$X_LIBS -lXt -lX11"
1481 GLW_PC_LIB_PRIV="$GLW_LIB_DEPS"
1482 GLW_PC_CFLAGS="$X11_INCLUDES"
1485 GLW_SOURCES="GLwDrawA.c"
1487 if test "x$enable_motif" = xyes; then
1488 GLW_SOURCES="$GLW_SOURCES GLwMDrawA.c"
1489 AC_PATH_PROG([MOTIF_CONFIG], [motif-config], [no])
1490 if test "x$MOTIF_CONFIG" != xno; then
1491 MOTIF_CFLAGS=`$MOTIF_CONFIG --cflags`
1492 MOTIF_LIBS=`$MOTIF_CONFIG --libs`
1494 AC_CHECK_HEADER([Xm/PrimitiveP.h], [],
1495 [AC_MSG_ERROR([Can't locate Motif headers])])
1496 AC_CHECK_LIB([Xm], [XmGetPixmap], [MOTIF_LIBS="-lXm"],
1497 [AC_MSG_ERROR([Can't locate Motif Xm library])])
1499 # MOTIF_LIBS is prepended to GLW_LIB_DEPS since Xm needs Xt/X11
1500 GLW_LIB_DEPS="$MOTIF_LIBS $GLW_LIB_DEPS"
1501 GLW_PC_LIB_PRIV="$MOTIF_LIBS $GLW_PC_LIB_PRIV"
1502 GLW_PC_CFLAGS="$MOTIF_CFLAGS $GLW_PC_CFLAGS"
1505 # If static, empty GLW_LIB_DEPS and add libs for programs to link
1506 GLW_PC_LIB_PRIV="$GLW_PC_LIB_PRIV"
1507 if test "$enable_static" = no; then
1508 GLW_MESA_DEPS='-l$(GL_LIB)'
1509 GLW_LIB_DEPS="$GLW_LIB_DEPS"
1511 APP_LIB_DEPS="$APP_LIB_DEPS $GLW_LIB_DEPS"
1516 AC_SUBST([GLW_LIB_DEPS])
1517 AC_SUBST([GLW_MESA_DEPS])
1518 AC_SUBST([GLW_SOURCES])
1519 AC_SUBST([MOTIF_CFLAGS])
1520 AC_SUBST([GLW_PC_REQ_PRIV])
1521 AC_SUBST([GLW_PC_LIB_PRIV])
1522 AC_SUBST([GLW_PC_CFLAGS])
1525 dnl GLUT configuration
1527 if test -f "$srcdir/include/GL/glut.h"; then
1532 AC_ARG_ENABLE([glut],
1533 [AS_HELP_STRING([--disable-glut],
1534 [enable GLUT library @<:@default=enabled if source available@:>@])],
1535 [enable_glut="$enableval"],
1536 [enable_glut="$default_glut"])
1538 dnl Don't build glut on osmesa
1539 if test "x$enable_glut" = xyes; then
1540 case "$mesa_driver" in
1542 AC_MSG_NOTICE([Disabling glut since there is no OpenGL driver])
1547 dnl Can't build glut if GLU not available
1548 if test "x$enable_glu$enable_glut" = xnoyes; then
1549 AC_MSG_WARN([Disabling glut since GLU is disabled])
1553 if test "x$enable_glut" = xyes; then
1554 SRC_DIRS="$SRC_DIRS glut/glx"
1555 if test "$x11_pkgconfig" = yes; then
1556 PKG_CHECK_MODULES([GLUT],[x11 xmu xi])
1557 GLUT_PC_REQ_PRIV="x11 xmu xi"
1558 GLUT_LIB_DEPS="$GLUT_LIBS"
1560 # should check these...
1561 GLUT_LIB_DEPS="$X_LIBS -lX11 -lXmu -lXi"
1562 GLUT_PC_LIB_PRIV="$GLUT_LIB_DEPS"
1563 GLUT_PC_CFLAGS="$X11_INCLUDES"
1565 if test "x$GCC" = xyes; then
1566 GLUT_CFLAGS="$GLUT_CFLAGS -fexceptions"
1568 GLUT_LIB_DEPS="$GLUT_LIB_DEPS -lm"
1569 GLUT_PC_LIB_PRIV="$GLUT_PC_LIB_PRIV -lm"
1571 # If static, empty GLUT_LIB_DEPS and add libs for programs to link
1572 if test "$enable_static" = no; then
1573 GLUT_MESA_DEPS='-l$(GLU_LIB) -l$(GL_LIB)'
1575 APP_LIB_DEPS="$APP_LIB_DEPS $GLUT_LIB_DEPS"
1580 AC_SUBST([GLUT_LIB_DEPS])
1581 AC_SUBST([GLUT_MESA_DEPS])
1582 AC_SUBST([GLUT_CFLAGS])
1583 AC_SUBST([GLUT_PC_REQ_PRIV])
1584 AC_SUBST([GLUT_PC_LIB_PRIV])
1585 AC_SUBST([GLUT_PC_CFLAGS])
1588 dnl Program library dependencies
1589 dnl Only libm is added here if necessary as the libraries should
1590 dnl be pulled in by the linker
1592 if test "x$APP_LIB_DEPS" = x; then
1595 APP_LIB_DEPS="-lX11 -lsocket -lnsl -lm"
1598 APP_LIB_DEPS="-lX11"
1605 AC_SUBST([APP_LIB_DEPS])
1606 AC_SUBST([PROGRAM_DIRS])
1609 dnl Gallium configuration
1611 if test "x$with_gallium_drivers" != x; then
1612 SRC_DIRS="$SRC_DIRS gallium gallium/winsys gallium/targets"
1613 AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
1618 AC_SUBST([LLVM_CFLAGS])
1619 AC_SUBST([LLVM_LIBS])
1620 AC_SUBST([LLVM_LDFLAGS])
1621 AC_SUBST([LLVM_VERSION])
1625 case "x$enable_opengl$enable_gles1$enable_gles2" in
1627 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
1631 AC_SUBST([VG_LIB_DEPS])
1632 AC_SUBST([EGL_CLIENT_APIS])
1634 AC_ARG_WITH([egl-platforms],
1635 [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1636 [comma delimited native platforms libEGL supports, e.g.
1637 "x11,drm" @<:@default=auto@:>@])],
1638 [with_egl_platforms="$withval"],
1639 [with_egl_platforms=yes])
1642 WAYLAND_EGL_LIB_DEPS=""
1644 case "$with_egl_platforms" in
1646 if test "x$enable_egl" = xyes && test "x$mesa_driver" != xosmesa; then
1651 if test "x$enable_egl" != xyes; then
1652 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1654 # verify the requested driver directories exist
1655 egl_platforms=`IFS=', '; echo $with_egl_platforms`
1656 for plat in $egl_platforms; do
1657 test -d "$srcdir/src/gallium/state_trackers/egl/$plat" || \
1658 AC_MSG_ERROR([EGL platform '$plat' doesn't exist])
1659 if test "$plat" = "fbdev"; then
1660 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/fbdev"
1662 if test "$plat" = "wayland"; then
1663 PKG_CHECK_MODULES([WAYLAND], [wayland-client wayland-server],, \
1664 [AC_MSG_ERROR([cannot find libwayland-client])])
1665 WAYLAND_EGL_LIB_DEPS="$WAYLAND_LIBS $LIBDRM_LIBS"
1666 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/wayland"
1668 if test "$plat" = "drm" && test "x$enable_gbm" = no; then
1669 AC_MSG_ERROR([EGL platform drm needs gbm])
1672 EGL_PLATFORMS="$egl_platforms"
1675 AC_SUBST([EGL_PLATFORMS])
1677 AC_SUBST([WAYLAND_EGL_LIB_DEPS])
1678 WAYLAND_EGL_PC_REQ_PRIV="wayland-client libdrm"
1679 WAYLAND_EGL_PC_LIB_PRIV=
1680 WAYLAND_EGL_PC_CFLAGS=
1682 AC_SUBST([WAYLAND_EGL_PC_REQ_PRIV])
1683 AC_SUBST([WAYLAND_EGL_PC_LIB_PRIV])
1684 AC_SUBST([WAYLAND_EGL_PC_CFLAGS])
1687 AC_ARG_WITH([egl-driver-dir],
1688 [AS_HELP_STRING([--with-egl-driver-dir=DIR],
1689 [directory for EGL drivers [[default=${libdir}/egl]]])],
1690 [EGL_DRIVER_INSTALL_DIR="$withval"],
1691 [EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
1692 AC_SUBST([EGL_DRIVER_INSTALL_DIR])
1694 AC_ARG_WITH([xorg-driver-dir],
1695 [AS_HELP_STRING([--with-xorg-driver-dir=DIR],
1696 [Default xorg driver directory[[default=${libdir}/xorg/modules/drivers]]])],
1697 [XORG_DRIVER_INSTALL_DIR="$withval"],
1698 [XORG_DRIVER_INSTALL_DIR="${libdir}/xorg/modules/drivers"])
1699 AC_SUBST([XORG_DRIVER_INSTALL_DIR])
1701 AC_ARG_WITH([max-width],
1702 [AS_HELP_STRING([--with-max-width=N],
1703 [Maximum framebuffer width (4096)])],
1704 [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1705 AS_IF([test "${withval}" -gt "4096"],
1706 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1708 AC_ARG_WITH([max-height],
1709 [AS_HELP_STRING([--with-max-height=N],
1710 [Maximum framebuffer height (4096)])],
1711 [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1712 AS_IF([test "${withval}" -gt "4096"],
1713 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1719 AC_ARG_ENABLE([gallium-llvm],
1720 [AS_HELP_STRING([--enable-gallium-llvm],
1721 [build gallium LLVM support @<:@default=enabled on x86/x86_64@:>@])],
1722 [enable_gallium_llvm="$enableval"],
1723 [enable_gallium_llvm=auto])
1724 if test "x$with_gallium_drivers" = x; then
1725 enable_gallium_llvm=no
1727 if test "x$enable_gallium_llvm" = xauto; then
1729 i*86|x86_64) enable_gallium_llvm=yes;;
1732 if test "x$enable_gallium_llvm" = xyes; then
1733 if test "x$LLVM_CONFIG" != xno; then
1734 LLVM_VERSION=`$LLVM_CONFIG --version`
1735 LLVM_CFLAGS=`$LLVM_CONFIG --cppflags`
1736 LLVM_LIBS="`$LLVM_CONFIG --libs` -lstdc++"
1738 LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1739 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1740 DEFINES="$DEFINES -DGALLIUM_LLVMPIPE -D__STDC_CONSTANT_MACROS"
1750 dnl Gallium helper functions
1752 gallium_check_st() {
1753 if test "x$HAVE_ST_DRI" = xyes || test "x$HAVE_ST_XORG" = xyes; then
1754 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
1756 if test "x$HAVE_ST_DRI" = xyes && test "x$2" != x; then
1757 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
1759 if test "x$HAVE_ST_XORG" = xyes && test "x$3" != x; then
1760 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
1764 gallium_require_llvm() {
1765 if test "x$MESA_LLVM" = x0; then
1767 i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
1773 if test "x$with_gallium_drivers" != x; then
1774 # This is for compile-testing
1775 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915 i965 r300 svga"
1776 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1778 gallium_drivers=`IFS=', '; echo $with_gallium_drivers`
1779 for driver in $gallium_drivers; do
1782 gallium_check_st "svga/drm" "dri-vmwgfx" "xorg-vmwgfx"
1785 gallium_check_st "i915/drm" "dri-i915" "xorg-i915"
1788 gallium_check_st "i965/drm" "dri-i965" "xorg-i965"
1791 gallium_require_llvm "Gallium R300"
1792 gallium_check_st "radeon/drm" "dri-r300" "xorg-r300"
1795 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
1796 gallium_check_st "r600/drm" "dri-r600"
1799 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nvfx nv50 nvc0"
1800 gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau"
1803 if test "x$HAVE_ST_DRI" = xyes; then
1804 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast"
1808 AC_MSG_ERROR([Unknown Gallium driver: $driver])
1814 dnl prepend CORE_DIRS to SRC_DIRS
1815 SRC_DIRS="$CORE_DIRS $SRC_DIRS"
1817 dnl Restore LDFLAGS and CPPFLAGS
1818 LDFLAGS="$_SAVE_LDFLAGS"
1819 CPPFLAGS="$_SAVE_CPPFLAGS"
1821 dnl Substitute the config
1822 AC_CONFIG_FILES([configs/autoconf])
1824 dnl Replace the configs/current symlink
1825 AC_CONFIG_COMMANDS([configs],[
1826 if test -f configs/current || test -L configs/current; then
1827 rm -f configs/current
1829 ln -s autoconf configs/current
1832 dnl Sort the dirs alphabetically
1833 GALLIUM_TARGET_DIRS=`echo $GALLIUM_TARGET_DIRS|tr " " "\n"|sort|tr "\n" " "`
1834 GALLIUM_WINSYS_DIRS=`echo $GALLIUM_WINSYS_DIRS|tr " " "\n"|sort|tr "\n" " "`
1835 GALLIUM_DRIVERS_DIRS=`echo $GALLIUM_DRIVERS_DIRS|tr " " "\n"|sort|tr "\n" " "`
1836 GALLIUM_STATE_TRACKERS_DIRS=`echo $GALLIUM_STATE_TRACKERS_DIRS|tr " " "\n"|sort|tr "\n" " "`
1841 dnl Output some configuration info for the user
1844 echo " prefix: $prefix"
1845 echo " exec_prefix: $exec_prefix"
1846 echo " libdir: $libdir"
1847 echo " includedir: $includedir"
1851 echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
1852 echo " OpenVG: $enable_openvg"
1856 echo " Driver: $mesa_driver"
1857 if test "$mesa_driver" != no; then
1858 if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then
1859 echo " OSMesa: lib$OSMESA_LIB"
1863 if test "$mesa_driver" = dri; then
1864 # cleanup the drivers var
1865 dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'`
1866 if test "x$DRI_DIRS" = x; then
1867 echo " DRI drivers: no"
1869 echo " DRI drivers: $dri_dirs"
1871 echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
1872 echo " Use XCB: $enable_xcb"
1873 echo " Shared dricore: $enable_dricore"
1877 echo " GLU: $enable_glu"
1878 echo " GLw: $enable_glw (Motif: $enable_motif)"
1879 echo " glut: $enable_glut"
1883 echo " EGL: $enable_egl"
1884 if test "$enable_egl" = yes; then
1885 echo " EGL platforms: $EGL_PLATFORMS"
1888 for d in $EGL_DRIVERS_DIRS; do
1889 egl_drivers="$egl_drivers builtin:egl_$d"
1892 if test "x$HAVE_ST_EGL" = xyes; then
1893 echo " EGL drivers: ${egl_drivers} egl_gallium"
1894 echo " EGL Gallium STs:$EGL_CLIENT_APIS"
1896 echo " EGL drivers: $egl_drivers"
1901 if test "x$MESA_LLVM" = x1; then
1903 echo " llvm-config: $LLVM_CONFIG"
1904 echo " llvm-version: $LLVM_VERSION"
1910 if echo "$SRC_DIRS" | grep 'gallium' >/dev/null 2>&1; then
1911 echo " Gallium: yes"
1912 echo " Gallium dirs: $GALLIUM_DIRS"
1913 echo " Target dirs: $GALLIUM_TARGET_DIRS"
1914 echo " Winsys dirs: $GALLIUM_WINSYS_DIRS"
1915 echo " Driver dirs: $GALLIUM_DRIVERS_DIRS"
1916 echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS"
1923 echo " Shared libs: $enable_shared"
1924 echo " Static libs: $enable_static"
1926 dnl Compiler options
1927 # cleanup the CFLAGS/CXXFLAGS/DEFINES vars
1928 cflags=`echo $CFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1929 $SED 's/^ *//;s/ */ /;s/ *$//'`
1930 cxxflags=`echo $CXXFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1931 $SED 's/^ *//;s/ */ /;s/ *$//'`
1932 defines=`echo $DEFINES $ASM_FLAGS | $SED 's/^ *//;s/ */ /;s/ *$//'`
1934 echo " CFLAGS: $cflags"
1935 echo " CXXFLAGS: $cxxflags"
1936 echo " Macros: $defines"
1938 echo " PYTHON2: $PYTHON2"
1941 echo " Run '${MAKE-make}' to build Mesa"