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])
562 AC_ARG_ENABLE([gallium_gbm],
563 [AS_HELP_STRING([--enable-gallium-gbm],
564 [enable optional gbm state tracker (not required for
565 gbm support in Gallium)
566 @<:@default=disable@:>@])],
567 [enable_gallium_gbm="$enableval"],
568 [enable_gallium_gbm=no])
570 # Option for Gallium drivers
571 GALLIUM_DRIVERS_DEFAULT="r300,r600,swrast"
573 AC_ARG_WITH([gallium-drivers],
574 [AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@],
575 [comma delimited Gallium drivers list, e.g.
576 "i915,i965,nouveau,r300,r600,svga,swrast"
577 @<:@default=r300,r600,swrast@:>@])],
578 [with_gallium_drivers="$withval"],
579 [with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"])
581 if test "x$enable_opengl" = xno -a \
582 "x$enable_gles1" = xno -a \
583 "x$enable_gles2" = xno -a \
584 "x$enable_openvg" = xno -a \
585 "x$enable_xorg" = xno -a \
586 "x$enable_d3d1x" = xno; then
587 AC_MSG_ERROR([at least one API should be enabled])
591 if test "x$enable_opengl" = xno; then
592 API_DEFINES="$API_DEFINES -DFEATURE_GL=0"
594 API_DEFINES="$API_DEFINES -DFEATURE_GL=1"
596 if test "x$enable_gles1" = xyes; then
597 API_DEFINES="$API_DEFINES -DFEATURE_ES1=1"
599 if test "x$enable_gles2" = xyes; then
600 API_DEFINES="$API_DEFINES -DFEATURE_ES2=1"
602 AC_SUBST([API_DEFINES])
604 AC_ARG_ENABLE([shared-glapi],
605 [AS_HELP_STRING([--enable-shared-glapi],
606 [EXPERIMENTAL. Enable shared glapi for OpenGL @<:@default=no@:>@])],
607 [enable_shared_glapi="$enableval"],
608 [enable_shared_glapi=no])
611 if test "x$enable_shared_glapi" = xyes; then
614 AC_SUBST([SHARED_GLAPI])
617 dnl Driver configuration. Options are xlib, dri and osmesa right now.
618 dnl More later: fbdev, ...
620 default_driver="xlib"
625 i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
628 *freebsd* | dragonfly* | *netbsd*)
630 i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
635 if test "x$enable_opengl" = xno; then
639 AC_ARG_WITH([driver],
640 [AS_HELP_STRING([--with-driver=DRIVER],
641 [driver for Mesa: xlib,dri,osmesa @<:@default=dri when available, or xlib@:>@])],
642 [mesa_driver="$withval"],
643 [mesa_driver="$default_driver"])
644 dnl Check for valid option
645 case "x$mesa_driver" in
647 if test "x$enable_opengl" = xno; then
648 AC_MSG_ERROR([Driver '$mesa_driver' requires OpenGL enabled])
654 AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option])
659 dnl Driver specific build directories
662 dnl this variable will be prepended to SRC_DIRS and is not exported
667 GALLIUM_DIRS="auxiliary drivers state_trackers"
668 GALLIUM_TARGET_DIRS=""
669 GALLIUM_WINSYS_DIRS="sw"
670 GALLIUM_DRIVERS_DIRS="softpipe failover galahad trace rbug noop identity"
671 GALLIUM_STATE_TRACKERS_DIRS=""
673 # build shared-glapi if enabled for OpenGL or if OpenGL ES is enabled
674 case "x$enable_shared_glapi$enable_gles1$enable_gles2" in
676 CORE_DIRS="$CORE_DIRS mapi/shared-glapi"
680 # build glapi if OpenGL is enabled
681 if test "x$enable_opengl" = xyes; then
682 CORE_DIRS="$CORE_DIRS mapi/glapi"
685 # build es1api if OpenGL ES 1.x is enabled
686 if test "x$enable_gles1" = xyes; then
687 CORE_DIRS="$CORE_DIRS mapi/es1api"
690 # build es2api if OpenGL ES 2.x is enabled
691 if test "x$enable_gles2" = xyes; then
692 CORE_DIRS="$CORE_DIRS mapi/es2api"
695 # build glsl and mesa if OpenGL or OpenGL ES is enabled
696 case "x$enable_opengl$enable_gles1$enable_gles2" in
698 CORE_DIRS="$CORE_DIRS glsl mesa"
702 case "$mesa_driver" in
705 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
706 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
707 GALLIUM_STATE_TRACKERS_DIRS="glx $GALLIUM_STATE_TRACKERS_DIRS"
710 SRC_DIRS="$SRC_DIRS glx"
712 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib sw/dri"
713 GALLIUM_STATE_TRACKERS_DIRS="dri $GALLIUM_STATE_TRACKERS_DIRS"
725 AC_SUBST([DRIVER_DIRS])
726 AC_SUBST([GALLIUM_DIRS])
727 AC_SUBST([GALLIUM_TARGET_DIRS])
728 AC_SUBST([GALLIUM_WINSYS_DIRS])
729 AC_SUBST([GALLIUM_DRIVERS_DIRS])
730 AC_SUBST([GALLIUM_STATE_TRACKERS_DIRS])
731 AC_SUBST([MESA_LLVM])
734 dnl Find out if X is available. The variable have_x is set if libX11 is
735 dnl found to mimic AC_PATH_XTRA.
737 if test -n "$PKG_CONFIG"; then
738 AC_MSG_CHECKING([pkg-config files for X11 are available])
739 PKG_CHECK_EXISTS([x11],[
745 AC_MSG_RESULT([$x11_pkgconfig])
749 dnl Use the autoconf macro if no pkg-config files
750 if test "$x11_pkgconfig" = yes; then
751 PKG_CHECK_MODULES([X11], [x11])
754 test -z "$X11_CFLAGS" && X11_CFLAGS="$X_CFLAGS"
755 test -z "$X11_LIBS" && X11_LIBS="$X_LIBS -lX11"
756 AC_SUBST([X11_CFLAGS])
760 dnl Try to tell the user that the --x-* options are only used when
761 dnl pkg-config is not available. This must be right after AC_PATH_XTRA.
762 m4_divert_once([HELP_BEGIN],
763 [These options are only used when the X libraries cannot be found by the
764 pkg-config utility.])
766 dnl We need X for xlib and dri, so bomb now if it's not found
767 case "$mesa_driver" in
769 if test "$no_x" = yes; then
770 AC_MSG_ERROR([X11 development libraries needed for $mesa_driver driver])
775 dnl XCB - this is only used for GLX right now
777 [AS_HELP_STRING([--enable-xcb],
778 [use XCB for GLX @<:@default=disabled@:>@])],
779 [enable_xcb="$enableval"],
781 if test "x$enable_xcb" = xyes; then
782 DEFINES="$DEFINES -DUSE_XCB"
787 dnl Direct rendering or just indirect rendering
790 dnl Disable by default on GNU/Hurd
791 driglx_direct_default="no"
794 dnl Disable by default on cygwin
795 driglx_direct_default="no"
798 driglx_direct_default="yes"
801 AC_ARG_ENABLE([driglx-direct],
802 [AS_HELP_STRING([--disable-driglx-direct],
803 [enable direct rendering in GLX and EGL for DRI \
804 @<:@default=auto@:>@])],
805 [driglx_direct="$enableval"],
806 [driglx_direct="$driglx_direct_default"])
809 dnl libGL configuration per driver
811 case "$mesa_driver" in
813 if test "$x11_pkgconfig" = yes; then
814 PKG_CHECK_MODULES([XLIBGL], [x11 xext])
815 GL_PC_REQ_PRIV="x11 xext"
816 X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
817 GL_LIB_DEPS="$XLIBGL_LIBS"
819 # should check these...
820 X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
821 GL_LIB_DEPS="$X_LIBS -lX11 -lXext"
822 GL_PC_LIB_PRIV="$GL_LIB_DEPS"
823 GL_PC_CFLAGS="$X11_INCLUDES"
825 GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread"
826 GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm -lpthread"
828 # if static, move the external libraries to the programs
829 # and empty the libraries for libGL
830 if test "$enable_static" = yes; then
831 APP_LIB_DEPS="$APP_LIB_DEPS $GL_LIB_DEPS"
835 dri|no) # these checks are still desired when there is no mesa_driver
836 # DRI must be shared, I think
837 if test "$enable_static" = yes; then
838 AC_MSG_ERROR([Can't use static libraries for DRI drivers])
841 PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
842 GL_PC_REQ_PRIV="glproto >= $GLPROTO_REQUIRED"
845 if test x"$driglx_direct" = xyes; then
847 PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
848 PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
849 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED"
850 DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
853 # find the DRI deps for libGL
854 if test "$x11_pkgconfig" = yes; then
855 dri_modules="x11 xext xdamage xfixes"
857 # add xf86vidmode if available
858 PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no)
859 if test "$HAVE_XF86VIDMODE" = yes ; then
860 dri_modules="$dri_modules xxf86vm"
863 # add xcb modules if necessary
864 if test "$enable_xcb" = yes; then
865 dri_modules="$dri_modules x11-xcb xcb-glx"
868 PKG_CHECK_MODULES([DRIGL], [$dri_modules])
869 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
870 X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
871 GL_LIB_DEPS="$DRIGL_LIBS"
873 # should check these...
874 X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
875 GL_LIB_DEPS="$X_LIBS -lX11 -lXext -lXxf86vm -lXdamage -lXfixes"
876 GL_PC_LIB_PRIV="$GL_LIB_DEPS"
877 GL_PC_CFLAGS="$X11_INCLUDES"
879 # XCB can only be used from pkg-config
880 if test "$enable_xcb" = yes; then
881 PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx])
882 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV x11-xcb xcb-glx"
883 X11_INCLUDES="$X11_INCLUDES $XCB_CFLAGS"
884 GL_LIB_DEPS="$GL_LIB_DEPS $XCB_LIBS"
888 # need DRM libs, -lpthread, etc.
889 GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
890 GL_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
891 GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
892 GLESv1_CM_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
893 GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
894 GLESv2_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
897 # No libGL for osmesa
901 AC_SUBST([GL_LIB_DEPS])
902 AC_SUBST([GL_PC_REQ_PRIV])
903 AC_SUBST([GL_PC_LIB_PRIV])
904 AC_SUBST([GL_PC_CFLAGS])
905 AC_SUBST([DRI_PC_REQ_PRIV])
906 AC_SUBST([GLESv1_CM_LIB_DEPS])
907 AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
908 AC_SUBST([GLESv2_LIB_DEPS])
909 AC_SUBST([GLESv2_PC_LIB_PRIV])
911 GLAPI_LIB_DEPS="-lpthread"
912 AC_SUBST([GLAPI_LIB_DEPS])
915 dnl Setup default DRI CFLAGS
916 DRI_CFLAGS='$(CFLAGS)'
917 DRI_CXXFLAGS='$(CXXFLAGS)'
918 DRI_LIB_DEPS='$(TOP)/src/mesa/libmesa.a'
919 MESA_MODULES='$(TOP)/src/mesa/libmesa.a'
921 AC_ARG_ENABLE([shared-dricore],
922 [AS_HELP_STRING([--enable-shared-dricore],
923 [link DRI modules with shared core DRI routines @<:@default=disabled@:>@])],
924 [enable_dricore="$enableval"],
926 if test "$mesa_driver" = dri ; then
927 if test "$enable_dricore" = yes ; then
928 if test "$GCC$GXX" != yesyes ; then
929 AC_MSG_WARN([Shared dricore requires GCC-compatible rpath handling. Disabling shared dricore])
932 DRICORE_GLSL_LIBS='$(TOP)/$(LIB_DIR)/libglsl.so'
933 DRICORE_LIBS='$(TOP)/$(LIB_DIR)/libdricore.so'
934 DRICORE_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -lglsl'
935 DRI_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore -lglsl'
936 DRI_CFLAGS='$(CFLAGS_NOVISIBILITY) -DUSE_DRICORE'
937 DRI_CXXFLAGS='$(CXXFLAGS_NOVISIBILITY) -DUSE_DRICORE'
938 MESA_MODULES='$(DRICORE_LIBS) $(DRICORE_GLSL_LIBS)'
942 AC_SUBST([DRICORE_LIBS])
943 AC_SUBST([DRICORE_GLSL_LIBS])
944 AC_SUBST([DRICORE_LIB_DEPS])
945 AC_SUBST([DRI_CXXFLAGS])
946 AC_SUBST([DRI_CFLAGS])
947 AC_SUBST([MESA_MODULES])
949 AC_SUBST([HAVE_XF86VIDMODE])
951 PKG_CHECK_MODULES([LIBDRM_RADEON],
952 [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED],
953 HAVE_LIBDRM_RADEON=yes,
954 HAVE_LIBDRM_RADEON=no)
959 if test "$mesa_driver" = xlib; then
960 DEFINES="$DEFINES -DUSE_XSHM"
967 AC_ARG_ENABLE([glx-tls],
968 [AS_HELP_STRING([--enable-glx-tls],
969 [enable TLS support in GLX @<:@default=disabled@:>@])],
970 [GLX_USE_TLS="$enableval"],
972 AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
974 AS_IF([test "x$GLX_USE_TLS" = xyes],
975 [DEFINES="${DEFINES} -DGLX_USE_TLS -DPTHREADS"])
980 dnl Directory for DRI drivers
981 AC_ARG_WITH([dri-driverdir],
982 [AS_HELP_STRING([--with-dri-driverdir=DIR],
983 [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
984 [DRI_DRIVER_INSTALL_DIR="$withval"],
985 [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
986 AC_SUBST([DRI_DRIVER_INSTALL_DIR])
987 dnl Extra search path for DRI drivers
988 AC_ARG_WITH([dri-searchpath],
989 [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
990 [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
991 [DRI_DRIVER_SEARCH_DIR="$withval"],
992 [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
993 AC_SUBST([DRI_DRIVER_SEARCH_DIR])
994 dnl Which drivers to build - default is chosen by platform
995 AC_ARG_WITH([dri-drivers],
996 [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
997 [comma delimited DRI drivers list, e.g.
998 "swrast,i965,radeon" @<:@default=auto@:>@])],
999 [with_dri_drivers="$withval"],
1000 [with_dri_drivers=yes])
1001 if test "x$with_dri_drivers" = x; then
1005 dnl If $with_dri_drivers is yes, directories will be added through
1008 case "$with_dri_drivers" in
1014 # verify the requested driver directories exist
1015 dri_drivers=`IFS=', '; echo $with_dri_drivers`
1016 for driver in $dri_drivers; do
1017 test -d "$srcdir/src/mesa/drivers/dri/$driver" || \
1018 AC_MSG_ERROR([DRI driver directory '$driver' doesn't exist])
1020 DRI_DIRS="$dri_drivers"
1024 dnl Set DRI_DIRS, DEFINES and LIB_DEPS
1025 if test "$mesa_driver" = dri -o "$mesa_driver" = no; then
1026 # Platform specific settings and drivers to build
1029 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1030 if test "x$driglx_direct" = xyes; then
1031 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1033 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
1037 # sis is missing because they have not be converted to use
1038 # the new interface. i810 are missing because there is no
1039 # x86-64 system where they could *ever* be used.
1040 if test "x$DRI_DIRS" = "xyes"; then
1041 DRI_DIRS="i915 i965 mach64 mga nouveau r128 r200 r300 r600 \
1042 radeon savage tdfx unichrome swrast"
1046 # Build only the drivers for cards that exist on PowerPC.
1047 # At some point MGA will be added, but not yet.
1048 if test "x$DRI_DIRS" = "xyes"; then
1049 DRI_DIRS="mach64 r128 r200 r300 r600 radeon tdfx swrast"
1053 # Build only the drivers for cards that exist on sparc`
1054 if test "x$DRI_DIRS" = "xyes"; then
1055 DRI_DIRS="mach64 r128 r200 r300 r600 radeon swrast"
1060 freebsd* | dragonfly* | *netbsd*)
1061 DEFINES="$DEFINES -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1"
1062 DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS"
1063 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1064 if test "x$driglx_direct" = xyes; then
1065 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1068 if test "x$DRI_DIRS" = "xyes"; then
1069 DRI_DIRS="i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 \
1070 radeon tdfx unichrome savage sis swrast"
1074 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1075 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
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"
1085 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1086 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1087 if test "x$driglx_direct" = xyes; then
1088 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1090 if test "x$DRI_DIRS" = "xyes"; then
1097 if test "x$DRI_DIRS" = "xyes"; then
1098 DRI_DIRS="i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 radeon \
1099 savage sis tdfx unichrome swrast"
1102 DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'`
1105 if test "$mesa_driver" = dri; then
1108 AC_ARG_WITH([expat],
1109 [AS_HELP_STRING([--with-expat=DIR],
1110 [expat install directory])],[
1111 EXPAT_INCLUDES="-I$withval/include"
1112 CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES"
1113 LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR"
1114 EXPAT_LIB="-L$withval/$LIB_DIR -lexpat"
1116 AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])])
1117 AC_CHECK_LIB([expat],[XML_ParserCreate],[],
1118 [AC_MSG_ERROR([Expat required for DRI.])])
1121 # put all the necessary libs together, including possibly libdricore
1122 DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread $DLOPEN_LIBS"
1124 AC_SUBST([DRI_DIRS])
1125 AC_SUBST([EXPAT_INCLUDES])
1126 AC_SUBST([DRI_LIB_DEPS])
1130 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1136 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
1141 *radeon*|*r200*|*r300*|*r600*)
1142 if test "x$HAVE_LIBDRM_RADEON" = xyes; then
1143 RADEON_CFLAGS="-DHAVE_LIBDRM_RADEON=1 $LIBDRM_RADEON_CFLAGS"
1144 RADEON_LDFLAGS=$LIBDRM_RADEON_LIBS
1148 AC_SUBST([RADEON_CFLAGS])
1149 AC_SUBST([RADEON_LDFLAGS])
1153 dnl OSMesa configuration
1155 if test "$mesa_driver" = xlib; then
1156 default_gl_osmesa=yes
1158 default_gl_osmesa=no
1160 AC_ARG_ENABLE([gl-osmesa],
1161 [AS_HELP_STRING([--enable-gl-osmesa],
1162 [enable OSMesa with libGL @<:@default=enabled for xlib driver@:>@])],
1163 [gl_osmesa="$enableval"],
1164 [gl_osmesa="$default_gl_osmesa"])
1165 if test "x$gl_osmesa" = xyes; then
1166 if test "x$enable_opengl" = xno; then
1167 AC_MSG_ERROR([OpenGL is not available for OSMesa driver])
1169 if test "$mesa_driver" = osmesa; then
1170 AC_MSG_ERROR([libGL is not available for OSMesa driver])
1172 DRIVER_DIRS="$DRIVER_DIRS osmesa"
1176 dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
1177 AC_ARG_WITH([osmesa-bits],
1178 [AS_HELP_STRING([--with-osmesa-bits=BITS],
1179 [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
1180 [osmesa_bits="$withval"],
1182 if test "$mesa_driver" != osmesa && test "x$osmesa_bits" != x8; then
1183 AC_MSG_WARN([Ignoring OSMesa channel bits for non-OSMesa driver])
1186 case "x$osmesa_bits" in
1191 OSMESA_LIB="OSMesa$osmesa_bits"
1192 DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
1195 AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
1198 AC_SUBST([OSMESA_LIB])
1200 case "$DRIVER_DIRS" in
1202 # only link libraries with osmesa if shared
1203 if test "$enable_static" = no; then
1204 OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS"
1209 OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS"
1212 AC_SUBST([OSMESA_LIB_DEPS])
1213 AC_SUBST([OSMESA_MESA_DEPS])
1214 AC_SUBST([OSMESA_PC_REQ])
1215 AC_SUBST([OSMESA_PC_LIB_PRIV])
1218 dnl EGL configuration
1222 if test "x$enable_egl" = xno; then
1223 if test "x$mesa_driver" = xno; then
1224 AC_MSG_ERROR([cannot disable EGL when there is no mesa driver])
1227 if test "x$enable_egl" = xyes; then
1228 SRC_DIRS="$SRC_DIRS egl"
1229 EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS -lpthread"
1232 if test "$enable_static" != yes; then
1233 # build egl_glx when libGL is built
1234 if test "$mesa_driver" = xlib -o "$mesa_driver" = dri; then
1235 EGL_DRIVERS_DIRS="glx"
1238 PKG_CHECK_MODULES([LIBUDEV], [libudev > 150],
1239 [have_libudev=yes],[have_libudev=no])
1240 if test "$have_libudev" = yes; then
1241 DEFINES="$DEFINES -DHAVE_LIBUDEV"
1243 if test "$mesa_driver" = dri; then
1244 # build egl_dri2 when xcb-dri2 is available
1245 PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 xcb-xfixes],
1246 [have_xcb_dri2=yes],[have_xcb_dri2=no])
1248 if test "$have_xcb_dri2" = yes; then
1249 EGL_DRIVER_DRI2=dri2
1250 DEFINES="$DEFINES -DHAVE_XCB_DRI2"
1251 # workaround a bug in xcb-dri2 generated by xcb-proto 1.6
1252 AC_CHECK_LIB(xcb-dri2, xcb_dri2_connect_alignment_pad, [],
1253 [DEFINES="$DEFINES -DXCB_DRI2_CONNECT_DEVICE_NAME_BROKEN"])
1257 EGL_DRIVERS_DIRS="$EGL_DRIVERS_DIRS $EGL_DRIVER_DRI2"
1260 AC_SUBST([EGL_LIB_DEPS])
1261 AC_SUBST([EGL_DRIVERS_DIRS])
1264 dnl gbm configuration
1266 if test "x$enable_gbm" = xauto; then
1267 case "$with_egl_platforms" in
1274 if test "x$enable_gbm" = xyes; then
1275 SRC_DIRS="$SRC_DIRS gbm"
1278 PKG_CHECK_MODULES([LIBUDEV], [libudev], [],
1279 AC_MSG_ERROR([gbm needs udev]))
1280 GBM_LIB_DEPS="$DLOPEN_LIBS $LIBUDEV_LIBS"
1282 if test "$mesa_driver" = dri; then
1283 GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri"
1284 if test "$SHARED_GLAPI" -eq 0; then
1285 AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi])
1289 AC_SUBST([GBM_LIB_DEPS])
1290 AC_SUBST([GBM_BACKEND_DIRS])
1291 GBM_PC_REQ_PRIV="libudev"
1292 GBM_PC_LIB_PRIV="$DLOPEN_LIBS"
1294 AC_SUBST([GBM_PC_REQ_PRIV])
1295 AC_SUBST([GBM_PC_LIB_PRIV])
1296 AC_SUBST([GBM_PC_CFLAGS])
1299 dnl EGL Gallium configuration
1301 if test "x$enable_gallium_egl" = xyes; then
1302 if test "x$with_gallium_drivers" = x; then
1303 AC_MSG_ERROR([cannot enable egl_gallium without Gallium])
1305 if test "x$enable_egl" = xno; then
1306 AC_MSG_ERROR([cannot enable egl_gallium without EGL])
1309 GALLIUM_STATE_TRACKERS_DIRS="egl $GALLIUM_STATE_TRACKERS_DIRS"
1310 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl"
1315 dnl gbm Gallium configuration
1317 if test "x$enable_gallium_gbm" = xyes; then
1318 if test "x$with_gallium_drivers" = x; then
1319 AC_MSG_ERROR([cannot enable gbm_gallium without Gallium])
1321 if test "x$enable_gbm" = xno; then
1322 AC_MSG_ERROR([cannot enable gbm_gallium without gbm])
1325 GALLIUM_STATE_TRACKERS_DIRS="gbm $GALLIUM_STATE_TRACKERS_DIRS"
1326 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS gbm"
1331 dnl X.Org DDX configuration
1333 if test "x$enable_xorg" = xyes; then
1334 PKG_CHECK_MODULES([XORG], [xorg-server >= 1.6.0])
1335 PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
1336 PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
1337 PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
1338 HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
1339 HAVE_XEXTPROTO_71="no")
1340 GALLIUM_STATE_TRACKERS_DIRS="xorg $GALLIUM_STATE_TRACKERS_DIRS"
1345 dnl OpenVG configuration
1349 if test "x$enable_openvg" = xyes; then
1350 if test "x$enable_egl" = xno; then
1351 AC_MSG_ERROR([cannot enable OpenVG without EGL])
1353 if test "x$with_gallium_drivers" = x; then
1354 AC_MSG_ERROR([cannot enable OpenVG without Gallium])
1356 if test "x$enable_gallium_egl" = xno; then
1357 AC_MSG_ERROR([cannot enable OpenVG without egl_gallium])
1360 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
1361 VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS -lpthread"
1362 CORE_DIRS="$CORE_DIRS mapi/vgapi"
1363 GALLIUM_STATE_TRACKERS_DIRS="vega $GALLIUM_STATE_TRACKERS_DIRS"
1368 dnl D3D1X configuration
1371 if test "x$enable_d3d1x" = xyes; then
1372 if test "x$with_gallium_drivers" = x; then
1373 AC_MSG_ERROR([cannot enable D3D1X without Gallium])
1376 GALLIUM_STATE_TRACKERS_DIRS="d3d1x $GALLIUM_STATE_TRACKERS_DIRS"
1381 dnl GLU configuration
1383 AC_ARG_ENABLE([glu],
1384 [AS_HELP_STRING([--disable-glu],
1385 [enable OpenGL Utility library @<:@default=enabled@:>@])],
1386 [enable_glu="$enableval"],
1389 if test "x$enable_glu" = xyes -a "x$mesa_driver" = xno; then
1390 AC_MSG_NOTICE([Disabling GLU since there is no OpenGL driver])
1394 if test "x$enable_glu" = xyes; then
1395 SRC_DIRS="$SRC_DIRS glu"
1397 case "$mesa_driver" in
1399 # Link libGLU to libOSMesa instead of libGL
1402 if test "$enable_static" = no; then
1403 GLU_MESA_DEPS='-l$(OSMESA_LIB)'
1409 # If static, empty GLU_LIB_DEPS and add libs for programs to link
1411 GLU_PC_LIB_PRIV="-lm"
1412 if test "$enable_static" = no; then
1414 GLU_MESA_DEPS='-l$(GL_LIB)'
1418 APP_LIB_DEPS="$APP_LIB_DEPS -lstdc++"
1423 if test "$enable_static" = no; then
1424 GLU_LIB_DEPS="$GLU_LIB_DEPS $OS_CPLUSPLUS_LIBS"
1426 GLU_PC_LIB_PRIV="$GLU_PC_LIB_PRIV $OS_CPLUSPLUS_LIBS"
1427 AC_SUBST([GLU_LIB_DEPS])
1428 AC_SUBST([GLU_MESA_DEPS])
1429 AC_SUBST([GLU_PC_REQ])
1430 AC_SUBST([GLU_PC_REQ_PRIV])
1431 AC_SUBST([GLU_PC_LIB_PRIV])
1432 AC_SUBST([GLU_PC_CFLAGS])
1435 dnl GLw configuration
1437 AC_ARG_ENABLE([glw],
1438 [AS_HELP_STRING([--disable-glw],
1439 [enable Xt/Motif widget library @<:@default=enabled@:>@])],
1440 [enable_glw="$enableval"],
1442 dnl Don't build GLw on osmesa
1443 if test "x$enable_glw" = xyes; then
1444 case "$mesa_driver" in
1446 AC_MSG_NOTICE([Disabling GLw since there is no OpenGL driver])
1451 AC_ARG_ENABLE([motif],
1452 [AS_HELP_STRING([--enable-motif],
1453 [use Motif widgets in GLw @<:@default=disabled@:>@])],
1454 [enable_motif="$enableval"],
1457 if test "x$enable_glw" = xyes; then
1458 SRC_DIRS="$SRC_DIRS glw"
1459 if test "$x11_pkgconfig" = yes; then
1460 PKG_CHECK_MODULES([GLW],[x11 xt])
1461 GLW_PC_REQ_PRIV="x11 xt"
1462 GLW_LIB_DEPS="$GLW_LIBS"
1464 # should check these...
1465 GLW_LIB_DEPS="$X_LIBS -lXt -lX11"
1466 GLW_PC_LIB_PRIV="$GLW_LIB_DEPS"
1467 GLW_PC_CFLAGS="$X11_INCLUDES"
1470 GLW_SOURCES="GLwDrawA.c"
1472 if test "x$enable_motif" = xyes; then
1473 GLW_SOURCES="$GLW_SOURCES GLwMDrawA.c"
1474 AC_PATH_PROG([MOTIF_CONFIG], [motif-config], [no])
1475 if test "x$MOTIF_CONFIG" != xno; then
1476 MOTIF_CFLAGS=`$MOTIF_CONFIG --cflags`
1477 MOTIF_LIBS=`$MOTIF_CONFIG --libs`
1479 AC_CHECK_HEADER([Xm/PrimitiveP.h], [],
1480 [AC_MSG_ERROR([Can't locate Motif headers])])
1481 AC_CHECK_LIB([Xm], [XmGetPixmap], [MOTIF_LIBS="-lXm"],
1482 [AC_MSG_ERROR([Can't locate Motif Xm library])])
1484 # MOTIF_LIBS is prepended to GLW_LIB_DEPS since Xm needs Xt/X11
1485 GLW_LIB_DEPS="$MOTIF_LIBS $GLW_LIB_DEPS"
1486 GLW_PC_LIB_PRIV="$MOTIF_LIBS $GLW_PC_LIB_PRIV"
1487 GLW_PC_CFLAGS="$MOTIF_CFLAGS $GLW_PC_CFLAGS"
1490 # If static, empty GLW_LIB_DEPS and add libs for programs to link
1491 GLW_PC_LIB_PRIV="$GLW_PC_LIB_PRIV"
1492 if test "$enable_static" = no; then
1493 GLW_MESA_DEPS='-l$(GL_LIB)'
1494 GLW_LIB_DEPS="$GLW_LIB_DEPS"
1496 APP_LIB_DEPS="$APP_LIB_DEPS $GLW_LIB_DEPS"
1501 AC_SUBST([GLW_LIB_DEPS])
1502 AC_SUBST([GLW_MESA_DEPS])
1503 AC_SUBST([GLW_SOURCES])
1504 AC_SUBST([MOTIF_CFLAGS])
1505 AC_SUBST([GLW_PC_REQ_PRIV])
1506 AC_SUBST([GLW_PC_LIB_PRIV])
1507 AC_SUBST([GLW_PC_CFLAGS])
1510 dnl GLUT configuration
1512 if test -f "$srcdir/include/GL/glut.h"; then
1517 AC_ARG_ENABLE([glut],
1518 [AS_HELP_STRING([--disable-glut],
1519 [enable GLUT library @<:@default=enabled if source available@:>@])],
1520 [enable_glut="$enableval"],
1521 [enable_glut="$default_glut"])
1523 dnl Don't build glut on osmesa
1524 if test "x$enable_glut" = xyes; then
1525 case "$mesa_driver" in
1527 AC_MSG_NOTICE([Disabling glut since there is no OpenGL driver])
1532 dnl Can't build glut if GLU not available
1533 if test "x$enable_glu$enable_glut" = xnoyes; then
1534 AC_MSG_WARN([Disabling glut since GLU is disabled])
1538 if test "x$enable_glut" = xyes; then
1539 SRC_DIRS="$SRC_DIRS glut/glx"
1540 if test "$x11_pkgconfig" = yes; then
1541 PKG_CHECK_MODULES([GLUT],[x11 xmu xi])
1542 GLUT_PC_REQ_PRIV="x11 xmu xi"
1543 GLUT_LIB_DEPS="$GLUT_LIBS"
1545 # should check these...
1546 GLUT_LIB_DEPS="$X_LIBS -lX11 -lXmu -lXi"
1547 GLUT_PC_LIB_PRIV="$GLUT_LIB_DEPS"
1548 GLUT_PC_CFLAGS="$X11_INCLUDES"
1550 if test "x$GCC" = xyes; then
1551 GLUT_CFLAGS="$GLUT_CFLAGS -fexceptions"
1553 GLUT_LIB_DEPS="$GLUT_LIB_DEPS -lm"
1554 GLUT_PC_LIB_PRIV="$GLUT_PC_LIB_PRIV -lm"
1556 # If static, empty GLUT_LIB_DEPS and add libs for programs to link
1557 if test "$enable_static" = no; then
1558 GLUT_MESA_DEPS='-l$(GLU_LIB) -l$(GL_LIB)'
1560 APP_LIB_DEPS="$APP_LIB_DEPS $GLUT_LIB_DEPS"
1565 AC_SUBST([GLUT_LIB_DEPS])
1566 AC_SUBST([GLUT_MESA_DEPS])
1567 AC_SUBST([GLUT_CFLAGS])
1568 AC_SUBST([GLUT_PC_REQ_PRIV])
1569 AC_SUBST([GLUT_PC_LIB_PRIV])
1570 AC_SUBST([GLUT_PC_CFLAGS])
1573 dnl Program library dependencies
1574 dnl Only libm is added here if necessary as the libraries should
1575 dnl be pulled in by the linker
1577 if test "x$APP_LIB_DEPS" = x; then
1580 APP_LIB_DEPS="-lX11 -lsocket -lnsl -lm"
1583 APP_LIB_DEPS="-lX11"
1590 AC_SUBST([APP_LIB_DEPS])
1591 AC_SUBST([PROGRAM_DIRS])
1594 dnl Gallium configuration
1596 if test "x$with_gallium_drivers" != x; then
1597 SRC_DIRS="$SRC_DIRS gallium gallium/winsys gallium/targets"
1598 AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
1603 AC_SUBST([LLVM_CFLAGS])
1604 AC_SUBST([LLVM_LIBS])
1605 AC_SUBST([LLVM_LDFLAGS])
1606 AC_SUBST([LLVM_VERSION])
1610 case "x$enable_opengl$enable_gles1$enable_gles2" in
1612 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
1616 AC_SUBST([VG_LIB_DEPS])
1617 AC_SUBST([EGL_CLIENT_APIS])
1619 AC_ARG_WITH([egl-platforms],
1620 [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1621 [comma delimited native platforms libEGL supports, e.g.
1622 "x11,drm" @<:@default=auto@:>@])],
1623 [with_egl_platforms="$withval"],
1624 [with_egl_platforms=yes])
1627 WAYLAND_EGL_LIB_DEPS=""
1629 case "$with_egl_platforms" in
1631 if test "x$enable_egl" = xyes && test "x$mesa_driver" != xosmesa; then
1633 if test "$mesa_driver" = dri; then
1634 EGL_PLATFORMS="$EGL_PLATFORMS drm"
1639 if test "x$enable_egl" != xyes; then
1640 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1642 # verify the requested driver directories exist
1643 egl_platforms=`IFS=', '; echo $with_egl_platforms`
1644 for plat in $egl_platforms; do
1645 test -d "$srcdir/src/gallium/state_trackers/egl/$plat" || \
1646 AC_MSG_ERROR([EGL platform '$plat' doesn't exist])
1647 if test "$plat" = "fbdev"; then
1648 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/fbdev"
1650 if test "$plat" = "wayland"; then
1651 PKG_CHECK_MODULES([WAYLAND], [wayland-client wayland-server],, \
1652 [AC_MSG_ERROR([cannot find libwayland-client])])
1653 WAYLAND_EGL_LIB_DEPS="$WAYLAND_LIBS $LIBDRM_LIBS"
1654 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/wayland"
1656 if test "$plat" = "drm" && test "x$enable_gbm" = no; then
1657 AC_MSG_ERROR([EGL platform drm needs gbm])
1660 EGL_PLATFORMS="$egl_platforms"
1663 AC_SUBST([EGL_PLATFORMS])
1665 AC_SUBST([WAYLAND_EGL_LIB_DEPS])
1666 WAYLAND_EGL_PC_REQ_PRIV="wayland-client libdrm"
1667 WAYLAND_EGL_PC_LIB_PRIV=
1668 WAYLAND_EGL_PC_CFLAGS=
1670 AC_SUBST([WAYLAND_EGL_PC_REQ_PRIV])
1671 AC_SUBST([WAYLAND_EGL_PC_LIB_PRIV])
1672 AC_SUBST([WAYLAND_EGL_PC_CFLAGS])
1675 AC_ARG_WITH([egl-driver-dir],
1676 [AS_HELP_STRING([--with-egl-driver-dir=DIR],
1677 [directory for EGL drivers [[default=${libdir}/egl]]])],
1678 [EGL_DRIVER_INSTALL_DIR="$withval"],
1679 [EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
1680 AC_SUBST([EGL_DRIVER_INSTALL_DIR])
1682 AC_ARG_WITH([xorg-driver-dir],
1683 [AS_HELP_STRING([--with-xorg-driver-dir=DIR],
1684 [Default xorg driver directory[[default=${libdir}/xorg/modules/drivers]]])],
1685 [XORG_DRIVER_INSTALL_DIR="$withval"],
1686 [XORG_DRIVER_INSTALL_DIR="${libdir}/xorg/modules/drivers"])
1687 AC_SUBST([XORG_DRIVER_INSTALL_DIR])
1689 AC_ARG_WITH([max-width],
1690 [AS_HELP_STRING([--with-max-width=N],
1691 [Maximum framebuffer width (4096)])],
1692 [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1693 AS_IF([test "${withval}" -gt "4096"],
1694 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1696 AC_ARG_WITH([max-height],
1697 [AS_HELP_STRING([--with-max-height=N],
1698 [Maximum framebuffer height (4096)])],
1699 [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1700 AS_IF([test "${withval}" -gt "4096"],
1701 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1707 AC_ARG_ENABLE([gallium-llvm],
1708 [AS_HELP_STRING([--enable-gallium-llvm],
1709 [build gallium LLVM support @<:@default=enabled on x86/x86_64@:>@])],
1710 [enable_gallium_llvm="$enableval"],
1711 [enable_gallium_llvm=auto])
1712 if test "x$with_gallium_drivers" = x; then
1713 enable_gallium_llvm=no
1715 if test "x$enable_gallium_llvm" = xauto; then
1717 i*86|x86_64) enable_gallium_llvm=yes;;
1720 if test "x$enable_gallium_llvm" = xyes; then
1721 if test "x$LLVM_CONFIG" != xno; then
1722 LLVM_VERSION=`$LLVM_CONFIG --version`
1723 LLVM_CFLAGS=`$LLVM_CONFIG --cppflags`
1724 LLVM_LIBS="`$LLVM_CONFIG --libs` -lstdc++"
1726 LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1727 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1728 DEFINES="$DEFINES -DGALLIUM_LLVMPIPE -D__STDC_CONSTANT_MACROS"
1738 dnl Gallium helper functions
1740 gallium_check_st() {
1741 if test "x$HAVE_ST_DRI" = xyes || test "x$HAVE_ST_XORG" = xyes; then
1742 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
1744 if test "x$HAVE_ST_DRI" = xyes && test "x$2" != x; then
1745 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
1747 if test "x$HAVE_ST_XORG" = xyes && test "x$3" != x; then
1748 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
1752 gallium_require_llvm() {
1753 if test "x$MESA_LLVM" = x0; then
1755 i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
1761 if test "x$with_gallium_drivers" != x; then
1762 # This is for compile-testing
1763 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915 i965 r300 svga"
1764 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1766 gallium_drivers=`IFS=', '; echo $with_gallium_drivers`
1767 for driver in $gallium_drivers; do
1770 gallium_check_st "svga/drm" "dri-vmwgfx" "xorg-vmwgfx"
1773 gallium_check_st "i915/drm" "dri-i915" "xorg-i915"
1776 gallium_check_st "i965/drm" "dri-i965" "xorg-i965"
1779 gallium_require_llvm "Gallium R300"
1780 gallium_check_st "radeon/drm" "dri-r300" "xorg-r300"
1783 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
1784 gallium_check_st "r600/drm" "dri-r600"
1787 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nvfx nv50 nvc0"
1788 gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau"
1791 if test "x$HAVE_ST_DRI" = xyes; then
1792 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast"
1796 AC_MSG_ERROR([Unknown Gallium driver: $driver])
1802 dnl prepend CORE_DIRS to SRC_DIRS
1803 SRC_DIRS="$CORE_DIRS $SRC_DIRS"
1805 dnl Restore LDFLAGS and CPPFLAGS
1806 LDFLAGS="$_SAVE_LDFLAGS"
1807 CPPFLAGS="$_SAVE_CPPFLAGS"
1809 dnl Substitute the config
1810 AC_CONFIG_FILES([configs/autoconf])
1812 dnl Replace the configs/current symlink
1813 AC_CONFIG_COMMANDS([configs],[
1814 if test -f configs/current || test -L configs/current; then
1815 rm -f configs/current
1817 ln -s autoconf configs/current
1823 dnl Output some configuration info for the user
1826 echo " prefix: $prefix"
1827 echo " exec_prefix: $exec_prefix"
1828 echo " libdir: $libdir"
1829 echo " includedir: $includedir"
1833 echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
1834 echo " OpenVG: $enable_openvg"
1838 echo " Driver: $mesa_driver"
1839 if test "$mesa_driver" != no; then
1840 if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then
1841 echo " OSMesa: lib$OSMESA_LIB"
1845 if test "$mesa_driver" = dri; then
1846 # cleanup the drivers var
1847 dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'`
1848 if test "x$DRI_DIRS" = x; then
1849 echo " DRI drivers: no"
1851 echo " DRI drivers: $dri_dirs"
1853 echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
1854 echo " Use XCB: $enable_xcb"
1855 echo " Shared dricore: $enable_dricore"
1859 echo " GLU: $enable_glu"
1860 echo " GLw: $enable_glw (Motif: $enable_motif)"
1861 echo " glut: $enable_glut"
1865 echo " EGL: $enable_egl"
1866 if test "$enable_egl" = yes; then
1867 echo " EGL platforms: $EGL_PLATFORMS"
1870 for d in $EGL_DRIVERS_DIRS; do
1871 egl_drivers="$egl_drivers builtin:egl_$d"
1874 if test "x$HAVE_ST_EGL" = xyes; then
1875 echo " EGL drivers: ${egl_drivers} egl_gallium"
1876 echo " EGL Gallium STs:$EGL_CLIENT_APIS"
1878 echo " EGL drivers: $egl_drivers"
1883 if test "x$MESA_LLVM" = x1; then
1885 echo " llvm-config: $LLVM_CONFIG"
1886 echo " llvm-version: $LLVM_VERSION"
1892 if echo "$SRC_DIRS" | grep 'gallium' >/dev/null 2>&1; then
1893 echo " Gallium: yes"
1894 echo " Gallium dirs: $GALLIUM_DIRS"
1895 echo " Target dirs: $GALLIUM_TARGET_DIRS"
1896 echo " Winsys dirs: $GALLIUM_WINSYS_DIRS"
1897 echo " Driver dirs: $GALLIUM_DRIVERS_DIRS"
1898 echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS"
1905 echo " Shared libs: $enable_shared"
1906 echo " Static libs: $enable_static"
1908 dnl Compiler options
1909 # cleanup the CFLAGS/CXXFLAGS/DEFINES vars
1910 cflags=`echo $CFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1911 $SED 's/^ *//;s/ */ /;s/ *$//'`
1912 cxxflags=`echo $CXXFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1913 $SED 's/^ *//;s/ */ /;s/ *$//'`
1914 defines=`echo $DEFINES $ASM_FLAGS | $SED 's/^ *//;s/ */ /;s/ *$//'`
1916 echo " CFLAGS: $cflags"
1917 echo " CXXFLAGS: $cxxflags"
1918 echo " Macros: $defines"
1920 echo " PYTHON2: $PYTHON2"
1923 echo " Run '${MAKE-make}' to build Mesa"