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}
355 GBM_LIB_NAME='lib$(GBM_LIB).'${LIB_EXTENSION}
357 GL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
358 GLU_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLU_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
359 GLUT_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLUT_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
360 GLW_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLW_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
361 OSMESA_LIB_GLOB=${LIB_PREFIX_GLOB}'$(OSMESA_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
362 EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
363 EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
364 GLESv1_CM_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv1_CM_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
365 GLESv2_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv2_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
366 VG_LIB_GLOB=${LIB_PREFIX_GLOB}'$(VG_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
367 GLAPI_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLAPI_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
368 WAYLAND_EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(WAYLAND_EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
369 GBM_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GBM_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
371 AC_SUBST([GL_LIB_NAME])
372 AC_SUBST([GLU_LIB_NAME])
373 AC_SUBST([GLUT_LIB_NAME])
374 AC_SUBST([GLW_LIB_NAME])
375 AC_SUBST([OSMESA_LIB_NAME])
376 AC_SUBST([EGL_LIB_NAME])
377 AC_SUBST([GLESv1_CM_LIB_NAME])
378 AC_SUBST([GLESv2_LIB_NAME])
379 AC_SUBST([VG_LIB_NAME])
380 AC_SUBST([GLAPI_LIB_NAME])
381 AC_SUBST([WAYLAND_EGL_LIB_NAME])
382 AC_SUBST([GBM_LIB_NAME])
384 AC_SUBST([GL_LIB_GLOB])
385 AC_SUBST([GLU_LIB_GLOB])
386 AC_SUBST([GLUT_LIB_GLOB])
387 AC_SUBST([GLW_LIB_GLOB])
388 AC_SUBST([OSMESA_LIB_GLOB])
389 AC_SUBST([EGL_LIB_GLOB])
390 AC_SUBST([GLESv1_CM_LIB_GLOB])
391 AC_SUBST([GLESv2_LIB_GLOB])
392 AC_SUBST([VG_LIB_GLOB])
393 AC_SUBST([GLAPI_LIB_GLOB])
394 AC_SUBST([WAYLAND_EGL_LIB_GLOB])
395 AC_SUBST([GBM_LIB_GLOB])
398 dnl Arch/platform-specific settings
401 [AS_HELP_STRING([--disable-asm],
402 [disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
403 [enable_asm="$enableval"],
410 AC_MSG_CHECKING([whether to enable assembly])
411 test "x$enable_asm" = xno && AC_MSG_RESULT([no])
412 # disable if cross compiling on x86/x86_64 since we must run gen_matypes
413 if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
417 AC_MSG_RESULT([no, cross compiling])
421 # check for supported arches
422 if test "x$enable_asm" = xyes; then
426 linux* | *freebsd* | dragonfly* | *netbsd*)
427 test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86
433 linux* | *freebsd* | dragonfly* | *netbsd*)
434 test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
456 ASM_FLAGS="-DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
457 MESA_ASM_SOURCES='$(X86_SOURCES)'
458 GLAPI_ASM_SOURCES='$(X86_API)'
459 AC_MSG_RESULT([yes, x86])
462 ASM_FLAGS="-DUSE_X86_64_ASM"
463 MESA_ASM_SOURCES='$(X86-64_SOURCES)'
464 GLAPI_ASM_SOURCES='$(X86-64_API)'
465 AC_MSG_RESULT([yes, x86_64])
468 ASM_FLAGS="-DUSE_PPC_ASM -DUSE_VMX_ASM"
469 MESA_ASM_SOURCES='$(PPC_SOURCES)'
470 AC_MSG_RESULT([yes, ppc])
473 ASM_FLAGS="-DUSE_SPARC_ASM"
474 MESA_ASM_SOURCES='$(SPARC_SOURCES)'
475 GLAPI_ASM_SOURCES='$(SPARC_API)'
476 AC_MSG_RESULT([yes, sparc])
479 AC_MSG_RESULT([no, platform not supported])
483 AC_SUBST([ASM_FLAGS])
484 AC_SUBST([MESA_ASM_SOURCES])
485 AC_SUBST([GLAPI_ASM_SOURCES])
490 dnl Check to see if dlopen is in default libraries (like Solaris, which
491 dnl has it in libc), or if libdl is needed to get it.
492 AC_CHECK_FUNC([dlopen], [],
493 [AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])])
494 AC_SUBST([DLOPEN_LIBS])
496 dnl See if posix_memalign is available
497 AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
499 dnl SELinux awareness.
500 AC_ARG_ENABLE([selinux],
501 [AS_HELP_STRING([--enable-selinux],
502 [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
503 [MESA_SELINUX="$enableval"],
505 if test "x$enable_selinux" = "xyes"; then
506 AC_CHECK_HEADER([selinux/selinux.h],[],
507 [AC_MSG_ERROR([SELinux headers not found])])
508 AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
509 [AC_MSG_ERROR([SELinux library not found])])
510 SELINUX_LIBS="-lselinux"
511 DEFINES="$DEFINES -DMESA_SELINUX"
515 AC_ARG_ENABLE([opengl],
516 [AS_HELP_STRING([--disable-opengl],
517 [disable support for standard OpenGL API @<:@default=no@:>@])],
518 [enable_opengl="$enableval"],
520 AC_ARG_ENABLE([gles1],
521 [AS_HELP_STRING([--enable-gles1],
522 [enable support for OpenGL ES 1.x API @<:@default=no@:>@])],
523 [enable_gles1="$enableval"],
525 AC_ARG_ENABLE([gles2],
526 [AS_HELP_STRING([--enable-gles2],
527 [enable support for OpenGL ES 2.x API @<:@default=no@:>@])],
528 [enable_gles2="$enableval"],
530 AC_ARG_ENABLE([openvg],
531 [AS_HELP_STRING([--enable-openvg],
532 [enable support for OpenVG API @<:@default=no@:>@])],
533 [enable_openvg="$enableval"],
535 AC_ARG_ENABLE([xorg],
536 [AS_HELP_STRING([--enable-xorg],
537 [enable support for X.Org DDX API @<:@default=no@:>@])],
538 [enable_xorg="$enableval"],
540 AC_ARG_ENABLE([d3d1x],
541 [AS_HELP_STRING([--enable-d3d1x],
542 [enable support for Direct3D 10 & 11 low-level API @<:@default=no@:>@])],
543 [enable_d3d1x="$enableval"],
546 [AS_HELP_STRING([--disable-egl],
547 [disable EGL library @<:@default=enabled@:>@])],
548 [enable_egl="$enableval"],
551 [AS_HELP_STRING([--enable-gbm],
552 [enable gbm library @<:@default=auto@:>@])],
553 [enable_gbm="$enableval"],
555 AC_ARG_ENABLE([gallium_egl],
556 [AS_HELP_STRING([--enable-gallium-egl],
557 [enable optional EGL state tracker (not required
558 for EGL support in Gallium with OpenGL and OpenGL ES)
559 @<:@default=disable@:>@])],
560 [enable_gallium_egl="$enableval"],
561 [enable_gallium_egl=no])
563 # Option for Gallium drivers
564 GALLIUM_DRIVERS_DEFAULT="r300,r600,swrast"
566 AC_ARG_WITH([gallium-drivers],
567 [AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@],
568 [comma delimited Gallium drivers list, e.g.
569 "i915,i965,nouveau,r300,r600,svga,swrast"
570 @<:@default=r300,r600,swrast@:>@])],
571 [with_gallium_drivers="$withval"],
572 [with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"])
574 if test "x$enable_opengl" = xno -a \
575 "x$enable_gles1" = xno -a \
576 "x$enable_gles2" = xno -a \
577 "x$enable_openvg" = xno -a \
578 "x$enable_xorg" = xno -a \
579 "x$enable_d3d1x" = xno; then
580 AC_MSG_ERROR([at least one API should be enabled])
584 if test "x$enable_opengl" = xno; then
585 API_DEFINES="$API_DEFINES -DFEATURE_GL=0"
587 API_DEFINES="$API_DEFINES -DFEATURE_GL=1"
589 if test "x$enable_gles1" = xyes; then
590 API_DEFINES="$API_DEFINES -DFEATURE_ES1=1"
592 if test "x$enable_gles2" = xyes; then
593 API_DEFINES="$API_DEFINES -DFEATURE_ES2=1"
595 AC_SUBST([API_DEFINES])
597 AC_ARG_ENABLE([shared-glapi],
598 [AS_HELP_STRING([--enable-shared-glapi],
599 [EXPERIMENTAL. Enable shared glapi for OpenGL @<:@default=no@:>@])],
600 [enable_shared_glapi="$enableval"],
601 [enable_shared_glapi=no])
604 if test "x$enable_shared_glapi" = xyes; then
607 AC_SUBST([SHARED_GLAPI])
610 dnl Driver configuration. Options are xlib, dri and osmesa right now.
611 dnl More later: fbdev, ...
613 default_driver="xlib"
618 i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
621 *freebsd* | dragonfly* | *netbsd*)
623 i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
628 if test "x$enable_opengl" = xno; then
632 AC_ARG_WITH([driver],
633 [AS_HELP_STRING([--with-driver=DRIVER],
634 [driver for Mesa: xlib,dri,osmesa @<:@default=dri when available, or xlib@:>@])],
635 [mesa_driver="$withval"],
636 [mesa_driver="$default_driver"])
637 dnl Check for valid option
638 case "x$mesa_driver" in
640 if test "x$enable_opengl" = xno; then
641 AC_MSG_ERROR([Driver '$mesa_driver' requires OpenGL enabled])
647 AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option])
652 dnl Driver specific build directories
655 dnl this variable will be prepended to SRC_DIRS and is not exported
660 GALLIUM_DIRS="auxiliary drivers state_trackers"
661 GALLIUM_TARGET_DIRS=""
662 GALLIUM_WINSYS_DIRS="sw"
663 GALLIUM_DRIVERS_DIRS="softpipe failover galahad trace rbug noop identity"
664 GALLIUM_STATE_TRACKERS_DIRS=""
666 # build shared-glapi if enabled for OpenGL or if OpenGL ES is enabled
667 case "x$enable_shared_glapi$enable_gles1$enable_gles2" in
669 CORE_DIRS="$CORE_DIRS mapi/shared-glapi"
673 # build glapi if OpenGL is enabled
674 if test "x$enable_opengl" = xyes; then
675 CORE_DIRS="$CORE_DIRS mapi/glapi"
678 # build es1api if OpenGL ES 1.x is enabled
679 if test "x$enable_gles1" = xyes; then
680 CORE_DIRS="$CORE_DIRS mapi/es1api"
683 # build es2api if OpenGL ES 2.x is enabled
684 if test "x$enable_gles2" = xyes; then
685 CORE_DIRS="$CORE_DIRS mapi/es2api"
688 # build glsl and mesa if OpenGL or OpenGL ES is enabled
689 case "x$enable_opengl$enable_gles1$enable_gles2" in
691 CORE_DIRS="$CORE_DIRS glsl mesa"
695 case "$mesa_driver" in
698 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
699 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
700 GALLIUM_STATE_TRACKERS_DIRS="glx $GALLIUM_STATE_TRACKERS_DIRS"
703 SRC_DIRS="$SRC_DIRS glx"
705 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib sw/dri"
706 GALLIUM_STATE_TRACKERS_DIRS="dri $GALLIUM_STATE_TRACKERS_DIRS"
718 AC_SUBST([DRIVER_DIRS])
719 AC_SUBST([GALLIUM_DIRS])
720 AC_SUBST([GALLIUM_TARGET_DIRS])
721 AC_SUBST([GALLIUM_WINSYS_DIRS])
722 AC_SUBST([GALLIUM_DRIVERS_DIRS])
723 AC_SUBST([GALLIUM_STATE_TRACKERS_DIRS])
724 AC_SUBST([MESA_LLVM])
727 dnl Find out if X is available. The variable have_x is set if libX11 is
728 dnl found to mimic AC_PATH_XTRA.
730 if test -n "$PKG_CONFIG"; then
731 AC_MSG_CHECKING([pkg-config files for X11 are available])
732 PKG_CHECK_EXISTS([x11],[
738 AC_MSG_RESULT([$x11_pkgconfig])
742 dnl Use the autoconf macro if no pkg-config files
743 if test "$x11_pkgconfig" = yes; then
744 PKG_CHECK_MODULES([X11], [x11])
747 test -z "$X11_CFLAGS" && X11_CFLAGS="$X_CFLAGS"
748 test -z "$X11_LIBS" && X11_LIBS="$X_LIBS -lX11"
749 AC_SUBST([X11_CFLAGS])
753 dnl Try to tell the user that the --x-* options are only used when
754 dnl pkg-config is not available. This must be right after AC_PATH_XTRA.
755 m4_divert_once([HELP_BEGIN],
756 [These options are only used when the X libraries cannot be found by the
757 pkg-config utility.])
759 dnl We need X for xlib and dri, so bomb now if it's not found
760 case "$mesa_driver" in
762 if test "$no_x" = yes; then
763 AC_MSG_ERROR([X11 development libraries needed for $mesa_driver driver])
768 dnl XCB - this is only used for GLX right now
770 [AS_HELP_STRING([--enable-xcb],
771 [use XCB for GLX @<:@default=disabled@:>@])],
772 [enable_xcb="$enableval"],
774 if test "x$enable_xcb" = xyes; then
775 DEFINES="$DEFINES -DUSE_XCB"
780 dnl Direct rendering or just indirect rendering
783 dnl Disable by default on GNU/Hurd
784 driglx_direct_default="no"
787 dnl Disable by default on cygwin
788 driglx_direct_default="no"
791 driglx_direct_default="yes"
794 AC_ARG_ENABLE([driglx-direct],
795 [AS_HELP_STRING([--disable-driglx-direct],
796 [enable direct rendering in GLX and EGL for DRI \
797 @<:@default=auto@:>@])],
798 [driglx_direct="$enableval"],
799 [driglx_direct="$driglx_direct_default"])
802 dnl libGL configuration per driver
804 case "$mesa_driver" in
806 if test "$x11_pkgconfig" = yes; then
807 PKG_CHECK_MODULES([XLIBGL], [x11 xext])
808 GL_PC_REQ_PRIV="x11 xext"
809 X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
810 GL_LIB_DEPS="$XLIBGL_LIBS"
812 # should check these...
813 X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
814 GL_LIB_DEPS="$X_LIBS -lX11 -lXext"
815 GL_PC_LIB_PRIV="$GL_LIB_DEPS"
816 GL_PC_CFLAGS="$X11_INCLUDES"
818 GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread"
819 GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm -lpthread"
821 # if static, move the external libraries to the programs
822 # and empty the libraries for libGL
823 if test "$enable_static" = yes; then
824 APP_LIB_DEPS="$APP_LIB_DEPS $GL_LIB_DEPS"
828 dri|no) # these checks are still desired when there is no mesa_driver
829 # DRI must be shared, I think
830 if test "$enable_static" = yes; then
831 AC_MSG_ERROR([Can't use static libraries for DRI drivers])
834 PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
835 GL_PC_REQ_PRIV="glproto >= $GLPROTO_REQUIRED"
838 if test x"$driglx_direct" = xyes; then
840 PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
841 PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
842 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED"
843 DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
846 # find the DRI deps for libGL
847 if test "$x11_pkgconfig" = yes; then
848 dri_modules="x11 xext xdamage xfixes"
850 # add xf86vidmode if available
851 PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no)
852 if test "$HAVE_XF86VIDMODE" = yes ; then
853 dri_modules="$dri_modules xxf86vm"
856 # add xcb modules if necessary
857 if test "$enable_xcb" = yes; then
858 dri_modules="$dri_modules x11-xcb xcb-glx"
861 PKG_CHECK_MODULES([DRIGL], [$dri_modules])
862 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
863 X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
864 GL_LIB_DEPS="$DRIGL_LIBS"
866 # should check these...
867 X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
868 GL_LIB_DEPS="$X_LIBS -lX11 -lXext -lXxf86vm -lXdamage -lXfixes"
869 GL_PC_LIB_PRIV="$GL_LIB_DEPS"
870 GL_PC_CFLAGS="$X11_INCLUDES"
872 # XCB can only be used from pkg-config
873 if test "$enable_xcb" = yes; then
874 PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx])
875 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV x11-xcb xcb-glx"
876 X11_INCLUDES="$X11_INCLUDES $XCB_CFLAGS"
877 GL_LIB_DEPS="$GL_LIB_DEPS $XCB_LIBS"
881 # need DRM libs, -lpthread, etc.
882 GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
883 GL_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
884 GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
885 GLESv1_CM_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
886 GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
887 GLESv2_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
890 # No libGL for osmesa
894 AC_SUBST([GL_LIB_DEPS])
895 AC_SUBST([GL_PC_REQ_PRIV])
896 AC_SUBST([GL_PC_LIB_PRIV])
897 AC_SUBST([GL_PC_CFLAGS])
898 AC_SUBST([DRI_PC_REQ_PRIV])
899 AC_SUBST([GLESv1_CM_LIB_DEPS])
900 AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
901 AC_SUBST([GLESv2_LIB_DEPS])
902 AC_SUBST([GLESv2_PC_LIB_PRIV])
904 GLAPI_LIB_DEPS="-lpthread"
905 AC_SUBST([GLAPI_LIB_DEPS])
908 dnl Setup default DRI CFLAGS
909 DRI_CFLAGS='$(CFLAGS)'
910 DRI_CXXFLAGS='$(CXXFLAGS)'
911 DRI_LIB_DEPS='$(TOP)/src/mesa/libmesa.a'
912 MESA_MODULES='$(TOP)/src/mesa/libmesa.a'
914 AC_ARG_ENABLE([shared-dricore],
915 [AS_HELP_STRING([--enable-shared-dricore],
916 [link DRI modules with shared core DRI routines @<:@default=disabled@:>@])],
917 [enable_dricore="$enableval"],
919 if test "$mesa_driver" = dri ; then
920 if test "$enable_dricore" = yes ; then
921 if test "$GCC$GXX" != yesyes ; then
922 AC_MSG_WARN([Shared dricore requires GCC-compatible rpath handling. Disabling shared dricore])
925 DRICORE_GLSL_LIBS='$(TOP)/$(LIB_DIR)/libglsl.so'
926 DRICORE_LIBS='$(TOP)/$(LIB_DIR)/libdricore.so'
927 DRICORE_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -lglsl'
928 DRI_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore -lglsl'
929 DRI_CFLAGS='$(CFLAGS_NOVISIBILITY) -DUSE_DRICORE'
930 DRI_CXXFLAGS='$(CXXFLAGS_NOVISIBILITY) -DUSE_DRICORE'
931 MESA_MODULES='$(DRICORE_LIBS) $(DRICORE_GLSL_LIBS)'
935 AC_SUBST([DRICORE_LIBS])
936 AC_SUBST([DRICORE_GLSL_LIBS])
937 AC_SUBST([DRICORE_LIB_DEPS])
938 AC_SUBST([DRI_CXXFLAGS])
939 AC_SUBST([DRI_CFLAGS])
940 AC_SUBST([MESA_MODULES])
942 AC_SUBST([HAVE_XF86VIDMODE])
944 PKG_CHECK_MODULES([LIBDRM_RADEON],
945 [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED],
946 HAVE_LIBDRM_RADEON=yes,
947 HAVE_LIBDRM_RADEON=no)
952 if test "$mesa_driver" = xlib; then
953 DEFINES="$DEFINES -DUSE_XSHM"
960 AC_ARG_ENABLE([glx-tls],
961 [AS_HELP_STRING([--enable-glx-tls],
962 [enable TLS support in GLX @<:@default=disabled@:>@])],
963 [GLX_USE_TLS="$enableval"],
965 AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
967 AS_IF([test "x$GLX_USE_TLS" = xyes],
968 [DEFINES="${DEFINES} -DGLX_USE_TLS -DPTHREADS"])
973 dnl Directory for DRI drivers
974 AC_ARG_WITH([dri-driverdir],
975 [AS_HELP_STRING([--with-dri-driverdir=DIR],
976 [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
977 [DRI_DRIVER_INSTALL_DIR="$withval"],
978 [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
979 AC_SUBST([DRI_DRIVER_INSTALL_DIR])
980 dnl Extra search path for DRI drivers
981 AC_ARG_WITH([dri-searchpath],
982 [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
983 [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
984 [DRI_DRIVER_SEARCH_DIR="$withval"],
985 [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
986 AC_SUBST([DRI_DRIVER_SEARCH_DIR])
987 dnl Which drivers to build - default is chosen by platform
988 AC_ARG_WITH([dri-drivers],
989 [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
990 [comma delimited DRI drivers list, e.g.
991 "swrast,i965,radeon" @<:@default=auto@:>@])],
992 [with_dri_drivers="$withval"],
993 [with_dri_drivers=yes])
994 if test "x$with_dri_drivers" = x; then
998 dnl If $with_dri_drivers is yes, directories will be added through
1001 case "$with_dri_drivers" in
1007 # verify the requested driver directories exist
1008 dri_drivers=`IFS=', '; echo $with_dri_drivers`
1009 for driver in $dri_drivers; do
1010 test -d "$srcdir/src/mesa/drivers/dri/$driver" || \
1011 AC_MSG_ERROR([DRI driver directory '$driver' doesn't exist])
1013 DRI_DIRS="$dri_drivers"
1017 dnl Set DRI_DIRS, DEFINES and LIB_DEPS
1018 if test "$mesa_driver" = dri -o "$mesa_driver" = no; then
1019 # Platform specific settings and drivers to build
1022 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1023 if test "x$driglx_direct" = xyes; then
1024 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1026 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
1030 # sis is missing because they have not be converted to use
1031 # the new interface. i810 are missing because there is no
1032 # x86-64 system where they could *ever* be used.
1033 if test "x$DRI_DIRS" = "xyes"; then
1034 DRI_DIRS="i915 i965 mach64 mga nouveau r128 r200 r300 r600 \
1035 radeon savage tdfx unichrome swrast"
1039 # Build only the drivers for cards that exist on PowerPC.
1040 # At some point MGA will be added, but not yet.
1041 if test "x$DRI_DIRS" = "xyes"; then
1042 DRI_DIRS="mach64 r128 r200 r300 r600 radeon tdfx swrast"
1046 # Build only the drivers for cards that exist on sparc`
1047 if test "x$DRI_DIRS" = "xyes"; then
1048 DRI_DIRS="mach64 r128 r200 r300 r600 radeon swrast"
1053 freebsd* | dragonfly* | *netbsd*)
1054 DEFINES="$DEFINES -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1"
1055 DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS"
1056 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1057 if test "x$driglx_direct" = xyes; then
1058 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1061 if test "x$DRI_DIRS" = "xyes"; then
1062 DRI_DIRS="i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 \
1063 radeon tdfx unichrome savage sis swrast"
1067 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1068 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
1071 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1072 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1073 if test "x$driglx_direct" = xyes; then
1074 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1078 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1079 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1080 if test "x$driglx_direct" = xyes; then
1081 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1083 if test "x$DRI_DIRS" = "xyes"; then
1090 if test "x$DRI_DIRS" = "xyes"; then
1091 DRI_DIRS="i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 radeon \
1092 savage sis tdfx unichrome swrast"
1095 DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'`
1098 if test "$mesa_driver" = dri; then
1101 AC_ARG_WITH([expat],
1102 [AS_HELP_STRING([--with-expat=DIR],
1103 [expat install directory])],[
1104 EXPAT_INCLUDES="-I$withval/include"
1105 CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES"
1106 LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR"
1107 EXPAT_LIB="-L$withval/$LIB_DIR -lexpat"
1109 AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])])
1110 AC_CHECK_LIB([expat],[XML_ParserCreate],[],
1111 [AC_MSG_ERROR([Expat required for DRI.])])
1114 # put all the necessary libs together, including possibly libdricore
1115 DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread $DLOPEN_LIBS"
1117 AC_SUBST([DRI_DIRS])
1118 AC_SUBST([EXPAT_INCLUDES])
1119 AC_SUBST([DRI_LIB_DEPS])
1123 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1129 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
1134 *radeon*|*r200*|*r300*|*r600*)
1135 if test "x$HAVE_LIBDRM_RADEON" = xyes; then
1136 RADEON_CFLAGS="-DHAVE_LIBDRM_RADEON=1 $LIBDRM_RADEON_CFLAGS"
1137 RADEON_LDFLAGS=$LIBDRM_RADEON_LIBS
1141 AC_SUBST([RADEON_CFLAGS])
1142 AC_SUBST([RADEON_LDFLAGS])
1146 dnl OSMesa configuration
1148 if test "$mesa_driver" = xlib; then
1149 default_gl_osmesa=yes
1151 default_gl_osmesa=no
1153 AC_ARG_ENABLE([gl-osmesa],
1154 [AS_HELP_STRING([--enable-gl-osmesa],
1155 [enable OSMesa with libGL @<:@default=enabled for xlib driver@:>@])],
1156 [gl_osmesa="$enableval"],
1157 [gl_osmesa="$default_gl_osmesa"])
1158 if test "x$gl_osmesa" = xyes; then
1159 if test "x$enable_opengl" = xno; then
1160 AC_MSG_ERROR([OpenGL is not available for OSMesa driver])
1162 if test "$mesa_driver" = osmesa; then
1163 AC_MSG_ERROR([libGL is not available for OSMesa driver])
1165 DRIVER_DIRS="$DRIVER_DIRS osmesa"
1169 dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
1170 AC_ARG_WITH([osmesa-bits],
1171 [AS_HELP_STRING([--with-osmesa-bits=BITS],
1172 [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
1173 [osmesa_bits="$withval"],
1175 if test "$mesa_driver" != osmesa && test "x$osmesa_bits" != x8; then
1176 AC_MSG_WARN([Ignoring OSMesa channel bits for non-OSMesa driver])
1179 case "x$osmesa_bits" in
1184 OSMESA_LIB="OSMesa$osmesa_bits"
1185 DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
1188 AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
1191 AC_SUBST([OSMESA_LIB])
1193 case "$DRIVER_DIRS" in
1195 # only link libraries with osmesa if shared
1196 if test "$enable_static" = no; then
1197 OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS"
1202 OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS"
1205 AC_SUBST([OSMESA_LIB_DEPS])
1206 AC_SUBST([OSMESA_MESA_DEPS])
1207 AC_SUBST([OSMESA_PC_REQ])
1208 AC_SUBST([OSMESA_PC_LIB_PRIV])
1211 dnl EGL configuration
1215 if test "x$enable_egl" = xno; then
1216 if test "x$mesa_driver" = xno; then
1217 AC_MSG_ERROR([cannot disable EGL when there is no mesa driver])
1220 if test "x$enable_egl" = xyes; then
1221 SRC_DIRS="$SRC_DIRS egl"
1222 EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS -lpthread"
1225 if test "$enable_static" != yes; then
1226 # build egl_glx when libGL is built
1227 if test "$mesa_driver" = xlib -o "$mesa_driver" = dri; then
1228 EGL_DRIVERS_DIRS="glx"
1231 PKG_CHECK_MODULES([LIBUDEV], [libudev > 150],
1232 [have_libudev=yes],[have_libudev=no])
1233 if test "$have_libudev" = yes; then
1234 DEFINES="$DEFINES -DHAVE_LIBUDEV"
1236 if test "$mesa_driver" = dri; then
1237 # build egl_dri2 when xcb-dri2 is available
1238 PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 xcb-xfixes],
1239 [have_xcb_dri2=yes],[have_xcb_dri2=no])
1241 if test "$have_xcb_dri2" = yes; then
1242 EGL_DRIVER_DRI2=dri2
1243 DEFINES="$DEFINES -DHAVE_XCB_DRI2"
1244 # workaround a bug in xcb-dri2 generated by xcb-proto 1.6
1245 AC_CHECK_LIB(xcb-dri2, xcb_dri2_connect_alignment_pad, [],
1246 [DEFINES="$DEFINES -DXCB_DRI2_CONNECT_DEVICE_NAME_BROKEN"])
1250 EGL_DRIVERS_DIRS="$EGL_DRIVERS_DIRS $EGL_DRIVER_DRI2"
1253 AC_SUBST([EGL_LIB_DEPS])
1254 AC_SUBST([EGL_DRIVERS_DIRS])
1257 dnl gbm configuration
1259 if test "x$enable_gbm" = xauto; then
1260 case "$with_egl_platforms" in
1267 if test "x$enable_gbm" = xyes; then
1268 SRC_DIRS="$SRC_DIRS gbm"
1271 PKG_CHECK_MODULES([LIBUDEV], [libudev], [],
1272 AC_MSG_ERROR([gbm needs udev]))
1273 GBM_LIB_DEPS="$DLOPEN_LIBS $LIBUDEV_LIBS"
1275 if test "$mesa_driver" = dri; then
1276 GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri"
1277 if test "$SHARED_GLAPI" -eq 0; then
1278 AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi])
1282 AC_SUBST([GBM_LIB_DEPS])
1283 AC_SUBST([GBM_BACKEND_DIRS])
1284 GBM_PC_REQ_PRIV="libudev"
1285 GBM_PC_LIB_PRIV="$DLOPEN_LIBS"
1287 AC_SUBST([GBM_PC_REQ_PRIV])
1288 AC_SUBST([GBM_PC_LIB_PRIV])
1289 AC_SUBST([GBM_PC_CFLAGS])
1292 dnl EGL Gallium configuration
1294 if test "x$enable_gallium_egl" = xyes; then
1295 if test "x$with_gallium_drivers" = x; then
1296 AC_MSG_ERROR([cannot enable egl_gallium without Gallium])
1298 if test "x$enable_egl" = xno; then
1299 AC_MSG_ERROR([cannot enable egl_gallium without EGL])
1302 GALLIUM_STATE_TRACKERS_DIRS="egl $GALLIUM_STATE_TRACKERS_DIRS"
1303 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl"
1308 dnl X.Org DDX configuration
1310 if test "x$enable_xorg" = xyes; then
1311 PKG_CHECK_MODULES([XORG], [xorg-server >= 1.6.0])
1312 PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
1313 PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
1314 PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
1315 HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
1316 HAVE_XEXTPROTO_71="no")
1317 GALLIUM_STATE_TRACKERS_DIRS="xorg $GALLIUM_STATE_TRACKERS_DIRS"
1322 dnl OpenVG configuration
1326 if test "x$enable_openvg" = xyes; then
1327 if test "x$enable_egl" = xno; then
1328 AC_MSG_ERROR([cannot enable OpenVG without EGL])
1330 if test "x$with_gallium_drivers" = x; then
1331 AC_MSG_ERROR([cannot enable OpenVG without Gallium])
1333 if test "x$enable_gallium_egl" = xno; then
1334 AC_MSG_ERROR([cannot enable OpenVG without egl_gallium])
1337 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
1338 VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS -lpthread"
1339 CORE_DIRS="$CORE_DIRS mapi/vgapi"
1340 GALLIUM_STATE_TRACKERS_DIRS="vega $GALLIUM_STATE_TRACKERS_DIRS"
1345 dnl D3D1X configuration
1348 if test "x$enable_d3d1x" = xyes; then
1349 if test "x$with_gallium_drivers" = x; then
1350 AC_MSG_ERROR([cannot enable D3D1X without Gallium])
1353 GALLIUM_STATE_TRACKERS_DIRS="d3d1x $GALLIUM_STATE_TRACKERS_DIRS"
1358 dnl GLU configuration
1360 AC_ARG_ENABLE([glu],
1361 [AS_HELP_STRING([--disable-glu],
1362 [enable OpenGL Utility library @<:@default=enabled@:>@])],
1363 [enable_glu="$enableval"],
1366 if test "x$enable_glu" = xyes -a "x$mesa_driver" = xno; then
1367 AC_MSG_NOTICE([Disabling GLU since there is no OpenGL driver])
1371 if test "x$enable_glu" = xyes; then
1372 SRC_DIRS="$SRC_DIRS glu"
1374 case "$mesa_driver" in
1376 # Link libGLU to libOSMesa instead of libGL
1379 if test "$enable_static" = no; then
1380 GLU_MESA_DEPS='-l$(OSMESA_LIB)'
1386 # If static, empty GLU_LIB_DEPS and add libs for programs to link
1388 GLU_PC_LIB_PRIV="-lm"
1389 if test "$enable_static" = no; then
1391 GLU_MESA_DEPS='-l$(GL_LIB)'
1395 APP_LIB_DEPS="$APP_LIB_DEPS -lstdc++"
1400 if test "$enable_static" = no; then
1401 GLU_LIB_DEPS="$GLU_LIB_DEPS $OS_CPLUSPLUS_LIBS"
1403 GLU_PC_LIB_PRIV="$GLU_PC_LIB_PRIV $OS_CPLUSPLUS_LIBS"
1404 AC_SUBST([GLU_LIB_DEPS])
1405 AC_SUBST([GLU_MESA_DEPS])
1406 AC_SUBST([GLU_PC_REQ])
1407 AC_SUBST([GLU_PC_REQ_PRIV])
1408 AC_SUBST([GLU_PC_LIB_PRIV])
1409 AC_SUBST([GLU_PC_CFLAGS])
1412 dnl GLw configuration
1414 AC_ARG_ENABLE([glw],
1415 [AS_HELP_STRING([--disable-glw],
1416 [enable Xt/Motif widget library @<:@default=enabled@:>@])],
1417 [enable_glw="$enableval"],
1419 dnl Don't build GLw on osmesa
1420 if test "x$enable_glw" = xyes; then
1421 case "$mesa_driver" in
1423 AC_MSG_NOTICE([Disabling GLw since there is no OpenGL driver])
1428 AC_ARG_ENABLE([motif],
1429 [AS_HELP_STRING([--enable-motif],
1430 [use Motif widgets in GLw @<:@default=disabled@:>@])],
1431 [enable_motif="$enableval"],
1434 if test "x$enable_glw" = xyes; then
1435 SRC_DIRS="$SRC_DIRS glw"
1436 if test "$x11_pkgconfig" = yes; then
1437 PKG_CHECK_MODULES([GLW],[x11 xt])
1438 GLW_PC_REQ_PRIV="x11 xt"
1439 GLW_LIB_DEPS="$GLW_LIBS"
1441 # should check these...
1442 GLW_LIB_DEPS="$X_LIBS -lXt -lX11"
1443 GLW_PC_LIB_PRIV="$GLW_LIB_DEPS"
1444 GLW_PC_CFLAGS="$X11_INCLUDES"
1447 GLW_SOURCES="GLwDrawA.c"
1449 if test "x$enable_motif" = xyes; then
1450 GLW_SOURCES="$GLW_SOURCES GLwMDrawA.c"
1451 AC_PATH_PROG([MOTIF_CONFIG], [motif-config], [no])
1452 if test "x$MOTIF_CONFIG" != xno; then
1453 MOTIF_CFLAGS=`$MOTIF_CONFIG --cflags`
1454 MOTIF_LIBS=`$MOTIF_CONFIG --libs`
1456 AC_CHECK_HEADER([Xm/PrimitiveP.h], [],
1457 [AC_MSG_ERROR([Can't locate Motif headers])])
1458 AC_CHECK_LIB([Xm], [XmGetPixmap], [MOTIF_LIBS="-lXm"],
1459 [AC_MSG_ERROR([Can't locate Motif Xm library])])
1461 # MOTIF_LIBS is prepended to GLW_LIB_DEPS since Xm needs Xt/X11
1462 GLW_LIB_DEPS="$MOTIF_LIBS $GLW_LIB_DEPS"
1463 GLW_PC_LIB_PRIV="$MOTIF_LIBS $GLW_PC_LIB_PRIV"
1464 GLW_PC_CFLAGS="$MOTIF_CFLAGS $GLW_PC_CFLAGS"
1467 # If static, empty GLW_LIB_DEPS and add libs for programs to link
1468 GLW_PC_LIB_PRIV="$GLW_PC_LIB_PRIV"
1469 if test "$enable_static" = no; then
1470 GLW_MESA_DEPS='-l$(GL_LIB)'
1471 GLW_LIB_DEPS="$GLW_LIB_DEPS"
1473 APP_LIB_DEPS="$APP_LIB_DEPS $GLW_LIB_DEPS"
1478 AC_SUBST([GLW_LIB_DEPS])
1479 AC_SUBST([GLW_MESA_DEPS])
1480 AC_SUBST([GLW_SOURCES])
1481 AC_SUBST([MOTIF_CFLAGS])
1482 AC_SUBST([GLW_PC_REQ_PRIV])
1483 AC_SUBST([GLW_PC_LIB_PRIV])
1484 AC_SUBST([GLW_PC_CFLAGS])
1487 dnl GLUT configuration
1489 if test -f "$srcdir/include/GL/glut.h"; then
1494 AC_ARG_ENABLE([glut],
1495 [AS_HELP_STRING([--disable-glut],
1496 [enable GLUT library @<:@default=enabled if source available@:>@])],
1497 [enable_glut="$enableval"],
1498 [enable_glut="$default_glut"])
1500 dnl Don't build glut on osmesa
1501 if test "x$enable_glut" = xyes; then
1502 case "$mesa_driver" in
1504 AC_MSG_NOTICE([Disabling glut since there is no OpenGL driver])
1509 dnl Can't build glut if GLU not available
1510 if test "x$enable_glu$enable_glut" = xnoyes; then
1511 AC_MSG_WARN([Disabling glut since GLU is disabled])
1515 if test "x$enable_glut" = xyes; then
1516 SRC_DIRS="$SRC_DIRS glut/glx"
1517 if test "$x11_pkgconfig" = yes; then
1518 PKG_CHECK_MODULES([GLUT],[x11 xmu xi])
1519 GLUT_PC_REQ_PRIV="x11 xmu xi"
1520 GLUT_LIB_DEPS="$GLUT_LIBS"
1522 # should check these...
1523 GLUT_LIB_DEPS="$X_LIBS -lX11 -lXmu -lXi"
1524 GLUT_PC_LIB_PRIV="$GLUT_LIB_DEPS"
1525 GLUT_PC_CFLAGS="$X11_INCLUDES"
1527 if test "x$GCC" = xyes; then
1528 GLUT_CFLAGS="$GLUT_CFLAGS -fexceptions"
1530 GLUT_LIB_DEPS="$GLUT_LIB_DEPS -lm"
1531 GLUT_PC_LIB_PRIV="$GLUT_PC_LIB_PRIV -lm"
1533 # If static, empty GLUT_LIB_DEPS and add libs for programs to link
1534 if test "$enable_static" = no; then
1535 GLUT_MESA_DEPS='-l$(GLU_LIB) -l$(GL_LIB)'
1537 APP_LIB_DEPS="$APP_LIB_DEPS $GLUT_LIB_DEPS"
1542 AC_SUBST([GLUT_LIB_DEPS])
1543 AC_SUBST([GLUT_MESA_DEPS])
1544 AC_SUBST([GLUT_CFLAGS])
1545 AC_SUBST([GLUT_PC_REQ_PRIV])
1546 AC_SUBST([GLUT_PC_LIB_PRIV])
1547 AC_SUBST([GLUT_PC_CFLAGS])
1550 dnl Program library dependencies
1551 dnl Only libm is added here if necessary as the libraries should
1552 dnl be pulled in by the linker
1554 if test "x$APP_LIB_DEPS" = x; then
1557 APP_LIB_DEPS="-lX11 -lsocket -lnsl -lm"
1560 APP_LIB_DEPS="-lX11"
1567 AC_SUBST([APP_LIB_DEPS])
1568 AC_SUBST([PROGRAM_DIRS])
1571 dnl Gallium configuration
1573 if test "x$with_gallium_drivers" != x; then
1574 SRC_DIRS="$SRC_DIRS gallium gallium/winsys gallium/targets"
1575 AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
1580 AC_SUBST([LLVM_CFLAGS])
1581 AC_SUBST([LLVM_LIBS])
1582 AC_SUBST([LLVM_LDFLAGS])
1583 AC_SUBST([LLVM_VERSION])
1587 case "x$enable_opengl$enable_gles1$enable_gles2" in
1589 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
1593 AC_SUBST([VG_LIB_DEPS])
1594 AC_SUBST([EGL_CLIENT_APIS])
1596 AC_ARG_WITH([egl-platforms],
1597 [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1598 [comma delimited native platforms libEGL supports, e.g.
1599 "x11,drm" @<:@default=auto@:>@])],
1600 [with_egl_platforms="$withval"],
1601 [with_egl_platforms=yes])
1604 WAYLAND_EGL_LIB_DEPS=""
1606 case "$with_egl_platforms" in
1608 if test "x$enable_egl" = xyes && test "x$mesa_driver" != xosmesa; then
1610 if test "$mesa_driver" = dri; then
1611 EGL_PLATFORMS="$EGL_PLATFORMS drm"
1616 if test "x$enable_egl" != xyes; then
1617 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1619 # verify the requested driver directories exist
1620 egl_platforms=`IFS=', '; echo $with_egl_platforms`
1621 for plat in $egl_platforms; do
1622 test -d "$srcdir/src/gallium/state_trackers/egl/$plat" || \
1623 AC_MSG_ERROR([EGL platform '$plat' doesn't exist])
1624 if test "$plat" = "fbdev"; then
1625 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/fbdev"
1627 if test "$plat" = "wayland"; then
1628 PKG_CHECK_MODULES([WAYLAND], [wayland-client wayland-server],, \
1629 [AC_MSG_ERROR([cannot find libwayland-client])])
1630 WAYLAND_EGL_LIB_DEPS="$WAYLAND_LIBS $LIBDRM_LIBS"
1631 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/wayland"
1634 EGL_PLATFORMS="$egl_platforms"
1637 AC_SUBST([EGL_PLATFORMS])
1639 AC_SUBST([WAYLAND_EGL_LIB_DEPS])
1640 WAYLAND_EGL_PC_REQ_PRIV="wayland-client libdrm"
1641 WAYLAND_EGL_PC_LIB_PRIV=
1642 WAYLAND_EGL_PC_CFLAGS=
1644 AC_SUBST([WAYLAND_EGL_PC_REQ_PRIV])
1645 AC_SUBST([WAYLAND_EGL_PC_LIB_PRIV])
1646 AC_SUBST([WAYLAND_EGL_PC_CFLAGS])
1649 AC_ARG_WITH([egl-driver-dir],
1650 [AS_HELP_STRING([--with-egl-driver-dir=DIR],
1651 [directory for EGL drivers [[default=${libdir}/egl]]])],
1652 [EGL_DRIVER_INSTALL_DIR="$withval"],
1653 [EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
1654 AC_SUBST([EGL_DRIVER_INSTALL_DIR])
1656 AC_ARG_WITH([xorg-driver-dir],
1657 [AS_HELP_STRING([--with-xorg-driver-dir=DIR],
1658 [Default xorg driver directory[[default=${libdir}/xorg/modules/drivers]]])],
1659 [XORG_DRIVER_INSTALL_DIR="$withval"],
1660 [XORG_DRIVER_INSTALL_DIR="${libdir}/xorg/modules/drivers"])
1661 AC_SUBST([XORG_DRIVER_INSTALL_DIR])
1663 AC_ARG_WITH([max-width],
1664 [AS_HELP_STRING([--with-max-width=N],
1665 [Maximum framebuffer width (4096)])],
1666 [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1667 AS_IF([test "${withval}" -gt "4096"],
1668 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1670 AC_ARG_WITH([max-height],
1671 [AS_HELP_STRING([--with-max-height=N],
1672 [Maximum framebuffer height (4096)])],
1673 [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1674 AS_IF([test "${withval}" -gt "4096"],
1675 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1681 AC_ARG_ENABLE([gallium-llvm],
1682 [AS_HELP_STRING([--enable-gallium-llvm],
1683 [build gallium LLVM support @<:@default=enabled on x86/x86_64@:>@])],
1684 [enable_gallium_llvm="$enableval"],
1685 [enable_gallium_llvm=auto])
1686 if test "x$with_gallium_drivers" = x; then
1687 enable_gallium_llvm=no
1689 if test "x$enable_gallium_llvm" = xauto; then
1691 i*86|x86_64) enable_gallium_llvm=yes;;
1694 if test "x$enable_gallium_llvm" = xyes; then
1695 if test "x$LLVM_CONFIG" != xno; then
1696 LLVM_VERSION=`$LLVM_CONFIG --version`
1697 LLVM_CFLAGS=`$LLVM_CONFIG --cppflags`
1698 LLVM_LIBS="`$LLVM_CONFIG --libs` -lstdc++"
1700 LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1701 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1702 DEFINES="$DEFINES -DGALLIUM_LLVMPIPE -D__STDC_CONSTANT_MACROS"
1712 dnl Gallium helper functions
1714 gallium_check_st() {
1715 if test "x$HAVE_ST_DRI" = xyes || test "x$HAVE_ST_XORG" = xyes; then
1716 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
1718 if test "x$HAVE_ST_DRI" = xyes && test "x$2" != x; then
1719 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
1721 if test "x$HAVE_ST_XORG" = xyes && test "x$3" != x; then
1722 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
1726 gallium_require_llvm() {
1727 if test "x$MESA_LLVM" = x0; then
1729 i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
1735 if test "x$with_gallium_drivers" != x; then
1736 # This is for compile-testing
1737 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915 i965 r300 svga"
1738 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1740 gallium_drivers=`IFS=', '; echo $with_gallium_drivers`
1741 for driver in $gallium_drivers; do
1744 gallium_check_st "svga/drm" "dri-vmwgfx" "xorg-vmwgfx"
1747 gallium_check_st "i915/drm" "dri-i915" "xorg-i915"
1750 gallium_check_st "i965/drm" "dri-i965" "xorg-i965"
1753 gallium_require_llvm "Gallium R300"
1754 gallium_check_st "radeon/drm" "dri-r300" "xorg-r300"
1757 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
1758 gallium_check_st "r600/drm" "dri-r600"
1761 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nvfx nv50 nvc0"
1762 gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau"
1765 if test "x$HAVE_ST_DRI" = xyes; then
1766 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast"
1770 AC_MSG_ERROR([Unknown Gallium driver: $driver])
1776 dnl prepend CORE_DIRS to SRC_DIRS
1777 SRC_DIRS="$CORE_DIRS $SRC_DIRS"
1779 dnl Restore LDFLAGS and CPPFLAGS
1780 LDFLAGS="$_SAVE_LDFLAGS"
1781 CPPFLAGS="$_SAVE_CPPFLAGS"
1783 dnl Substitute the config
1784 AC_CONFIG_FILES([configs/autoconf])
1786 dnl Replace the configs/current symlink
1787 AC_CONFIG_COMMANDS([configs],[
1788 if test -f configs/current || test -L configs/current; then
1789 rm -f configs/current
1791 ln -s autoconf configs/current
1797 dnl Output some configuration info for the user
1800 echo " prefix: $prefix"
1801 echo " exec_prefix: $exec_prefix"
1802 echo " libdir: $libdir"
1803 echo " includedir: $includedir"
1807 echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
1808 echo " OpenVG: $enable_openvg"
1812 echo " Driver: $mesa_driver"
1813 if test "$mesa_driver" != no; then
1814 if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then
1815 echo " OSMesa: lib$OSMESA_LIB"
1819 if test "$mesa_driver" = dri; then
1820 # cleanup the drivers var
1821 dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'`
1822 if test "x$DRI_DIRS" = x; then
1823 echo " DRI drivers: no"
1825 echo " DRI drivers: $dri_dirs"
1827 echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
1828 echo " Use XCB: $enable_xcb"
1829 echo " Shared dricore: $enable_dricore"
1833 echo " GLU: $enable_glu"
1834 echo " GLw: $enable_glw (Motif: $enable_motif)"
1835 echo " glut: $enable_glut"
1839 echo " EGL: $enable_egl"
1840 if test "$enable_egl" = yes; then
1841 echo " EGL platforms: $EGL_PLATFORMS"
1844 for d in $EGL_DRIVERS_DIRS; do
1845 egl_drivers="$egl_drivers builtin:egl_$d"
1848 if test "x$HAVE_ST_EGL" = xyes; then
1849 echo " EGL drivers: ${egl_drivers} egl_gallium"
1850 echo " EGL Gallium STs:$EGL_CLIENT_APIS"
1852 echo " EGL drivers: $egl_drivers"
1857 if test "x$MESA_LLVM" = x1; then
1859 echo " llvm-config: $LLVM_CONFIG"
1860 echo " llvm-version: $LLVM_VERSION"
1866 if echo "$SRC_DIRS" | grep 'gallium' >/dev/null 2>&1; then
1867 echo " Gallium: yes"
1868 echo " Gallium dirs: $GALLIUM_DIRS"
1869 echo " Target dirs: $GALLIUM_TARGET_DIRS"
1870 echo " Winsys dirs: $GALLIUM_WINSYS_DIRS"
1871 echo " Driver dirs: $GALLIUM_DRIVERS_DIRS"
1872 echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS"
1879 echo " Shared libs: $enable_shared"
1880 echo " Static libs: $enable_static"
1882 dnl Compiler options
1883 # cleanup the CFLAGS/CXXFLAGS/DEFINES vars
1884 cflags=`echo $CFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1885 $SED 's/^ *//;s/ */ /;s/ *$//'`
1886 cxxflags=`echo $CXXFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1887 $SED 's/^ *//;s/ */ /;s/ *$//'`
1888 defines=`echo $DEFINES $ASM_FLAGS | $SED 's/^ *//;s/ */ /;s/ *$//'`
1890 echo " CFLAGS: $cflags"
1891 echo " CXXFLAGS: $cxxflags"
1892 echo " Macros: $defines"
1894 echo " PYTHON2: $PYTHON2"
1897 echo " Run '${MAKE-make}' to build Mesa"