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 AC_SUBST([GBM_LIB_DEPS])
1276 AC_SUBST([GBM_BACKEND_DIRS])
1277 GBM_PC_REQ_PRIV="libudev"
1278 GBM_PC_LIB_PRIV="$DLOPEN_LIBS"
1280 AC_SUBST([GBM_PC_REQ_PRIV])
1281 AC_SUBST([GBM_PC_LIB_PRIV])
1282 AC_SUBST([GBM_PC_CFLAGS])
1285 dnl EGL Gallium configuration
1287 if test "x$enable_gallium_egl" = xyes; then
1288 if test "x$with_gallium_drivers" = x; then
1289 AC_MSG_ERROR([cannot enable egl_gallium without Gallium])
1291 if test "x$enable_egl" = xno; then
1292 AC_MSG_ERROR([cannot enable egl_gallium without EGL])
1295 GALLIUM_STATE_TRACKERS_DIRS="egl $GALLIUM_STATE_TRACKERS_DIRS"
1296 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl"
1301 dnl X.Org DDX configuration
1303 if test "x$enable_xorg" = xyes; then
1304 PKG_CHECK_MODULES([XORG], [xorg-server >= 1.6.0])
1305 PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
1306 PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
1307 PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
1308 HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
1309 HAVE_XEXTPROTO_71="no")
1310 GALLIUM_STATE_TRACKERS_DIRS="xorg $GALLIUM_STATE_TRACKERS_DIRS"
1315 dnl OpenVG configuration
1319 if test "x$enable_openvg" = xyes; then
1320 if test "x$enable_egl" = xno; then
1321 AC_MSG_ERROR([cannot enable OpenVG without EGL])
1323 if test "x$with_gallium_drivers" = x; then
1324 AC_MSG_ERROR([cannot enable OpenVG without Gallium])
1326 if test "x$enable_gallium_egl" = xno; then
1327 AC_MSG_ERROR([cannot enable OpenVG without egl_gallium])
1330 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
1331 VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS -lpthread"
1332 CORE_DIRS="$CORE_DIRS mapi/vgapi"
1333 GALLIUM_STATE_TRACKERS_DIRS="vega $GALLIUM_STATE_TRACKERS_DIRS"
1338 dnl D3D1X configuration
1341 if test "x$enable_d3d1x" = xyes; then
1342 if test "x$with_gallium_drivers" = x; then
1343 AC_MSG_ERROR([cannot enable D3D1X without Gallium])
1346 GALLIUM_STATE_TRACKERS_DIRS="d3d1x $GALLIUM_STATE_TRACKERS_DIRS"
1351 dnl GLU configuration
1353 AC_ARG_ENABLE([glu],
1354 [AS_HELP_STRING([--disable-glu],
1355 [enable OpenGL Utility library @<:@default=enabled@:>@])],
1356 [enable_glu="$enableval"],
1359 if test "x$enable_glu" = xyes -a "x$mesa_driver" = xno; then
1360 AC_MSG_NOTICE([Disabling GLU since there is no OpenGL driver])
1364 if test "x$enable_glu" = xyes; then
1365 SRC_DIRS="$SRC_DIRS glu"
1367 case "$mesa_driver" in
1369 # Link libGLU to libOSMesa instead of libGL
1372 if test "$enable_static" = no; then
1373 GLU_MESA_DEPS='-l$(OSMESA_LIB)'
1379 # If static, empty GLU_LIB_DEPS and add libs for programs to link
1381 GLU_PC_LIB_PRIV="-lm"
1382 if test "$enable_static" = no; then
1384 GLU_MESA_DEPS='-l$(GL_LIB)'
1388 APP_LIB_DEPS="$APP_LIB_DEPS -lstdc++"
1393 if test "$enable_static" = no; then
1394 GLU_LIB_DEPS="$GLU_LIB_DEPS $OS_CPLUSPLUS_LIBS"
1396 GLU_PC_LIB_PRIV="$GLU_PC_LIB_PRIV $OS_CPLUSPLUS_LIBS"
1397 AC_SUBST([GLU_LIB_DEPS])
1398 AC_SUBST([GLU_MESA_DEPS])
1399 AC_SUBST([GLU_PC_REQ])
1400 AC_SUBST([GLU_PC_REQ_PRIV])
1401 AC_SUBST([GLU_PC_LIB_PRIV])
1402 AC_SUBST([GLU_PC_CFLAGS])
1405 dnl GLw configuration
1407 AC_ARG_ENABLE([glw],
1408 [AS_HELP_STRING([--disable-glw],
1409 [enable Xt/Motif widget library @<:@default=enabled@:>@])],
1410 [enable_glw="$enableval"],
1412 dnl Don't build GLw on osmesa
1413 if test "x$enable_glw" = xyes; then
1414 case "$mesa_driver" in
1416 AC_MSG_NOTICE([Disabling GLw since there is no OpenGL driver])
1421 AC_ARG_ENABLE([motif],
1422 [AS_HELP_STRING([--enable-motif],
1423 [use Motif widgets in GLw @<:@default=disabled@:>@])],
1424 [enable_motif="$enableval"],
1427 if test "x$enable_glw" = xyes; then
1428 SRC_DIRS="$SRC_DIRS glw"
1429 if test "$x11_pkgconfig" = yes; then
1430 PKG_CHECK_MODULES([GLW],[x11 xt])
1431 GLW_PC_REQ_PRIV="x11 xt"
1432 GLW_LIB_DEPS="$GLW_LIBS"
1434 # should check these...
1435 GLW_LIB_DEPS="$X_LIBS -lXt -lX11"
1436 GLW_PC_LIB_PRIV="$GLW_LIB_DEPS"
1437 GLW_PC_CFLAGS="$X11_INCLUDES"
1440 GLW_SOURCES="GLwDrawA.c"
1442 if test "x$enable_motif" = xyes; then
1443 GLW_SOURCES="$GLW_SOURCES GLwMDrawA.c"
1444 AC_PATH_PROG([MOTIF_CONFIG], [motif-config], [no])
1445 if test "x$MOTIF_CONFIG" != xno; then
1446 MOTIF_CFLAGS=`$MOTIF_CONFIG --cflags`
1447 MOTIF_LIBS=`$MOTIF_CONFIG --libs`
1449 AC_CHECK_HEADER([Xm/PrimitiveP.h], [],
1450 [AC_MSG_ERROR([Can't locate Motif headers])])
1451 AC_CHECK_LIB([Xm], [XmGetPixmap], [MOTIF_LIBS="-lXm"],
1452 [AC_MSG_ERROR([Can't locate Motif Xm library])])
1454 # MOTIF_LIBS is prepended to GLW_LIB_DEPS since Xm needs Xt/X11
1455 GLW_LIB_DEPS="$MOTIF_LIBS $GLW_LIB_DEPS"
1456 GLW_PC_LIB_PRIV="$MOTIF_LIBS $GLW_PC_LIB_PRIV"
1457 GLW_PC_CFLAGS="$MOTIF_CFLAGS $GLW_PC_CFLAGS"
1460 # If static, empty GLW_LIB_DEPS and add libs for programs to link
1461 GLW_PC_LIB_PRIV="$GLW_PC_LIB_PRIV"
1462 if test "$enable_static" = no; then
1463 GLW_MESA_DEPS='-l$(GL_LIB)'
1464 GLW_LIB_DEPS="$GLW_LIB_DEPS"
1466 APP_LIB_DEPS="$APP_LIB_DEPS $GLW_LIB_DEPS"
1471 AC_SUBST([GLW_LIB_DEPS])
1472 AC_SUBST([GLW_MESA_DEPS])
1473 AC_SUBST([GLW_SOURCES])
1474 AC_SUBST([MOTIF_CFLAGS])
1475 AC_SUBST([GLW_PC_REQ_PRIV])
1476 AC_SUBST([GLW_PC_LIB_PRIV])
1477 AC_SUBST([GLW_PC_CFLAGS])
1480 dnl GLUT configuration
1482 if test -f "$srcdir/include/GL/glut.h"; then
1487 AC_ARG_ENABLE([glut],
1488 [AS_HELP_STRING([--disable-glut],
1489 [enable GLUT library @<:@default=enabled if source available@:>@])],
1490 [enable_glut="$enableval"],
1491 [enable_glut="$default_glut"])
1493 dnl Don't build glut on osmesa
1494 if test "x$enable_glut" = xyes; then
1495 case "$mesa_driver" in
1497 AC_MSG_NOTICE([Disabling glut since there is no OpenGL driver])
1502 dnl Can't build glut if GLU not available
1503 if test "x$enable_glu$enable_glut" = xnoyes; then
1504 AC_MSG_WARN([Disabling glut since GLU is disabled])
1508 if test "x$enable_glut" = xyes; then
1509 SRC_DIRS="$SRC_DIRS glut/glx"
1510 if test "$x11_pkgconfig" = yes; then
1511 PKG_CHECK_MODULES([GLUT],[x11 xmu xi])
1512 GLUT_PC_REQ_PRIV="x11 xmu xi"
1513 GLUT_LIB_DEPS="$GLUT_LIBS"
1515 # should check these...
1516 GLUT_LIB_DEPS="$X_LIBS -lX11 -lXmu -lXi"
1517 GLUT_PC_LIB_PRIV="$GLUT_LIB_DEPS"
1518 GLUT_PC_CFLAGS="$X11_INCLUDES"
1520 if test "x$GCC" = xyes; then
1521 GLUT_CFLAGS="$GLUT_CFLAGS -fexceptions"
1523 GLUT_LIB_DEPS="$GLUT_LIB_DEPS -lm"
1524 GLUT_PC_LIB_PRIV="$GLUT_PC_LIB_PRIV -lm"
1526 # If static, empty GLUT_LIB_DEPS and add libs for programs to link
1527 if test "$enable_static" = no; then
1528 GLUT_MESA_DEPS='-l$(GLU_LIB) -l$(GL_LIB)'
1530 APP_LIB_DEPS="$APP_LIB_DEPS $GLUT_LIB_DEPS"
1535 AC_SUBST([GLUT_LIB_DEPS])
1536 AC_SUBST([GLUT_MESA_DEPS])
1537 AC_SUBST([GLUT_CFLAGS])
1538 AC_SUBST([GLUT_PC_REQ_PRIV])
1539 AC_SUBST([GLUT_PC_LIB_PRIV])
1540 AC_SUBST([GLUT_PC_CFLAGS])
1543 dnl Program library dependencies
1544 dnl Only libm is added here if necessary as the libraries should
1545 dnl be pulled in by the linker
1547 if test "x$APP_LIB_DEPS" = x; then
1550 APP_LIB_DEPS="-lX11 -lsocket -lnsl -lm"
1553 APP_LIB_DEPS="-lX11"
1560 AC_SUBST([APP_LIB_DEPS])
1561 AC_SUBST([PROGRAM_DIRS])
1564 dnl Gallium configuration
1566 if test "x$with_gallium_drivers" != x; then
1567 SRC_DIRS="$SRC_DIRS gallium gallium/winsys gallium/targets"
1568 AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
1573 AC_SUBST([LLVM_CFLAGS])
1574 AC_SUBST([LLVM_LIBS])
1575 AC_SUBST([LLVM_LDFLAGS])
1576 AC_SUBST([LLVM_VERSION])
1580 case "x$enable_opengl$enable_gles1$enable_gles2" in
1582 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
1586 AC_SUBST([VG_LIB_DEPS])
1587 AC_SUBST([EGL_CLIENT_APIS])
1589 AC_ARG_WITH([egl-platforms],
1590 [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1591 [comma delimited native platforms libEGL supports, e.g.
1592 "x11,drm" @<:@default=auto@:>@])],
1593 [with_egl_platforms="$withval"],
1594 [with_egl_platforms=yes])
1597 WAYLAND_EGL_LIB_DEPS=""
1599 case "$with_egl_platforms" in
1601 if test "x$enable_egl" = xyes && test "x$mesa_driver" != xosmesa; then
1603 if test "$mesa_driver" = dri; then
1604 EGL_PLATFORMS="$EGL_PLATFORMS drm"
1609 if test "x$enable_egl" != xyes; then
1610 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1612 # verify the requested driver directories exist
1613 egl_platforms=`IFS=', '; echo $with_egl_platforms`
1614 for plat in $egl_platforms; do
1615 test -d "$srcdir/src/gallium/state_trackers/egl/$plat" || \
1616 AC_MSG_ERROR([EGL platform '$plat' doesn't exist])
1617 if test "$plat" = "fbdev"; then
1618 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/fbdev"
1620 if test "$plat" = "wayland"; then
1621 PKG_CHECK_MODULES([WAYLAND], [wayland-client wayland-server],, \
1622 [AC_MSG_ERROR([cannot find libwayland-client])])
1623 WAYLAND_EGL_LIB_DEPS="$WAYLAND_LIBS $LIBDRM_LIBS"
1624 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/wayland"
1627 EGL_PLATFORMS="$egl_platforms"
1630 AC_SUBST([EGL_PLATFORMS])
1632 AC_SUBST([WAYLAND_EGL_LIB_DEPS])
1633 WAYLAND_EGL_PC_REQ_PRIV="wayland-client libdrm"
1634 WAYLAND_EGL_PC_LIB_PRIV=
1635 WAYLAND_EGL_PC_CFLAGS=
1637 AC_SUBST([WAYLAND_EGL_PC_REQ_PRIV])
1638 AC_SUBST([WAYLAND_EGL_PC_LIB_PRIV])
1639 AC_SUBST([WAYLAND_EGL_PC_CFLAGS])
1642 AC_ARG_WITH([egl-driver-dir],
1643 [AS_HELP_STRING([--with-egl-driver-dir=DIR],
1644 [directory for EGL drivers [[default=${libdir}/egl]]])],
1645 [EGL_DRIVER_INSTALL_DIR="$withval"],
1646 [EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
1647 AC_SUBST([EGL_DRIVER_INSTALL_DIR])
1649 AC_ARG_WITH([xorg-driver-dir],
1650 [AS_HELP_STRING([--with-xorg-driver-dir=DIR],
1651 [Default xorg driver directory[[default=${libdir}/xorg/modules/drivers]]])],
1652 [XORG_DRIVER_INSTALL_DIR="$withval"],
1653 [XORG_DRIVER_INSTALL_DIR="${libdir}/xorg/modules/drivers"])
1654 AC_SUBST([XORG_DRIVER_INSTALL_DIR])
1656 AC_ARG_WITH([max-width],
1657 [AS_HELP_STRING([--with-max-width=N],
1658 [Maximum framebuffer width (4096)])],
1659 [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1660 AS_IF([test "${withval}" -gt "4096"],
1661 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1663 AC_ARG_WITH([max-height],
1664 [AS_HELP_STRING([--with-max-height=N],
1665 [Maximum framebuffer height (4096)])],
1666 [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1667 AS_IF([test "${withval}" -gt "4096"],
1668 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1674 AC_ARG_ENABLE([gallium-llvm],
1675 [AS_HELP_STRING([--enable-gallium-llvm],
1676 [build gallium LLVM support @<:@default=enabled on x86/x86_64@:>@])],
1677 [enable_gallium_llvm="$enableval"],
1678 [enable_gallium_llvm=auto])
1679 if test "x$with_gallium_drivers" = x; then
1680 enable_gallium_llvm=no
1682 if test "x$enable_gallium_llvm" = xauto; then
1684 i*86|x86_64) enable_gallium_llvm=yes;;
1687 if test "x$enable_gallium_llvm" = xyes; then
1688 if test "x$LLVM_CONFIG" != xno; then
1689 LLVM_VERSION=`$LLVM_CONFIG --version`
1690 LLVM_CFLAGS=`$LLVM_CONFIG --cppflags`
1691 LLVM_LIBS="`$LLVM_CONFIG --libs` -lstdc++"
1693 LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1694 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1695 DEFINES="$DEFINES -DGALLIUM_LLVMPIPE -D__STDC_CONSTANT_MACROS"
1705 dnl Gallium helper functions
1707 gallium_check_st() {
1708 if test "x$HAVE_ST_DRI" = xyes || test "x$HAVE_ST_XORG" = xyes; then
1709 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
1711 if test "x$HAVE_ST_DRI" = xyes && test "x$2" != x; then
1712 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
1714 if test "x$HAVE_ST_XORG" = xyes && test "x$3" != x; then
1715 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
1719 gallium_require_llvm() {
1720 if test "x$MESA_LLVM" = x0; then
1722 i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
1728 if test "x$with_gallium_drivers" != x; then
1729 # This is for compile-testing
1730 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915 i965 r300 svga"
1731 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1733 gallium_drivers=`IFS=', '; echo $with_gallium_drivers`
1734 for driver in $gallium_drivers; do
1737 gallium_check_st "svga/drm" "dri-vmwgfx" "xorg-vmwgfx"
1740 gallium_check_st "i915/drm" "dri-i915" "xorg-i915"
1743 gallium_check_st "i965/drm" "dri-i965" "xorg-i965"
1746 gallium_require_llvm "Gallium R300"
1747 gallium_check_st "radeon/drm" "dri-r300" "xorg-r300"
1750 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
1751 gallium_check_st "r600/drm" "dri-r600"
1754 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nvfx nv50 nvc0"
1755 gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau"
1758 if test "x$HAVE_ST_DRI" = xyes; then
1759 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast"
1763 AC_MSG_ERROR([Unknown Gallium driver: $driver])
1769 dnl prepend CORE_DIRS to SRC_DIRS
1770 SRC_DIRS="$CORE_DIRS $SRC_DIRS"
1772 dnl Restore LDFLAGS and CPPFLAGS
1773 LDFLAGS="$_SAVE_LDFLAGS"
1774 CPPFLAGS="$_SAVE_CPPFLAGS"
1776 dnl Substitute the config
1777 AC_CONFIG_FILES([configs/autoconf])
1779 dnl Replace the configs/current symlink
1780 AC_CONFIG_COMMANDS([configs],[
1781 if test -f configs/current || test -L configs/current; then
1782 rm -f configs/current
1784 ln -s autoconf configs/current
1790 dnl Output some configuration info for the user
1793 echo " prefix: $prefix"
1794 echo " exec_prefix: $exec_prefix"
1795 echo " libdir: $libdir"
1796 echo " includedir: $includedir"
1800 echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
1801 echo " OpenVG: $enable_openvg"
1805 echo " Driver: $mesa_driver"
1806 if test "$mesa_driver" != no; then
1807 if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then
1808 echo " OSMesa: lib$OSMESA_LIB"
1812 if test "$mesa_driver" = dri; then
1813 # cleanup the drivers var
1814 dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'`
1815 if test "x$DRI_DIRS" = x; then
1816 echo " DRI drivers: no"
1818 echo " DRI drivers: $dri_dirs"
1820 echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
1821 echo " Use XCB: $enable_xcb"
1822 echo " Shared dricore: $enable_dricore"
1826 echo " GLU: $enable_glu"
1827 echo " GLw: $enable_glw (Motif: $enable_motif)"
1828 echo " glut: $enable_glut"
1832 echo " EGL: $enable_egl"
1833 if test "$enable_egl" = yes; then
1834 echo " EGL platforms: $EGL_PLATFORMS"
1837 for d in $EGL_DRIVERS_DIRS; do
1838 egl_drivers="$egl_drivers builtin:egl_$d"
1841 if test "x$HAVE_ST_EGL" = xyes; then
1842 echo " EGL drivers: ${egl_drivers} egl_gallium"
1843 echo " EGL Gallium STs:$EGL_CLIENT_APIS"
1845 echo " EGL drivers: $egl_drivers"
1850 if test "x$MESA_LLVM" = x1; then
1852 echo " llvm-config: $LLVM_CONFIG"
1853 echo " llvm-version: $LLVM_VERSION"
1859 if echo "$SRC_DIRS" | grep 'gallium' >/dev/null 2>&1; then
1860 echo " Gallium: yes"
1861 echo " Gallium dirs: $GALLIUM_DIRS"
1862 echo " Target dirs: $GALLIUM_TARGET_DIRS"
1863 echo " Winsys dirs: $GALLIUM_WINSYS_DIRS"
1864 echo " Driver dirs: $GALLIUM_DRIVERS_DIRS"
1865 echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS"
1872 echo " Shared libs: $enable_shared"
1873 echo " Static libs: $enable_static"
1875 dnl Compiler options
1876 # cleanup the CFLAGS/CXXFLAGS/DEFINES vars
1877 cflags=`echo $CFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1878 $SED 's/^ *//;s/ */ /;s/ *$//'`
1879 cxxflags=`echo $CXXFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1880 $SED 's/^ *//;s/ */ /;s/ *$//'`
1881 defines=`echo $DEFINES $ASM_FLAGS | $SED 's/^ *//;s/ */ /;s/ *$//'`
1883 echo " CFLAGS: $cflags"
1884 echo " CXXFLAGS: $cxxflags"
1885 echo " Macros: $defines"
1887 echo " PYTHON2: $PYTHON2"
1890 echo " Run '${MAKE-make}' to build Mesa"