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"
180 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
181 [VISIBILITY_CXXFLAGS="" ; AC_MSG_RESULT([no])]);
183 # Restore CXXFLAGS; VISIBILITY_CXXFLAGS are added to it where needed.
184 CXXFLAGS=$save_CXXFLAGS
186 # Work around aliasing bugs - developers should comment this out
187 CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
190 AC_SUBST([VISIBILITY_CFLAGS])
191 AC_SUBST([VISIBILITY_CXXFLAGS])
193 dnl These should be unnecessary, but let the user set them if they want
194 AC_ARG_VAR([OPT_FLAGS], [Additional optimization flags for the compiler.
195 Default is to use CFLAGS.])
196 AC_ARG_VAR([ARCH_FLAGS], [Additional architecture specific flags for the
197 compiler. Default is to use CFLAGS.])
198 AC_SUBST([OPT_FLAGS])
199 AC_SUBST([ARCH_FLAGS])
202 dnl Hacks to enable 32 or 64 bit build
204 AC_ARG_ENABLE([32-bit],
205 [AS_HELP_STRING([--enable-32-bit],
206 [build 32-bit libraries @<:@default=auto@:>@])],
207 [enable_32bit="$enableval"],
210 if test "x$enable_32bit" = xyes; then
211 if test "x$GCC" = xyes; then
212 CFLAGS="$CFLAGS -m32"
213 ARCH_FLAGS="$ARCH_FLAGS -m32"
215 if test "x$GXX" = xyes; then
216 CXXFLAGS="$CXXFLAGS -m32"
219 AC_ARG_ENABLE([64-bit],
220 [AS_HELP_STRING([--enable-64-bit],
221 [build 64-bit libraries @<:@default=auto@:>@])],
222 [enable_64bit="$enableval"],
225 if test "x$enable_64bit" = xyes; then
226 if test "x$GCC" = xyes; then
227 CFLAGS="$CFLAGS -m64"
229 if test "x$GXX" = xyes; then
230 CXXFLAGS="$CXXFLAGS -m64"
235 dnl shared/static libraries, mimic libtool options
237 AC_ARG_ENABLE([static],
238 [AS_HELP_STRING([--enable-static],
239 [build static libraries @<:@default=disabled@:>@])],
240 [enable_static="$enableval"],
243 case "x$enable_static" in
245 x ) enable_static=no ;;
247 AC_MSG_ERROR([Static library option '$enable_static' is not a valid])
250 AC_ARG_ENABLE([shared],
251 [AS_HELP_STRING([--disable-shared],
252 [build shared libraries @<:@default=enabled@:>@])],
253 [enable_shared="$enableval"],
256 case "x$enable_shared" in
258 x ) enable_shared=yes ;;
260 AC_MSG_ERROR([Shared library option '$enable_shared' is not a valid])
264 dnl Can't have static and shared libraries, default to static if user
265 dnl explicitly requested. If both disabled, set to static since shared
266 dnl was explicitly requirested.
267 case "x$enable_static$enable_shared" in
269 AC_MSG_WARN([Can't build static and shared libraries, disabling shared])
273 AC_MSG_WARN([Can't disable both static and shared libraries, enabling static])
281 AC_ARG_VAR([MKLIB_OPTIONS],[Options for the Mesa library script, mklib])
282 if test "$enable_static" = yes; then
283 MKLIB_OPTIONS="$MKLIB_OPTIONS -static"
285 AC_SUBST([MKLIB_OPTIONS])
288 dnl other compiler options
290 AC_ARG_ENABLE([debug],
291 [AS_HELP_STRING([--enable-debug],
292 [use debug compiler flags and macros @<:@default=disabled@:>@])],
293 [enable_debug="$enableval"],
296 if test "x$enable_debug" = xyes; then
297 DEFINES="$DEFINES -DDEBUG"
298 if test "x$GCC" = xyes; then
301 if test "x$GXX" = xyes; then
302 CXXFLAGS="$CXXFLAGS -g"
309 LIB_PREFIX_GLOB='lib'
310 LIB_VERSION_SEPARATOR='.'
311 if test "$enable_static" = yes; then
316 LIB_EXTENSION='dylib' ;;
318 dnl prefix can be 'cyg' or 'lib'
319 LIB_PREFIX_GLOB='???'
320 LIB_VERSION_SEPARATOR='-'
321 LIB_EXTENSION='dll' ;;
325 LIB_EXTENSION='so' ;;
330 dnl potentially-infringing-but-nobody-knows-for-sure stuff
332 AC_ARG_ENABLE([texture-float],
333 [AS_HELP_STRING([--enable-texture-float],
334 [enable floating-point textures and renderbuffers @<:@default=disabled@:>@])],
335 [enable_texture_float="$enableval"],
336 [enable_texture_float=no]
338 if test "x$enable_texture_float" = xyes; then
339 AC_MSG_WARN([Floating-point textures enabled.])
340 AC_MSG_WARN([Please consult docs/patents.txt with your lawyer before building Mesa.])
341 DEFINES="$DEFINES -DTEXTURE_FLOAT_ENABLED"
344 GL_LIB_NAME='lib$(GL_LIB).'${LIB_EXTENSION}
345 GLU_LIB_NAME='lib$(GLU_LIB).'${LIB_EXTENSION}
346 GLUT_LIB_NAME='lib$(GLUT_LIB).'${LIB_EXTENSION}
347 GLW_LIB_NAME='lib$(GLW_LIB).'${LIB_EXTENSION}
348 OSMESA_LIB_NAME='lib$(OSMESA_LIB).'${LIB_EXTENSION}
349 EGL_LIB_NAME='lib$(EGL_LIB).'${LIB_EXTENSION}
350 GLESv1_CM_LIB_NAME='lib$(GLESv1_CM_LIB).'${LIB_EXTENSION}
351 GLESv2_LIB_NAME='lib$(GLESv2_LIB).'${LIB_EXTENSION}
352 VG_LIB_NAME='lib$(VG_LIB).'${LIB_EXTENSION}
353 GLAPI_LIB_NAME='lib$(GLAPI_LIB).'${LIB_EXTENSION}
354 WAYLAND_EGL_LIB_NAME='lib$(WAYLAND_EGL_LIB).'${LIB_EXTENSION}
356 GL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
357 GLU_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLU_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
358 GLUT_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLUT_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
359 GLW_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLW_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
360 OSMESA_LIB_GLOB=${LIB_PREFIX_GLOB}'$(OSMESA_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
361 EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
362 EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
363 GLESv1_CM_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv1_CM_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
364 GLESv2_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv2_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
365 VG_LIB_GLOB=${LIB_PREFIX_GLOB}'$(VG_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
366 GLAPI_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLAPI_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
367 WAYLAND_EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(WAYLAND_EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
369 AC_SUBST([GL_LIB_NAME])
370 AC_SUBST([GLU_LIB_NAME])
371 AC_SUBST([GLUT_LIB_NAME])
372 AC_SUBST([GLW_LIB_NAME])
373 AC_SUBST([OSMESA_LIB_NAME])
374 AC_SUBST([EGL_LIB_NAME])
375 AC_SUBST([GLESv1_CM_LIB_NAME])
376 AC_SUBST([GLESv2_LIB_NAME])
377 AC_SUBST([VG_LIB_NAME])
378 AC_SUBST([GLAPI_LIB_NAME])
379 AC_SUBST([WAYLAND_EGL_LIB_NAME])
381 AC_SUBST([GL_LIB_GLOB])
382 AC_SUBST([GLU_LIB_GLOB])
383 AC_SUBST([GLUT_LIB_GLOB])
384 AC_SUBST([GLW_LIB_GLOB])
385 AC_SUBST([OSMESA_LIB_GLOB])
386 AC_SUBST([EGL_LIB_GLOB])
387 AC_SUBST([GLESv1_CM_LIB_GLOB])
388 AC_SUBST([GLESv2_LIB_GLOB])
389 AC_SUBST([VG_LIB_GLOB])
390 AC_SUBST([GLAPI_LIB_GLOB])
391 AC_SUBST([WAYLAND_EGL_LIB_GLOB])
394 dnl Arch/platform-specific settings
397 [AS_HELP_STRING([--disable-asm],
398 [disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
399 [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
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*)
423 test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86
429 linux* | *freebsd* | dragonfly* | *netbsd*)
430 test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
452 ASM_FLAGS="-DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
453 MESA_ASM_SOURCES='$(X86_SOURCES)'
454 GLAPI_ASM_SOURCES='$(X86_API)'
455 AC_MSG_RESULT([yes, x86])
458 ASM_FLAGS="-DUSE_X86_64_ASM"
459 MESA_ASM_SOURCES='$(X86-64_SOURCES)'
460 GLAPI_ASM_SOURCES='$(X86-64_API)'
461 AC_MSG_RESULT([yes, x86_64])
464 ASM_FLAGS="-DUSE_PPC_ASM -DUSE_VMX_ASM"
465 MESA_ASM_SOURCES='$(PPC_SOURCES)'
466 AC_MSG_RESULT([yes, ppc])
469 ASM_FLAGS="-DUSE_SPARC_ASM"
470 MESA_ASM_SOURCES='$(SPARC_SOURCES)'
471 GLAPI_ASM_SOURCES='$(SPARC_API)'
472 AC_MSG_RESULT([yes, sparc])
475 AC_MSG_RESULT([no, platform not supported])
479 AC_SUBST([ASM_FLAGS])
480 AC_SUBST([MESA_ASM_SOURCES])
481 AC_SUBST([GLAPI_ASM_SOURCES])
486 dnl Check to see if dlopen is in default libraries (like Solaris, which
487 dnl has it in libc), or if libdl is needed to get it.
488 AC_CHECK_FUNC([dlopen], [],
489 [AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])])
490 AC_SUBST([DLOPEN_LIBS])
492 dnl See if posix_memalign is available
493 AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
495 dnl SELinux awareness.
496 AC_ARG_ENABLE([selinux],
497 [AS_HELP_STRING([--enable-selinux],
498 [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
499 [MESA_SELINUX="$enableval"],
501 if test "x$enable_selinux" = "xyes"; then
502 AC_CHECK_HEADER([selinux/selinux.h],[],
503 [AC_MSG_ERROR([SELinux headers not found])])
504 AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
505 [AC_MSG_ERROR([SELinux library not found])])
506 SELINUX_LIBS="-lselinux"
507 DEFINES="$DEFINES -DMESA_SELINUX"
511 AC_ARG_ENABLE([opengl],
512 [AS_HELP_STRING([--disable-opengl],
513 [disable support for standard OpenGL API @<:@default=no@:>@])],
514 [enable_opengl="$enableval"],
516 AC_ARG_ENABLE([gles1],
517 [AS_HELP_STRING([--enable-gles1],
518 [enable support for OpenGL ES 1.x API @<:@default=no@:>@])],
519 [enable_gles1="$enableval"],
521 AC_ARG_ENABLE([gles2],
522 [AS_HELP_STRING([--enable-gles2],
523 [enable support for OpenGL ES 2.x API @<:@default=no@:>@])],
524 [enable_gles2="$enableval"],
526 AC_ARG_ENABLE([gles-overlay],
527 [AS_HELP_STRING([--enable-gles-overlay],
528 [DEPRECATED. Same as --enable-gles1 and --enable-gles2])],
529 [enable_gles1="$enableval"; enable_gles2="$enableval"],
531 AC_ARG_ENABLE([openvg],
532 [AS_HELP_STRING([--enable-openvg],
533 [enable support for OpenVG API @<:@default=no@:>@])],
534 [enable_openvg="$enableval"],
536 AC_ARG_ENABLE([xorg],
537 [AS_HELP_STRING([--enable-xorg],
538 [enable support for X.Org DDX API @<:@default=no@:>@])],
539 [enable_xorg="$enableval"],
541 AC_ARG_ENABLE([d3d1x],
542 [AS_HELP_STRING([--enable-d3d1x],
543 [enable support for Direct3D 10 & 11 low-level API @<:@default=no@:>@])],
544 [enable_d3d1x="$enableval"],
547 [AS_HELP_STRING([--disable-egl],
548 [disable EGL library @<:@default=enabled@:>@])],
549 [enable_egl="$enableval"],
553 AC_ARG_ENABLE([gallium],
554 [AS_HELP_STRING([--disable-gallium],
555 [build gallium @<:@default=enabled@:>@])],
556 [enable_gallium="$enableval"],
557 [enable_gallium=yes])
559 if test "x$enable_opengl" = xno -a \
560 "x$enable_gles1" = xno -a \
561 "x$enable_gles2" = xno -a \
562 "x$enable_openvg" = xno -a \
563 "x$enable_xorg" = xno -a \
564 "x$enable_d3d1x" = xno; then
565 AC_MSG_ERROR([at least one API should be enabled])
569 if test "x$enable_opengl" = xno; then
570 API_DEFINES="$API_DEFINES -DFEATURE_GL=0"
572 API_DEFINES="$API_DEFINES -DFEATURE_GL=1"
574 if test "x$enable_gles1" = xyes; then
575 API_DEFINES="$API_DEFINES -DFEATURE_ES1=1"
577 if test "x$enable_gles2" = xyes; then
578 API_DEFINES="$API_DEFINES -DFEATURE_ES2=1"
580 AC_SUBST([API_DEFINES])
582 AC_ARG_ENABLE([shared-glapi],
583 [AS_HELP_STRING([--enable-shared-glapi],
584 [EXPERIMENTAL. Enable shared glapi for OpenGL @<:@default=no@:>@])],
585 [enable_shared_glapi="$enableval"],
586 [enable_shared_glapi=no])
589 if test "x$enable_shared_glapi" = xyes; then
592 AC_SUBST([SHARED_GLAPI])
595 dnl Driver configuration. Options are xlib, dri and osmesa right now.
596 dnl More later: fbdev, ...
598 default_driver="xlib"
603 i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
606 *freebsd* | dragonfly* | *netbsd*)
608 i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
613 if test "x$enable_opengl" = xno; then
617 AC_ARG_WITH([driver],
618 [AS_HELP_STRING([--with-driver=DRIVER],
619 [driver for Mesa: xlib,dri,osmesa @<:@default=dri when available, or xlib@:>@])],
620 [mesa_driver="$withval"],
621 [mesa_driver="$default_driver"])
622 dnl Check for valid option
623 case "x$mesa_driver" in
625 if test "x$enable_opengl" = xno; then
626 AC_MSG_ERROR([Driver '$mesa_driver' requires OpenGL enabled])
632 AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option])
637 dnl Driver specific build directories
640 dnl this variable will be prepended to SRC_DIRS and is not exported
645 GALLIUM_DIRS="auxiliary drivers state_trackers"
646 GALLIUM_TARGET_DIRS=""
647 GALLIUM_WINSYS_DIRS="sw"
648 GALLIUM_DRIVERS_DIRS="softpipe failover galahad trace rbug noop identity"
649 GALLIUM_STATE_TRACKERS_DIRS=""
651 # build shared-glapi if enabled for OpenGL or if OpenGL ES is enabled
652 case "x$enable_shared_glapi$enable_gles1$enable_gles2" in
654 CORE_DIRS="$CORE_DIRS mapi/shared-glapi"
658 # build glapi if OpenGL is enabled
659 if test "x$enable_opengl" = xyes; then
660 CORE_DIRS="$CORE_DIRS mapi/glapi"
663 # build es1api if OpenGL ES 1.x is enabled
664 if test "x$enable_gles1" = xyes; then
665 CORE_DIRS="$CORE_DIRS mapi/es1api"
668 # build es2api if OpenGL ES 2.x is enabled
669 if test "x$enable_gles2" = xyes; then
670 CORE_DIRS="$CORE_DIRS mapi/es2api"
673 # build glsl and mesa if OpenGL or OpenGL ES is enabled
674 case "x$enable_opengl$enable_gles1$enable_gles2" in
676 CORE_DIRS="$CORE_DIRS glsl mesa"
680 case "$mesa_driver" in
683 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
684 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
685 GALLIUM_STATE_TRACKERS_DIRS="glx $GALLIUM_STATE_TRACKERS_DIRS"
688 SRC_DIRS="$SRC_DIRS glx"
690 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib sw/dri"
691 GALLIUM_STATE_TRACKERS_DIRS="dri $GALLIUM_STATE_TRACKERS_DIRS"
703 AC_SUBST([DRIVER_DIRS])
704 AC_SUBST([GALLIUM_DIRS])
705 AC_SUBST([GALLIUM_TARGET_DIRS])
706 AC_SUBST([GALLIUM_WINSYS_DIRS])
707 AC_SUBST([GALLIUM_DRIVERS_DIRS])
708 AC_SUBST([GALLIUM_STATE_TRACKERS_DIRS])
709 AC_SUBST([MESA_LLVM])
712 dnl Find out if X is available. The variable have_x is set if libX11 is
713 dnl found to mimic AC_PATH_XTRA.
715 if test -n "$PKG_CONFIG"; then
716 AC_MSG_CHECKING([pkg-config files for X11 are available])
717 PKG_CHECK_EXISTS([x11],[
723 AC_MSG_RESULT([$x11_pkgconfig])
727 dnl Use the autoconf macro if no pkg-config files
728 if test "$x11_pkgconfig" = yes; then
729 PKG_CHECK_MODULES([X11], [x11])
732 test -z "$X11_CFLAGS" && X11_CFLAGS="$X_CFLAGS"
733 test -z "$X11_LIBS" && X11_LIBS="$X_LIBS -lX11"
734 AC_SUBST([X11_CFLAGS])
738 dnl Try to tell the user that the --x-* options are only used when
739 dnl pkg-config is not available. This must be right after AC_PATH_XTRA.
740 m4_divert_once([HELP_BEGIN],
741 [These options are only used when the X libraries cannot be found by the
742 pkg-config utility.])
744 dnl We need X for xlib and dri, so bomb now if it's not found
745 case "$mesa_driver" in
747 if test "$no_x" = yes; then
748 AC_MSG_ERROR([X11 development libraries needed for $mesa_driver driver])
753 dnl XCB - this is only used for GLX right now
755 [AS_HELP_STRING([--enable-xcb],
756 [use XCB for GLX @<:@default=disabled@:>@])],
757 [enable_xcb="$enableval"],
759 if test "x$enable_xcb" = xyes; then
760 DEFINES="$DEFINES -DUSE_XCB"
765 dnl Direct rendering or just indirect rendering
768 dnl Disable by default on GNU/Hurd
769 driglx_direct_default="no"
772 dnl Disable by default on cygwin
773 driglx_direct_default="no"
776 driglx_direct_default="yes"
779 AC_ARG_ENABLE([driglx-direct],
780 [AS_HELP_STRING([--disable-driglx-direct],
781 [enable direct rendering in GLX and EGL for DRI \
782 @<:@default=auto@:>@])],
783 [driglx_direct="$enableval"],
784 [driglx_direct="$driglx_direct_default"])
787 dnl libGL configuration per driver
789 case "$mesa_driver" in
791 if test "$x11_pkgconfig" = yes; then
792 PKG_CHECK_MODULES([XLIBGL], [x11 xext])
793 GL_PC_REQ_PRIV="x11 xext"
794 X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
795 GL_LIB_DEPS="$XLIBGL_LIBS"
797 # should check these...
798 X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
799 GL_LIB_DEPS="$X_LIBS -lX11 -lXext"
800 GL_PC_LIB_PRIV="$GL_LIB_DEPS"
801 GL_PC_CFLAGS="$X11_INCLUDES"
803 GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread"
804 GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm -lpthread"
806 # if static, move the external libraries to the programs
807 # and empty the libraries for libGL
808 if test "$enable_static" = yes; then
809 APP_LIB_DEPS="$APP_LIB_DEPS $GL_LIB_DEPS"
813 dri|no) # these checks are still desired when there is no mesa_driver
814 # DRI must be shared, I think
815 if test "$enable_static" = yes; then
816 AC_MSG_ERROR([Can't use static libraries for DRI drivers])
819 PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
820 GL_PC_REQ_PRIV="glproto >= $GLPROTO_REQUIRED"
823 if test x"$driglx_direct" = xyes; then
825 PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
826 PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
827 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED"
828 DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
831 # find the DRI deps for libGL
832 if test "$x11_pkgconfig" = yes; then
833 dri_modules="x11 xext xdamage xfixes"
835 # add xf86vidmode if available
836 PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no)
837 if test "$HAVE_XF86VIDMODE" = yes ; then
838 dri_modules="$dri_modules xxf86vm"
841 # add xcb modules if necessary
842 if test "$enable_xcb" = yes; then
843 dri_modules="$dri_modules x11-xcb xcb-glx"
846 PKG_CHECK_MODULES([DRIGL], [$dri_modules])
847 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
848 X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
849 GL_LIB_DEPS="$DRIGL_LIBS"
851 # should check these...
852 X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
853 GL_LIB_DEPS="$X_LIBS -lX11 -lXext -lXxf86vm -lXdamage -lXfixes"
854 GL_PC_LIB_PRIV="$GL_LIB_DEPS"
855 GL_PC_CFLAGS="$X11_INCLUDES"
857 # XCB can only be used from pkg-config
858 if test "$enable_xcb" = yes; then
859 PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx])
860 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV x11-xcb xcb-glx"
861 X11_INCLUDES="$X11_INCLUDES $XCB_CFLAGS"
862 GL_LIB_DEPS="$GL_LIB_DEPS $XCB_LIBS"
866 # need DRM libs, -lpthread, etc.
867 GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
868 GL_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
869 GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
870 GLESv1_CM_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
871 GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
872 GLESv2_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
875 # No libGL for osmesa
879 AC_SUBST([GL_LIB_DEPS])
880 AC_SUBST([GL_PC_REQ_PRIV])
881 AC_SUBST([GL_PC_LIB_PRIV])
882 AC_SUBST([GL_PC_CFLAGS])
883 AC_SUBST([DRI_PC_REQ_PRIV])
884 AC_SUBST([GLESv1_CM_LIB_DEPS])
885 AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
886 AC_SUBST([GLESv2_LIB_DEPS])
887 AC_SUBST([GLESv2_PC_LIB_PRIV])
889 GLAPI_LIB_DEPS="-lpthread"
890 AC_SUBST([GLAPI_LIB_DEPS])
893 dnl Setup default DRI CFLAGS
894 DRI_CFLAGS='$(CFLAGS)'
895 DRI_CXXFLAGS='$(CXXFLAGS)'
896 DRI_LIB_DEPS='$(TOP)/src/mesa/libmesa.a'
897 MESA_MODULES='$(TOP)/src/mesa/libmesa.a'
899 AC_ARG_ENABLE([shared-dricore],
900 [AS_HELP_STRING([--enable-shared-dricore],
901 [link DRI modules with shared core DRI routines @<:@default=disabled@:>@])],
902 [enable_dricore="$enableval"],
904 if test "$mesa_driver" = dri ; then
905 if test "$enable_dricore" = yes ; then
906 if test "$GCC$GXX" != yesyes ; then
907 AC_MSG_WARN([Shared dricore requires GCC-compatible rpath handling. Disabling shared dricore])
910 DRICORE_GLSL_LIBS='$(TOP)/$(LIB_DIR)/libglsl.so'
911 DRICORE_LIBS='$(TOP)/$(LIB_DIR)/libdricore.so'
912 DRICORE_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -lglsl'
913 DRI_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore -lglsl'
914 DRI_CFLAGS='$(CFLAGS_NOVISIBILITY) -DUSE_DRICORE'
915 DRI_CXXFLAGS='$(CXXFLAGS_NOVISIBILITY) -DUSE_DRICORE'
916 MESA_MODULES='$(DRICORE_LIBS) $(DRICORE_GLSL_LIBS)'
920 AC_SUBST([DRICORE_LIBS])
921 AC_SUBST([DRICORE_GLSL_LIBS])
922 AC_SUBST([DRICORE_LIB_DEPS])
923 AC_SUBST([DRI_CXXFLAGS])
924 AC_SUBST([DRI_CFLAGS])
925 AC_SUBST([MESA_MODULES])
927 AC_SUBST([HAVE_XF86VIDMODE])
929 PKG_CHECK_MODULES([LIBDRM_RADEON],
930 [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED],
931 HAVE_LIBDRM_RADEON=yes,
932 HAVE_LIBDRM_RADEON=no)
937 if test "$mesa_driver" = xlib; then
938 DEFINES="$DEFINES -DUSE_XSHM"
945 AC_ARG_ENABLE([glx-tls],
946 [AS_HELP_STRING([--enable-glx-tls],
947 [enable TLS support in GLX @<:@default=disabled@:>@])],
948 [GLX_USE_TLS="$enableval"],
950 AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
952 AS_IF([test "x$GLX_USE_TLS" = xyes],
953 [DEFINES="${DEFINES} -DGLX_USE_TLS -DPTHREADS"])
958 dnl Directory for DRI drivers
959 AC_ARG_WITH([dri-driverdir],
960 [AS_HELP_STRING([--with-dri-driverdir=DIR],
961 [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
962 [DRI_DRIVER_INSTALL_DIR="$withval"],
963 [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
964 AC_SUBST([DRI_DRIVER_INSTALL_DIR])
965 dnl Extra search path for DRI drivers
966 AC_ARG_WITH([dri-searchpath],
967 [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
968 [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
969 [DRI_DRIVER_SEARCH_DIR="$withval"],
970 [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
971 AC_SUBST([DRI_DRIVER_SEARCH_DIR])
972 dnl Which drivers to build - default is chosen by platform
973 AC_ARG_WITH([dri-drivers],
974 [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
975 [comma delimited DRI drivers list, e.g.
976 "swrast,i965,radeon" @<:@default=auto@:>@])],
977 [with_dri_drivers="$withval"],
978 [with_dri_drivers=yes])
979 if test "x$with_dri_drivers" = x; then
983 dnl If $with_dri_drivers is yes, directories will be added through
986 case "$with_dri_drivers" in
992 # verify the requested driver directories exist
993 dri_drivers=`IFS=', '; echo $with_dri_drivers`
994 for driver in $dri_drivers; do
995 test -d "$srcdir/src/mesa/drivers/dri/$driver" || \
996 AC_MSG_ERROR([DRI driver directory '$driver' doesn't exist])
998 DRI_DIRS="$dri_drivers"
1002 dnl Set DRI_DIRS, DEFINES and LIB_DEPS
1003 if test "$mesa_driver" = dri -o "$mesa_driver" = no; then
1004 # Platform specific settings and drivers to build
1007 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1008 if test "x$driglx_direct" = xyes; then
1009 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1011 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
1015 # sis is missing because they have not be converted to use
1016 # the new interface. i810 are missing because there is no
1017 # x86-64 system where they could *ever* be used.
1018 if test "x$DRI_DIRS" = "xyes"; then
1019 DRI_DIRS="i915 i965 mach64 mga nouveau r128 r200 r300 r600 \
1020 radeon savage tdfx unichrome swrast"
1024 # Build only the drivers for cards that exist on PowerPC.
1025 # At some point MGA will be added, but not yet.
1026 if test "x$DRI_DIRS" = "xyes"; then
1027 DRI_DIRS="mach64 r128 r200 r300 r600 radeon tdfx swrast"
1031 # Build only the drivers for cards that exist on sparc`
1032 if test "x$DRI_DIRS" = "xyes"; then
1033 DRI_DIRS="mach64 r128 r200 r300 r600 radeon swrast"
1038 freebsd* | dragonfly* | *netbsd*)
1039 DEFINES="$DEFINES -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1"
1040 DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS"
1041 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1042 if test "x$driglx_direct" = xyes; then
1043 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1046 if test "x$DRI_DIRS" = "xyes"; then
1047 DRI_DIRS="i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 \
1048 radeon tdfx unichrome savage sis swrast"
1052 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1053 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
1056 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1057 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1058 if test "x$driglx_direct" = xyes; then
1059 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1063 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1064 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1065 if test "x$driglx_direct" = xyes; then
1066 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1068 if test "x$DRI_DIRS" = "xyes"; then
1075 if test "x$DRI_DIRS" = "xyes"; then
1076 DRI_DIRS="i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 radeon \
1077 savage sis tdfx unichrome swrast"
1080 DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'`
1083 if test "$mesa_driver" = dri; then
1086 AC_ARG_WITH([expat],
1087 [AS_HELP_STRING([--with-expat=DIR],
1088 [expat install directory])],[
1089 EXPAT_INCLUDES="-I$withval/include"
1090 CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES"
1091 LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR"
1092 EXPAT_LIB="-L$withval/$LIB_DIR -lexpat"
1094 AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])])
1095 AC_CHECK_LIB([expat],[XML_ParserCreate],[],
1096 [AC_MSG_ERROR([Expat required for DRI.])])
1099 # put all the necessary libs together, including possibly libdricore
1100 DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread $DLOPEN_LIBS"
1102 AC_SUBST([DRI_DIRS])
1103 AC_SUBST([EXPAT_INCLUDES])
1104 AC_SUBST([DRI_LIB_DEPS])
1108 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1114 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
1119 *radeon*|*r200*|*r300*|*r600*)
1120 if test "x$HAVE_LIBDRM_RADEON" = xyes; then
1121 RADEON_CFLAGS="-DHAVE_LIBDRM_RADEON=1 $LIBDRM_RADEON_CFLAGS"
1122 RADEON_LDFLAGS=$LIBDRM_RADEON_LIBS
1126 AC_SUBST([RADEON_CFLAGS])
1127 AC_SUBST([RADEON_LDFLAGS])
1131 dnl OSMesa configuration
1133 if test "$mesa_driver" = xlib; then
1134 default_gl_osmesa=yes
1136 default_gl_osmesa=no
1138 AC_ARG_ENABLE([gl-osmesa],
1139 [AS_HELP_STRING([--enable-gl-osmesa],
1140 [enable OSMesa with libGL @<:@default=enabled for xlib driver@:>@])],
1141 [gl_osmesa="$enableval"],
1142 [gl_osmesa="$default_gl_osmesa"])
1143 if test "x$gl_osmesa" = xyes; then
1144 if test "x$enable_opengl" = xno; then
1145 AC_MSG_ERROR([OpenGL is not available for OSMesa driver])
1147 if test "$mesa_driver" = osmesa; then
1148 AC_MSG_ERROR([libGL is not available for OSMesa driver])
1150 DRIVER_DIRS="$DRIVER_DIRS osmesa"
1154 dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
1155 AC_ARG_WITH([osmesa-bits],
1156 [AS_HELP_STRING([--with-osmesa-bits=BITS],
1157 [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
1158 [osmesa_bits="$withval"],
1160 if test "$mesa_driver" != osmesa && test "x$osmesa_bits" != x8; then
1161 AC_MSG_WARN([Ignoring OSMesa channel bits for non-OSMesa driver])
1164 case "x$osmesa_bits" in
1169 OSMESA_LIB="OSMesa$osmesa_bits"
1170 DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
1173 AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
1176 AC_SUBST([OSMESA_LIB])
1178 case "$DRIVER_DIRS" in
1180 # only link libraries with osmesa if shared
1181 if test "$enable_static" = no; then
1182 OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS"
1187 OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS"
1190 AC_SUBST([OSMESA_LIB_DEPS])
1191 AC_SUBST([OSMESA_MESA_DEPS])
1192 AC_SUBST([OSMESA_PC_REQ])
1193 AC_SUBST([OSMESA_PC_LIB_PRIV])
1196 dnl EGL configuration
1200 if test "x$enable_egl" = xno; then
1201 if test "x$mesa_driver" = xno; then
1202 AC_MSG_ERROR([cannot disable EGL when there is no mesa driver])
1205 if test "x$enable_egl" = xyes; then
1206 SRC_DIRS="$SRC_DIRS egl"
1207 EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS -lpthread"
1209 GALLIUM_STATE_TRACKERS_DIRS="egl $GALLIUM_STATE_TRACKERS_DIRS"
1210 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl"
1213 if test "$enable_static" != yes; then
1214 # build egl_glx when libGL is built
1215 if test "$mesa_driver" = xlib -o "$mesa_driver" = dri; then
1216 EGL_DRIVERS_DIRS="glx"
1219 PKG_CHECK_MODULES([LIBUDEV], [libudev > 150],
1220 [have_libudev=yes],[have_libudev=no])
1221 if test "$have_libudev" = yes; then
1222 DEFINES="$DEFINES -DHAVE_LIBUDEV"
1224 if test "$mesa_driver" = dri; then
1225 # build egl_dri2 when xcb-dri2 is available
1226 PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 xcb-xfixes],
1227 [have_xcb_dri2=yes],[have_xcb_dri2=no])
1229 if test "$have_xcb_dri2" = yes; then
1230 EGL_DRIVER_DRI2=dri2
1231 DEFINES="$DEFINES -DHAVE_XCB_DRI2"
1232 # workaround a bug in xcb-dri2 generated by xcb-proto 1.6
1233 AC_CHECK_LIB(xcb-dri2, xcb_dri2_connect_alignment_pad, [],
1234 [DEFINES="$DEFINES -DXCB_DRI2_CONNECT_DEVICE_NAME_BROKEN"])
1238 EGL_DRIVERS_DIRS="$EGL_DRIVERS_DIRS $EGL_DRIVER_DRI2"
1241 AC_SUBST([EGL_LIB_DEPS])
1242 AC_SUBST([EGL_DRIVERS_DIRS])
1245 dnl X.Org DDX configuration
1247 if test "x$enable_xorg" = xyes; then
1248 PKG_CHECK_MODULES([XORG], [xorg-server >= 1.6.0])
1249 PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
1250 PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
1251 PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
1252 HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
1253 HAVE_XEXTPROTO_71="no")
1254 GALLIUM_STATE_TRACKERS_DIRS="xorg $GALLIUM_STATE_TRACKERS_DIRS"
1259 dnl OpenVG configuration
1263 if test "x$enable_openvg" = xyes; then
1264 if test "x$enable_egl" = xno; then
1265 AC_MSG_ERROR([cannot enable OpenVG without EGL])
1267 if test "x$enable_gallium" = xno; then
1268 AC_MSG_ERROR([cannot enable OpenVG without Gallium])
1271 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
1272 VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS -lpthread"
1273 CORE_DIRS="$CORE_DIRS mapi/vgapi"
1274 GALLIUM_STATE_TRACKERS_DIRS="vega $GALLIUM_STATE_TRACKERS_DIRS"
1279 dnl D3D1X configuration
1282 if test "x$enable_d3d1x" = xyes; then
1283 GALLIUM_STATE_TRACKERS_DIRS="d3d1x $GALLIUM_STATE_TRACKERS_DIRS"
1288 dnl GLU configuration
1290 AC_ARG_ENABLE([glu],
1291 [AS_HELP_STRING([--disable-glu],
1292 [enable OpenGL Utility library @<:@default=enabled@:>@])],
1293 [enable_glu="$enableval"],
1296 if test "x$enable_glu" = xyes -a "x$mesa_driver" = xno; then
1297 AC_MSG_NOTICE([Disabling GLU since there is no OpenGL driver])
1301 if test "x$enable_glu" = xyes; then
1302 SRC_DIRS="$SRC_DIRS glu"
1304 case "$mesa_driver" in
1306 # Link libGLU to libOSMesa instead of libGL
1309 if test "$enable_static" = no; then
1310 GLU_MESA_DEPS='-l$(OSMESA_LIB)'
1316 # If static, empty GLU_LIB_DEPS and add libs for programs to link
1318 GLU_PC_LIB_PRIV="-lm"
1319 if test "$enable_static" = no; then
1321 GLU_MESA_DEPS='-l$(GL_LIB)'
1325 APP_LIB_DEPS="$APP_LIB_DEPS -lstdc++"
1330 if test "$enable_static" = no; then
1331 GLU_LIB_DEPS="$GLU_LIB_DEPS $OS_CPLUSPLUS_LIBS"
1333 GLU_PC_LIB_PRIV="$GLU_PC_LIB_PRIV $OS_CPLUSPLUS_LIBS"
1334 AC_SUBST([GLU_LIB_DEPS])
1335 AC_SUBST([GLU_MESA_DEPS])
1336 AC_SUBST([GLU_PC_REQ])
1337 AC_SUBST([GLU_PC_REQ_PRIV])
1338 AC_SUBST([GLU_PC_LIB_PRIV])
1339 AC_SUBST([GLU_PC_CFLAGS])
1342 dnl GLw configuration
1344 AC_ARG_ENABLE([glw],
1345 [AS_HELP_STRING([--disable-glw],
1346 [enable Xt/Motif widget library @<:@default=enabled@:>@])],
1347 [enable_glw="$enableval"],
1349 dnl Don't build GLw on osmesa
1350 if test "x$enable_glw" = xyes; then
1351 case "$mesa_driver" in
1353 AC_MSG_NOTICE([Disabling GLw since there is no OpenGL driver])
1358 AC_ARG_ENABLE([motif],
1359 [AS_HELP_STRING([--enable-motif],
1360 [use Motif widgets in GLw @<:@default=disabled@:>@])],
1361 [enable_motif="$enableval"],
1364 if test "x$enable_glw" = xyes; then
1365 SRC_DIRS="$SRC_DIRS glw"
1366 if test "$x11_pkgconfig" = yes; then
1367 PKG_CHECK_MODULES([GLW],[x11 xt])
1368 GLW_PC_REQ_PRIV="x11 xt"
1369 GLW_LIB_DEPS="$GLW_LIBS"
1371 # should check these...
1372 GLW_LIB_DEPS="$X_LIBS -lXt -lX11"
1373 GLW_PC_LIB_PRIV="$GLW_LIB_DEPS"
1374 GLW_PC_CFLAGS="$X11_INCLUDES"
1377 GLW_SOURCES="GLwDrawA.c"
1379 if test "x$enable_motif" = xyes; then
1380 GLW_SOURCES="$GLW_SOURCES GLwMDrawA.c"
1381 AC_PATH_PROG([MOTIF_CONFIG], [motif-config], [no])
1382 if test "x$MOTIF_CONFIG" != xno; then
1383 MOTIF_CFLAGS=`$MOTIF_CONFIG --cflags`
1384 MOTIF_LIBS=`$MOTIF_CONFIG --libs`
1386 AC_CHECK_HEADER([Xm/PrimitiveP.h], [],
1387 [AC_MSG_ERROR([Can't locate Motif headers])])
1388 AC_CHECK_LIB([Xm], [XmGetPixmap], [MOTIF_LIBS="-lXm"],
1389 [AC_MSG_ERROR([Can't locate Motif Xm library])])
1391 # MOTIF_LIBS is prepended to GLW_LIB_DEPS since Xm needs Xt/X11
1392 GLW_LIB_DEPS="$MOTIF_LIBS $GLW_LIB_DEPS"
1393 GLW_PC_LIB_PRIV="$MOTIF_LIBS $GLW_PC_LIB_PRIV"
1394 GLW_PC_CFLAGS="$MOTIF_CFLAGS $GLW_PC_CFLAGS"
1397 # If static, empty GLW_LIB_DEPS and add libs for programs to link
1398 GLW_PC_LIB_PRIV="$GLW_PC_LIB_PRIV"
1399 if test "$enable_static" = no; then
1400 GLW_MESA_DEPS='-l$(GL_LIB)'
1401 GLW_LIB_DEPS="$GLW_LIB_DEPS"
1403 APP_LIB_DEPS="$APP_LIB_DEPS $GLW_LIB_DEPS"
1408 AC_SUBST([GLW_LIB_DEPS])
1409 AC_SUBST([GLW_MESA_DEPS])
1410 AC_SUBST([GLW_SOURCES])
1411 AC_SUBST([MOTIF_CFLAGS])
1412 AC_SUBST([GLW_PC_REQ_PRIV])
1413 AC_SUBST([GLW_PC_LIB_PRIV])
1414 AC_SUBST([GLW_PC_CFLAGS])
1417 dnl GLUT configuration
1419 if test -f "$srcdir/include/GL/glut.h"; then
1424 AC_ARG_ENABLE([glut],
1425 [AS_HELP_STRING([--disable-glut],
1426 [enable GLUT library @<:@default=enabled if source available@:>@])],
1427 [enable_glut="$enableval"],
1428 [enable_glut="$default_glut"])
1430 dnl Don't build glut on osmesa
1431 if test "x$enable_glut" = xyes; then
1432 case "$mesa_driver" in
1434 AC_MSG_NOTICE([Disabling glut since there is no OpenGL driver])
1439 dnl Can't build glut if GLU not available
1440 if test "x$enable_glu$enable_glut" = xnoyes; then
1441 AC_MSG_WARN([Disabling glut since GLU is disabled])
1445 if test "x$enable_glut" = xyes; then
1446 SRC_DIRS="$SRC_DIRS glut/glx"
1447 if test "$x11_pkgconfig" = yes; then
1448 PKG_CHECK_MODULES([GLUT],[x11 xmu xi])
1449 GLUT_PC_REQ_PRIV="x11 xmu xi"
1450 GLUT_LIB_DEPS="$GLUT_LIBS"
1452 # should check these...
1453 GLUT_LIB_DEPS="$X_LIBS -lX11 -lXmu -lXi"
1454 GLUT_PC_LIB_PRIV="$GLUT_LIB_DEPS"
1455 GLUT_PC_CFLAGS="$X11_INCLUDES"
1457 if test "x$GCC" = xyes; then
1458 GLUT_CFLAGS="$GLUT_CFLAGS -fexceptions"
1460 GLUT_LIB_DEPS="$GLUT_LIB_DEPS -lm"
1461 GLUT_PC_LIB_PRIV="$GLUT_PC_LIB_PRIV -lm"
1463 # If static, empty GLUT_LIB_DEPS and add libs for programs to link
1464 if test "$enable_static" = no; then
1465 GLUT_MESA_DEPS='-l$(GLU_LIB) -l$(GL_LIB)'
1467 APP_LIB_DEPS="$APP_LIB_DEPS $GLUT_LIB_DEPS"
1472 AC_SUBST([GLUT_LIB_DEPS])
1473 AC_SUBST([GLUT_MESA_DEPS])
1474 AC_SUBST([GLUT_CFLAGS])
1475 AC_SUBST([GLUT_PC_REQ_PRIV])
1476 AC_SUBST([GLUT_PC_LIB_PRIV])
1477 AC_SUBST([GLUT_PC_CFLAGS])
1480 dnl Program library dependencies
1481 dnl Only libm is added here if necessary as the libraries should
1482 dnl be pulled in by the linker
1484 if test "x$APP_LIB_DEPS" = x; then
1487 APP_LIB_DEPS="-lX11 -lsocket -lnsl -lm"
1490 APP_LIB_DEPS="-lX11"
1497 AC_SUBST([APP_LIB_DEPS])
1498 AC_SUBST([PROGRAM_DIRS])
1501 dnl Gallium configuration
1503 if test "x$enable_gallium" = xyes; then
1504 SRC_DIRS="$SRC_DIRS gallium gallium/winsys gallium/targets"
1505 AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
1508 AC_SUBST([LLVM_CFLAGS])
1509 AC_SUBST([LLVM_LIBS])
1510 AC_SUBST([LLVM_LDFLAGS])
1511 AC_SUBST([LLVM_VERSION])
1515 case "x$enable_opengl$enable_gles1$enable_gles2" in
1517 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
1521 AC_SUBST([VG_LIB_DEPS])
1522 AC_SUBST([EGL_CLIENT_APIS])
1524 AC_ARG_WITH([egl-platforms],
1525 [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1526 [comma delimited native platforms libEGL supports, e.g.
1527 "x11,drm" @<:@default=auto@:>@])],
1528 [with_egl_platforms="$withval"],
1529 [with_egl_platforms=yes])
1530 AC_ARG_WITH([egl-displays],
1531 [AS_HELP_STRING([--with-egl-displays@<:@=DIRS...@:>@],
1532 [DEPRECATED. Use --with-egl-platforms instead])],
1533 [with_egl_platforms="$withval"])
1536 WAYLAND_EGL_LIB_DEPS=""
1538 case "$with_egl_platforms" in
1540 if test "x$enable_egl" = xyes && test "x$mesa_driver" != xosmesa; then
1542 if test "$mesa_driver" = dri; then
1543 EGL_PLATFORMS="$EGL_PLATFORMS drm"
1548 if test "x$enable_egl" != xyes; then
1549 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1551 # verify the requested driver directories exist
1552 egl_platforms=`IFS=', '; echo $with_egl_platforms`
1553 for plat in $egl_platforms; do
1554 test -d "$srcdir/src/gallium/state_trackers/egl/$plat" || \
1555 AC_MSG_ERROR([EGL platform '$plat' doesn't exist])
1556 if test "$plat" = "fbdev"; then
1557 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/fbdev"
1559 if test "$plat" = "wayland"; then
1560 PKG_CHECK_MODULES([WAYLAND], [wayland-client wayland-server],, \
1561 [AC_MSG_ERROR([cannot find libwayland-client])])
1562 WAYLAND_EGL_LIB_DEPS="$WAYLAND_LIBS $LIBDRM_LIBS"
1563 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/wayland"
1566 EGL_PLATFORMS="$egl_platforms"
1569 AC_SUBST([EGL_PLATFORMS])
1571 AC_SUBST([WAYLAND_EGL_LIB_DEPS])
1572 WAYLAND_EGL_PC_REQ_PRIV="wayland-client libdrm"
1573 WAYLAND_EGL_PC_LIB_PRIV=
1574 WAYLAND_EGL_PC_CFLAGS=
1576 AC_SUBST([WAYLAND_EGL_PC_REQ_PRIV])
1577 AC_SUBST([WAYLAND_EGL_PC_LIB_PRIV])
1578 AC_SUBST([WAYLAND_EGL_PC_CFLAGS])
1581 AC_ARG_WITH([egl-driver-dir],
1582 [AS_HELP_STRING([--with-egl-driver-dir=DIR],
1583 [directory for EGL drivers [[default=${libdir}/egl]]])],
1584 [EGL_DRIVER_INSTALL_DIR="$withval"],
1585 [EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
1586 AC_SUBST([EGL_DRIVER_INSTALL_DIR])
1588 AC_ARG_WITH([xorg-driver-dir],
1589 [AS_HELP_STRING([--with-xorg-driver-dir=DIR],
1590 [Default xorg driver directory[[default=${libdir}/xorg/modules/drivers]]])],
1591 [XORG_DRIVER_INSTALL_DIR="$withval"],
1592 [XORG_DRIVER_INSTALL_DIR="${libdir}/xorg/modules/drivers"])
1593 AC_SUBST([XORG_DRIVER_INSTALL_DIR])
1595 AC_ARG_WITH([max-width],
1596 [AS_HELP_STRING([--with-max-width=N],
1597 [Maximum framebuffer width (4096)])],
1598 [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1599 AS_IF([test "${withval}" -gt "4096"],
1600 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1602 AC_ARG_WITH([max-height],
1603 [AS_HELP_STRING([--with-max-height=N],
1604 [Maximum framebuffer height (4096)])],
1605 [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1606 AS_IF([test "${withval}" -gt "4096"],
1607 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1613 AC_ARG_ENABLE([gallium-llvm],
1614 [AS_HELP_STRING([--enable-gallium-llvm],
1615 [build gallium LLVM support @<:@default=enabled on x86/x86_64@:>@])],
1616 [enable_gallium_llvm="$enableval"],
1617 [enable_gallium_llvm=auto])
1618 if test "x$enable_gallium_llvm" = xauto; then
1620 i*86|x86_64) enable_gallium_llvm=yes;;
1623 if test "x$enable_gallium_llvm" = xyes; then
1624 if test "x$LLVM_CONFIG" != xno; then
1625 LLVM_VERSION=`$LLVM_CONFIG --version`
1626 LLVM_CFLAGS=`$LLVM_CONFIG --cppflags`
1627 LLVM_LIBS="`$LLVM_CONFIG --libs` -lstdc++"
1629 LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1630 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1631 DEFINES="$DEFINES -DGALLIUM_LLVMPIPE -D__STDC_CONSTANT_MACROS"
1641 dnl Gallium helper functions
1643 gallium_check_st() {
1644 if test "x$HAVE_ST_DRI" = xyes || test "x$HAVE_ST_XORG" = xyes; then
1645 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
1647 if test "x$HAVE_ST_DRI" = xyes && test "x$2" != x; then
1648 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
1650 if test "x$HAVE_ST_XORG" = xyes && test "x$3" != x; then
1651 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
1655 gallium_require_llvm() {
1656 if test "x$MESA_LLVM" = x0; then
1658 i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
1665 dnl Gallium SVGA configuration
1667 AC_ARG_ENABLE([gallium-svga],
1668 [AS_HELP_STRING([--enable-gallium-svga],
1669 [build gallium SVGA @<:@default=disabled@:>@])],
1670 [enable_gallium_svga="$enableval"],
1671 [enable_gallium_svga=auto])
1672 if test "x$enable_gallium_svga" = xyes; then
1673 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga"
1674 gallium_check_st "svga/drm" "dri-vmwgfx" "xorg-vmwgfx"
1675 elif test "x$enable_gallium_svga" = xauto; then
1676 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga"
1680 dnl Gallium i915 configuration
1682 AC_ARG_ENABLE([gallium-i915],
1683 [AS_HELP_STRING([--enable-gallium-i915],
1684 [build gallium i915 @<:@default=disabled@:>@])],
1685 [enable_gallium_i915="$enableval"],
1686 [enable_gallium_i915=auto])
1687 if test "x$enable_gallium_i915" = xyes; then
1688 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1689 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915"
1690 gallium_check_st "i915/drm" "dri-i915" "xorg-i915"
1691 elif test "x$enable_gallium_i915" = xauto; then
1692 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1693 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915"
1697 dnl Gallium i965 configuration
1699 AC_ARG_ENABLE([gallium-i965],
1700 [AS_HELP_STRING([--enable-gallium-i965],
1701 [build gallium i965 @<:@default=disabled@:>@])],
1702 [enable_gallium_i965="$enableval"],
1703 [enable_gallium_i965=auto])
1704 if test "x$enable_gallium_i965" = xyes; then
1705 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i965"
1706 gallium_check_st "i965/drm" "dri-i965" "xorg-i965"
1707 elif test "x$enable_gallium_i965" = xauto; then
1708 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i965"
1712 dnl Gallium Radeon r300g configuration
1714 AC_ARG_ENABLE([gallium-r300],
1715 [AS_HELP_STRING([--disable-gallium-r300],
1716 [build R300 driver @<:@default=enabled@:>@])],
1717 [enable_gallium_r300="$enableval"],
1718 [enable_gallium_r300=yes])
1720 if test "x$enable_gallium_r300" = xyes && test "x$mesa_driver" = xdri; then
1721 gallium_require_llvm "Gallium R300"
1723 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
1724 gallium_check_st "radeon/drm" "dri-r300" "xorg-r300"
1728 dnl Gallium Radeon r600g configuration
1730 AC_ARG_ENABLE([gallium-r600],
1731 [AS_HELP_STRING([--enable-gallium-r600],
1732 [build gallium r600 @<:@default=disabled@:>@])],
1733 [enable_gallium_r600="$enableval"],
1734 [enable_gallium_r600=auto])
1735 if test "x$enable_gallium_r600" = xyes; then
1736 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
1737 gallium_check_st "r600/drm" "dri-r600"
1741 dnl Gallium Nouveau configuration
1743 AC_ARG_ENABLE([gallium-nouveau],
1744 [AS_HELP_STRING([--enable-gallium-nouveau],
1745 [build gallium nouveau @<:@default=disabled@:>@])],
1746 [enable_gallium_nouveau="$enableval"],
1747 [enable_gallium_nouveau=no])
1748 if test "x$enable_gallium_nouveau" = xyes; then
1749 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nvfx nv50 nvc0"
1750 gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau"
1754 dnl Gallium swrast configuration
1756 AC_ARG_ENABLE([gallium-swrast],
1757 [AS_HELP_STRING([--enable-gallium-swrast],
1758 [build gallium swrast @<:@default=auto@:>@])],
1759 [enable_gallium_swrast="$enableval"],
1760 [enable_gallium_swrast=auto])
1761 if test "x$enable_gallium_swrast" = xyes || test "x$enable_gallium_swrast" = xauto; then
1762 if test "x$HAVE_ST_DRI" = xyes; then
1763 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast"
1767 dnl prepend CORE_DIRS to SRC_DIRS
1768 SRC_DIRS="$CORE_DIRS $SRC_DIRS"
1770 dnl Restore LDFLAGS and CPPFLAGS
1771 LDFLAGS="$_SAVE_LDFLAGS"
1772 CPPFLAGS="$_SAVE_CPPFLAGS"
1774 dnl Substitute the config
1775 AC_CONFIG_FILES([configs/autoconf])
1777 dnl Replace the configs/current symlink
1778 AC_CONFIG_COMMANDS([configs],[
1779 if test -f configs/current || test -L configs/current; then
1780 rm -f configs/current
1782 ln -s autoconf configs/current
1788 dnl Output some configuration info for the user
1791 echo " prefix: $prefix"
1792 echo " exec_prefix: $exec_prefix"
1793 echo " libdir: $libdir"
1794 echo " includedir: $includedir"
1798 echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
1799 echo " OpenVG: $enable_openvg"
1803 echo " Driver: $mesa_driver"
1804 if test "$mesa_driver" != no; then
1805 if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then
1806 echo " OSMesa: lib$OSMESA_LIB"
1810 if test "$mesa_driver" = dri; then
1811 # cleanup the drivers var
1812 dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'`
1813 if test "x$DRI_DIRS" = x; then
1814 echo " DRI drivers: no"
1816 echo " DRI drivers: $dri_dirs"
1818 echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
1819 echo " Use XCB: $enable_xcb"
1820 echo " Shared dricore: $enable_dricore"
1824 echo " GLU: $enable_glu"
1825 echo " GLw: $enable_glw (Motif: $enable_motif)"
1826 echo " glut: $enable_glut"
1830 echo " EGL: $enable_egl"
1831 if test "$enable_egl" = yes; then
1832 echo " EGL platforms: $EGL_PLATFORMS"
1835 for d in $EGL_DRIVERS_DIRS; do
1836 egl_drivers="$egl_drivers builtin:egl_$d"
1839 if test "$enable_gallium" = yes -a "$HAVE_ST_EGL" = yes; then
1840 echo " EGL drivers: ${egl_drivers} egl_gallium"
1841 echo " EGL Gallium STs:$EGL_CLIENT_APIS"
1843 echo " EGL drivers: $egl_drivers"
1848 if test "x$MESA_LLVM" = x1; then
1850 echo " llvm-config: $LLVM_CONFIG"
1851 echo " llvm-version: $LLVM_VERSION"
1857 if echo "$SRC_DIRS" | grep 'gallium' >/dev/null 2>&1; then
1858 echo " Gallium: yes"
1859 echo " Gallium dirs: $GALLIUM_DIRS"
1860 echo " Target dirs: $GALLIUM_TARGET_DIRS"
1861 echo " Winsys dirs: $GALLIUM_WINSYS_DIRS"
1862 echo " Driver dirs: $GALLIUM_DRIVERS_DIRS"
1863 echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS"
1870 echo " Shared libs: $enable_shared"
1871 echo " Static libs: $enable_static"
1873 dnl Compiler options
1874 # cleanup the CFLAGS/CXXFLAGS/DEFINES vars
1875 cflags=`echo $CFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1876 $SED 's/^ *//;s/ */ /;s/ *$//'`
1877 cxxflags=`echo $CXXFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1878 $SED 's/^ *//;s/ */ /;s/ *$//'`
1879 defines=`echo $DEFINES $ASM_FLAGS | $SED 's/^ *//;s/ */ /;s/ *$//'`
1881 echo " CFLAGS: $cflags"
1882 echo " CXXFLAGS: $cxxflags"
1883 echo " Macros: $defines"
1885 echo " PYTHON2: $PYTHON2"
1888 echo " Run '${MAKE-make}' to build Mesa"