1 dnl Process this file with autoconf to create configure.
5 dnl Versioning - scrape the version from configs/default
6 m4_define([mesa_version],
7 [m4_esyscmd([${MAKE-make} -s -f bin/version.mk version | tr -d '\n' | tr -d '\r'])])
8 m4_ifval(mesa_version,,
9 [m4_fatal([Failed to get the Mesa version from `make -f bin/version.mk version`])])
11 dnl Tell the user about autoconf.html in the --help output
12 m4_divert_once([HELP_END], [
13 See docs/autoconf.html for more details on the options for Mesa.])
15 AC_INIT([Mesa],[mesa_version],
16 [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
17 AC_CONFIG_AUX_DIR([bin])
20 dnl Versions for external dependencies
21 LIBDRM_REQUIRED=2.4.24
22 LIBDRM_RADEON_REQUIRED=2.4.24
23 LIBDRM_INTEL_REQUIRED=2.4.24
24 LIBDRM_NOUVEAU_REQUIRED=0.6
25 DRI2PROTO_REQUIRED=2.1
26 GLPROTO_REQUIRED=1.4.11
27 LIBDRM_XORG_REQUIRED=2.4.24
28 LIBKMS_XORG_REQUIRED=1.0.0
34 AC_CHECK_PROGS([MAKE], [gmake make])
35 AC_CHECK_PROGS([PYTHON2], [python2 python])
36 AC_PATH_PROG([MKDEP], [makedepend])
37 AC_PATH_PROG([SED], [sed])
39 if test "x$MKDEP" = "x"; then
40 AC_MSG_ERROR([makedepend is required to build Mesa])
43 AC_PATH_PROG([FLEX], [flex])
44 test "x$FLEX" = "x" && AC_MSG_ERROR([flex is needed to build Mesa])
46 AC_PATH_PROG([BISON], [bison])
47 test "x$BISON" = "x" && AC_MSG_ERROR([bison is needed to build Mesa])
49 dnl Our fallback install-sh is a symlink to minstall. Use the existing
50 dnl configuration in that case.
52 test "x$INSTALL" = "x$ac_install_sh" && INSTALL='$(MINSTALL)'
54 dnl We need a POSIX shell for parts of the build. Assume we have one
58 # Solaris /bin/sh is too old/non-POSIX compliant
59 AC_PATH_PROGS(POSIX_SHELL, [ksh93 ksh sh])
64 dnl clang is mostly GCC-compatible, but its version is much lower,
65 dnl so we have to check for it.
66 AC_MSG_CHECKING([if compiling with clang])
69 [AC_LANG_PROGRAM([], [[
74 [CLANG=yes], [CLANG=no])
76 AC_MSG_RESULT([$CLANG])
78 dnl If we're using GCC, make sure that it is at least version 3.3.0. Older
79 dnl versions are explictly not supported.
80 if test "x$GCC" = xyes -a "x$CLANG" = xno; then
81 AC_MSG_CHECKING([whether gcc version is sufficient])
85 GCC_VERSION=`$CC -dumpversion`
86 if test $? -eq 0; then
87 major=`echo $GCC_VERSION | cut -d. -f1`
88 minor=`echo $GCC_VERSION | cut -d. -f1`
91 if test $major -lt 3 -o $major -eq 3 -a $minor -lt 3 ; then
93 AC_MSG_ERROR([If using GCC, version 3.3.0 or later is required.])
100 MKDEP_OPTIONS=-fdepend
101 dnl Ask gcc where it's keeping its secret headers
102 if test "x$GCC" = xyes; then
103 for dir in include include-fixed; do
104 GCC_INCLUDES=`$CC -print-file-name=$dir`
105 if test "x$GCC_INCLUDES" != x && \
106 test "$GCC_INCLUDES" != "$dir" && \
107 test -d "$GCC_INCLUDES"; then
108 MKDEP_OPTIONS="$MKDEP_OPTIONS -I$GCC_INCLUDES"
112 AC_SUBST([MKDEP_OPTIONS])
114 dnl Make sure the pkg-config macros are defined
115 m4_ifndef([PKG_PROG_PKG_CONFIG],
116 [m4_fatal([Could not locate the pkg-config autoconf macros.
117 These are usually located in /usr/share/aclocal/pkg.m4. If your macros
118 are in a different location, try setting the environment variable
119 ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
120 PKG_PROG_PKG_CONFIG()
122 dnl LIB_DIR - library basename
123 LIB_DIR=`echo $libdir | $SED 's%.*/%%'`
126 dnl Cache LDFLAGS so we can add EXTRA_LIB_PATH and restore it later
127 _SAVE_LDFLAGS="$LDFLAGS"
128 AC_ARG_VAR([EXTRA_LIB_PATH],[Extra -L paths for the linker])
129 AC_SUBST([EXTRA_LIB_PATH])
131 dnl Cache CPPFLAGS so we can add *_INCLUDES and restore it later
132 _SAVE_CPPFLAGS="$CPPFLAGS"
133 AC_ARG_VAR([X11_INCLUDES],[Extra -I paths for X11 headers])
134 AC_SUBST([X11_INCLUDES])
141 DEFINES="$DEFINES -D_GNU_SOURCE -DPTHREADS"
144 DEFINES="$DEFINES -DPTHREADS -DSVR4"
147 DEFINES="$DEFINES -DPTHREADS"
151 dnl Add flags for gcc and g++
152 if test "x$GCC" = xyes; then
153 CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -std=c99"
154 if test "x$CLANG" = "xno"; then
155 CFLAGS="$CFLAGS -ffast-math"
158 # Enable -fvisibility=hidden if using a gcc that supports it
159 save_CFLAGS="$CFLAGS"
160 AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
161 VISIBILITY_CFLAGS="-fvisibility=hidden"
162 CFLAGS="$CFLAGS $VISIBILITY_CFLAGS"
163 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
164 [VISIBILITY_CFLAGS=""; AC_MSG_RESULT([no])]);
166 # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed.
169 # Work around aliasing bugs - developers should comment this out
170 CFLAGS="$CFLAGS -fno-strict-aliasing"
172 if test "x$GXX" = xyes; then
173 CXXFLAGS="$CXXFLAGS -Wall"
175 # Enable -fvisibility=hidden if using a gcc that supports it
176 save_CXXFLAGS="$CXXFLAGS"
177 AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
178 VISIBILITY_CXXFLAGS="-fvisibility=hidden"
179 CXXFLAGS="$CXXFLAGS $VISIBILITY_CXXFLAGS"
180 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
181 [VISIBILITY_CXXFLAGS="" ; AC_MSG_RESULT([no])]);
183 # Restore CXXFLAGS; VISIBILITY_CXXFLAGS are added to it where needed.
184 CXXFLAGS=$save_CXXFLAGS
186 # Work around aliasing bugs - developers should comment this out
187 CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
190 AC_SUBST([VISIBILITY_CFLAGS])
191 AC_SUBST([VISIBILITY_CXXFLAGS])
193 dnl These should be unnecessary, but let the user set them if they want
194 AC_ARG_VAR([OPT_FLAGS], [Additional optimization flags for the compiler.
195 Default is to use CFLAGS.])
196 AC_ARG_VAR([ARCH_FLAGS], [Additional architecture specific flags for the
197 compiler. Default is to use CFLAGS.])
198 AC_SUBST([OPT_FLAGS])
199 AC_SUBST([ARCH_FLAGS])
202 dnl Hacks to enable 32 or 64 bit build
204 AC_ARG_ENABLE([32-bit],
205 [AS_HELP_STRING([--enable-32-bit],
206 [build 32-bit libraries @<:@default=auto@:>@])],
207 [enable_32bit="$enableval"],
210 if test "x$enable_32bit" = xyes; then
211 if test "x$GCC" = xyes; then
212 CFLAGS="$CFLAGS -m32"
213 ARCH_FLAGS="$ARCH_FLAGS -m32"
215 if test "x$GXX" = xyes; then
216 CXXFLAGS="$CXXFLAGS -m32"
219 AC_ARG_ENABLE([64-bit],
220 [AS_HELP_STRING([--enable-64-bit],
221 [build 64-bit libraries @<:@default=auto@:>@])],
222 [enable_64bit="$enableval"],
225 if test "x$enable_64bit" = xyes; then
226 if test "x$GCC" = xyes; then
227 CFLAGS="$CFLAGS -m64"
229 if test "x$GXX" = xyes; then
230 CXXFLAGS="$CXXFLAGS -m64"
235 dnl shared/static libraries, mimic libtool options
237 AC_ARG_ENABLE([static],
238 [AS_HELP_STRING([--enable-static],
239 [build static libraries @<:@default=disabled@:>@])],
240 [enable_static="$enableval"],
243 case "x$enable_static" in
245 x ) enable_static=no ;;
247 AC_MSG_ERROR([Static library option '$enable_static' is not a valid])
250 AC_ARG_ENABLE([shared],
251 [AS_HELP_STRING([--disable-shared],
252 [build shared libraries @<:@default=enabled@:>@])],
253 [enable_shared="$enableval"],
256 case "x$enable_shared" in
258 x ) enable_shared=yes ;;
260 AC_MSG_ERROR([Shared library option '$enable_shared' is not a valid])
264 dnl Can't have static and shared libraries, default to static if user
265 dnl explicitly requested. If both disabled, set to static since shared
266 dnl was explicitly requirested.
267 case "x$enable_static$enable_shared" in
269 AC_MSG_WARN([Can't build static and shared libraries, disabling shared])
273 AC_MSG_WARN([Can't disable both static and shared libraries, enabling static])
281 AC_ARG_VAR([MKLIB_OPTIONS],[Options for the Mesa library script, mklib])
282 if test "$enable_static" = yes; then
283 MKLIB_OPTIONS="$MKLIB_OPTIONS -static"
285 AC_SUBST([MKLIB_OPTIONS])
288 dnl other compiler options
290 AC_ARG_ENABLE([debug],
291 [AS_HELP_STRING([--enable-debug],
292 [use debug compiler flags and macros @<:@default=disabled@:>@])],
293 [enable_debug="$enableval"],
296 if test "x$enable_debug" = xyes; then
297 DEFINES="$DEFINES -DDEBUG"
298 if test "x$GCC" = xyes; then
301 if test "x$GXX" = xyes; then
302 CXXFLAGS="$CXXFLAGS -g"
309 LIB_PREFIX_GLOB='lib'
310 LIB_VERSION_SEPARATOR='.'
311 if test "$enable_static" = yes; then
316 LIB_EXTENSION='dylib' ;;
318 dnl prefix can be 'cyg' or 'lib'
319 LIB_PREFIX_GLOB='???'
320 LIB_VERSION_SEPARATOR='-'
321 LIB_EXTENSION='dll' ;;
325 LIB_EXTENSION='so' ;;
330 dnl potentially-infringing-but-nobody-knows-for-sure stuff
332 AC_ARG_ENABLE([texture-float],
333 [AS_HELP_STRING([--enable-texture-float],
334 [enable floating-point textures and renderbuffers @<:@default=disabled@:>@])],
335 [enable_texture_float="$enableval"],
336 [enable_texture_float=no]
338 if test "x$enable_texture_float" = xyes; then
339 AC_MSG_WARN([Floating-point textures enabled.])
340 AC_MSG_WARN([Please consult docs/patents.txt with your lawyer before building Mesa.])
341 DEFINES="$DEFINES -DTEXTURE_FLOAT_ENABLED"
344 GL_LIB_NAME='lib$(GL_LIB).'${LIB_EXTENSION}
345 GLU_LIB_NAME='lib$(GLU_LIB).'${LIB_EXTENSION}
346 GLUT_LIB_NAME='lib$(GLUT_LIB).'${LIB_EXTENSION}
347 GLW_LIB_NAME='lib$(GLW_LIB).'${LIB_EXTENSION}
348 OSMESA_LIB_NAME='lib$(OSMESA_LIB).'${LIB_EXTENSION}
349 EGL_LIB_NAME='lib$(EGL_LIB).'${LIB_EXTENSION}
350 GLESv1_CM_LIB_NAME='lib$(GLESv1_CM_LIB).'${LIB_EXTENSION}
351 GLESv2_LIB_NAME='lib$(GLESv2_LIB).'${LIB_EXTENSION}
352 VG_LIB_NAME='lib$(VG_LIB).'${LIB_EXTENSION}
353 GLAPI_LIB_NAME='lib$(GLAPI_LIB).'${LIB_EXTENSION}
354 WAYLAND_EGL_LIB_NAME='lib$(WAYLAND_EGL_LIB).'${LIB_EXTENSION}
356 GL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
357 GLU_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLU_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
358 GLUT_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLUT_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
359 GLW_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLW_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
360 OSMESA_LIB_GLOB=${LIB_PREFIX_GLOB}'$(OSMESA_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
361 EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
362 EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
363 GLESv1_CM_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv1_CM_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
364 GLESv2_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv2_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
365 VG_LIB_GLOB=${LIB_PREFIX_GLOB}'$(VG_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
366 GLAPI_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLAPI_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
367 WAYLAND_EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(WAYLAND_EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
369 AC_SUBST([GL_LIB_NAME])
370 AC_SUBST([GLU_LIB_NAME])
371 AC_SUBST([GLUT_LIB_NAME])
372 AC_SUBST([GLW_LIB_NAME])
373 AC_SUBST([OSMESA_LIB_NAME])
374 AC_SUBST([EGL_LIB_NAME])
375 AC_SUBST([GLESv1_CM_LIB_NAME])
376 AC_SUBST([GLESv2_LIB_NAME])
377 AC_SUBST([VG_LIB_NAME])
378 AC_SUBST([GLAPI_LIB_NAME])
379 AC_SUBST([WAYLAND_EGL_LIB_NAME])
381 AC_SUBST([GL_LIB_GLOB])
382 AC_SUBST([GLU_LIB_GLOB])
383 AC_SUBST([GLUT_LIB_GLOB])
384 AC_SUBST([GLW_LIB_GLOB])
385 AC_SUBST([OSMESA_LIB_GLOB])
386 AC_SUBST([EGL_LIB_GLOB])
387 AC_SUBST([GLESv1_CM_LIB_GLOB])
388 AC_SUBST([GLESv2_LIB_GLOB])
389 AC_SUBST([VG_LIB_GLOB])
390 AC_SUBST([GLAPI_LIB_GLOB])
391 AC_SUBST([WAYLAND_EGL_LIB_GLOB])
394 dnl Arch/platform-specific settings
397 [AS_HELP_STRING([--disable-asm],
398 [disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
399 [enable_asm="$enableval"],
406 AC_MSG_CHECKING([whether to enable assembly])
407 test "x$enable_asm" = xno && AC_MSG_RESULT([no])
408 # disable if cross compiling on x86/x86_64 since we must run gen_matypes
409 if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
413 AC_MSG_RESULT([no, cross compiling])
417 # check for supported arches
418 if test "x$enable_asm" = xyes; then
422 linux* | *freebsd* | dragonfly* | *netbsd*)
423 test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86
429 linux* | *freebsd* | dragonfly* | *netbsd*)
430 test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
452 ASM_FLAGS="-DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
453 MESA_ASM_SOURCES='$(X86_SOURCES)'
454 GLAPI_ASM_SOURCES='$(X86_API)'
455 AC_MSG_RESULT([yes, x86])
458 ASM_FLAGS="-DUSE_X86_64_ASM"
459 MESA_ASM_SOURCES='$(X86-64_SOURCES)'
460 GLAPI_ASM_SOURCES='$(X86-64_API)'
461 AC_MSG_RESULT([yes, x86_64])
464 ASM_FLAGS="-DUSE_PPC_ASM -DUSE_VMX_ASM"
465 MESA_ASM_SOURCES='$(PPC_SOURCES)'
466 AC_MSG_RESULT([yes, ppc])
469 ASM_FLAGS="-DUSE_SPARC_ASM"
470 MESA_ASM_SOURCES='$(SPARC_SOURCES)'
471 GLAPI_ASM_SOURCES='$(SPARC_API)'
472 AC_MSG_RESULT([yes, sparc])
475 AC_MSG_RESULT([no, platform not supported])
479 AC_SUBST([ASM_FLAGS])
480 AC_SUBST([MESA_ASM_SOURCES])
481 AC_SUBST([GLAPI_ASM_SOURCES])
486 dnl Check to see if dlopen is in default libraries (like Solaris, which
487 dnl has it in libc), or if libdl is needed to get it.
488 AC_CHECK_FUNC([dlopen], [],
489 [AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])])
490 AC_SUBST([DLOPEN_LIBS])
492 dnl See if posix_memalign is available
493 AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
495 dnl SELinux awareness.
496 AC_ARG_ENABLE([selinux],
497 [AS_HELP_STRING([--enable-selinux],
498 [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
499 [MESA_SELINUX="$enableval"],
501 if test "x$enable_selinux" = "xyes"; then
502 AC_CHECK_HEADER([selinux/selinux.h],[],
503 [AC_MSG_ERROR([SELinux headers not found])])
504 AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
505 [AC_MSG_ERROR([SELinux library not found])])
506 SELINUX_LIBS="-lselinux"
507 DEFINES="$DEFINES -DMESA_SELINUX"
510 dnl Determine which APIs to support
511 AC_ARG_ENABLE([opengl],
512 [AS_HELP_STRING([--disable-opengl],
513 [disable support for standard OpenGL API @<:@default=no@:>@])],
514 [enable_opengl="$enableval"],
516 AC_ARG_ENABLE([gles1],
517 [AS_HELP_STRING([--enable-gles1],
518 [enable support for OpenGL ES 1.x API @<:@default=no@:>@])],
519 [enable_gles1="$enableval"],
521 AC_ARG_ENABLE([gles2],
522 [AS_HELP_STRING([--enable-gles2],
523 [enable support for OpenGL ES 2.x API @<:@default=no@:>@])],
524 [enable_gles2="$enableval"],
526 AC_ARG_ENABLE([gles-overlay],
527 [AS_HELP_STRING([--enable-gles-overlay],
528 [DEPRECATED. Same as --enable-gles1 and --enable-gles2])],
529 [enable_gles1="$enableval"; enable_gles2="$enableval"],
532 AC_ARG_ENABLE([openvg],
533 [AS_HELP_STRING([--enable-openvg],
534 [enable support for OpenVG API @<:@default=no@:>@])],
535 [enable_openvg="$enableval"],
538 dnl smooth the transition; should be removed eventually
539 if test "x$enable_openvg" = xno; then
540 case "x$with_state_trackers" in
542 AC_MSG_WARN([vega state tracker is enabled without --enable-openvg])
548 if test "x$enable_opengl" = xno -a \
549 "x$enable_gles1" = xno -a \
550 "x$enable_gles2" = xno -a \
551 "x$enable_openvg" = xno; then
552 AC_MSG_ERROR([at least one API should be enabled])
556 if test "x$enable_opengl" = xno; then
557 API_DEFINES="$API_DEFINES -DFEATURE_GL=0"
559 API_DEFINES="$API_DEFINES -DFEATURE_GL=1"
561 if test "x$enable_gles1" = xyes; then
562 API_DEFINES="$API_DEFINES -DFEATURE_ES1=1"
564 if test "x$enable_gles2" = xyes; then
565 API_DEFINES="$API_DEFINES -DFEATURE_ES2=1"
567 AC_SUBST([API_DEFINES])
569 AC_ARG_ENABLE([shared-glapi],
570 [AS_HELP_STRING([--enable-shared-glapi],
571 [EXPERIMENTAL. Enable shared glapi for OpenGL @<:@default=no@:>@])],
572 [enable_shared_glapi="$enableval"],
573 [enable_shared_glapi=no])
576 if test "x$enable_shared_glapi" = xyes; then
579 AC_SUBST([SHARED_GLAPI])
582 dnl Driver configuration. Options are xlib, dri and osmesa right now.
583 dnl More later: fbdev, ...
585 default_driver="xlib"
590 i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
593 *freebsd* | dragonfly* | *netbsd*)
595 i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
600 if test "x$enable_opengl" = xno; then
604 AC_ARG_WITH([driver],
605 [AS_HELP_STRING([--with-driver=DRIVER],
606 [driver for Mesa: xlib,dri,osmesa @<:@default=dri when available, or xlib@:>@])],
607 [mesa_driver="$withval"],
608 [mesa_driver="$default_driver"])
609 dnl Check for valid option
610 case "x$mesa_driver" in
612 if test "x$enable_opengl" = xno; then
613 AC_MSG_ERROR([Driver '$mesa_driver' requires OpenGL enabled])
619 AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option])
624 dnl Driver specific build directories
627 dnl this variable will be prepended to SRC_DIRS and is not exported
632 GALLIUM_DIRS="auxiliary drivers state_trackers"
633 GALLIUM_TARGET_DIRS=""
634 GALLIUM_WINSYS_DIRS="sw"
635 GALLIUM_DRIVERS_DIRS="softpipe failover galahad trace rbug noop identity"
636 GALLIUM_STATE_TRACKERS_DIRS=""
638 # build shared-glapi if enabled for OpenGL or if OpenGL ES is enabled
639 case "x$enable_shared_glapi$enable_gles1$enable_gles2" in
641 CORE_DIRS="$CORE_DIRS mapi/shared-glapi"
645 # build glapi if OpenGL is enabled
646 if test "x$enable_opengl" = xyes; then
647 CORE_DIRS="$CORE_DIRS mapi/glapi"
650 # build es1api if OpenGL ES 1.x is enabled
651 if test "x$enable_gles1" = xyes; then
652 CORE_DIRS="$CORE_DIRS mapi/es1api"
655 # build es2api if OpenGL ES 2.x is enabled
656 if test "x$enable_gles2" = xyes; then
657 CORE_DIRS="$CORE_DIRS mapi/es2api"
660 # build vgapi if OpenVG is enabled
661 if test "x$enable_openvg" = xyes; then
662 CORE_DIRS="$CORE_DIRS mapi/vgapi"
665 # build glsl and mesa if OpenGL or OpenGL ES is enabled
666 case "x$enable_opengl$enable_gles1$enable_gles2" in
668 CORE_DIRS="$CORE_DIRS glsl mesa"
672 case "$mesa_driver" in
675 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
676 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
679 SRC_DIRS="$SRC_DIRS glx"
681 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib sw/dri"
692 AC_SUBST([DRIVER_DIRS])
693 AC_SUBST([GALLIUM_DIRS])
694 AC_SUBST([GALLIUM_TARGET_DIRS])
695 AC_SUBST([GALLIUM_WINSYS_DIRS])
696 AC_SUBST([GALLIUM_DRIVERS_DIRS])
697 AC_SUBST([GALLIUM_STATE_TRACKERS_DIRS])
698 AC_SUBST([MESA_LLVM])
701 dnl Find out if X is available. The variable have_x is set if libX11 is
702 dnl found to mimic AC_PATH_XTRA.
704 if test -n "$PKG_CONFIG"; then
705 AC_MSG_CHECKING([pkg-config files for X11 are available])
706 PKG_CHECK_EXISTS([x11],[
712 AC_MSG_RESULT([$x11_pkgconfig])
716 dnl Use the autoconf macro if no pkg-config files
717 if test "$x11_pkgconfig" = yes; then
718 PKG_CHECK_MODULES([X11], [x11])
721 test -z "$X11_CFLAGS" && X11_CFLAGS="$X_CFLAGS"
722 test -z "$X11_LIBS" && X11_LIBS="$X_LIBS -lX11"
723 AC_SUBST([X11_CFLAGS])
727 dnl Try to tell the user that the --x-* options are only used when
728 dnl pkg-config is not available. This must be right after AC_PATH_XTRA.
729 m4_divert_once([HELP_BEGIN],
730 [These options are only used when the X libraries cannot be found by the
731 pkg-config utility.])
733 dnl We need X for xlib and dri, so bomb now if it's not found
734 case "$mesa_driver" in
736 if test "$no_x" = yes; then
737 AC_MSG_ERROR([X11 development libraries needed for $mesa_driver driver])
742 dnl XCB - this is only used for GLX right now
744 [AS_HELP_STRING([--enable-xcb],
745 [use XCB for GLX @<:@default=disabled@:>@])],
746 [enable_xcb="$enableval"],
748 if test "x$enable_xcb" = xyes; then
749 DEFINES="$DEFINES -DUSE_XCB"
754 dnl Direct rendering or just indirect rendering
757 dnl Disable by default on GNU/Hurd
758 driglx_direct_default="no"
761 dnl Disable by default on cygwin
762 driglx_direct_default="no"
765 driglx_direct_default="yes"
768 AC_ARG_ENABLE([driglx-direct],
769 [AS_HELP_STRING([--disable-driglx-direct],
770 [enable direct rendering in GLX and EGL for DRI \
771 @<:@default=auto@:>@])],
772 [driglx_direct="$enableval"],
773 [driglx_direct="$driglx_direct_default"])
776 dnl libGL configuration per driver
778 case "$mesa_driver" in
780 if test "$x11_pkgconfig" = yes; then
781 PKG_CHECK_MODULES([XLIBGL], [x11 xext])
782 GL_PC_REQ_PRIV="x11 xext"
783 X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
784 GL_LIB_DEPS="$XLIBGL_LIBS"
786 # should check these...
787 X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
788 GL_LIB_DEPS="$X_LIBS -lX11 -lXext"
789 GL_PC_LIB_PRIV="$GL_LIB_DEPS"
790 GL_PC_CFLAGS="$X11_INCLUDES"
792 GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread"
793 GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm -lpthread"
795 # if static, move the external libraries to the programs
796 # and empty the libraries for libGL
797 if test "$enable_static" = yes; then
798 APP_LIB_DEPS="$APP_LIB_DEPS $GL_LIB_DEPS"
802 dri|no) # these checks are still desired when there is no mesa_driver
803 # DRI must be shared, I think
804 if test "$enable_static" = yes; then
805 AC_MSG_ERROR([Can't use static libraries for DRI drivers])
808 PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
809 GL_PC_REQ_PRIV="glproto >= $GLPROTO_REQUIRED"
812 if test x"$driglx_direct" = xyes; then
814 PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
815 PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
816 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED"
817 DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
820 # find the DRI deps for libGL
821 if test "$x11_pkgconfig" = yes; then
822 dri_modules="x11 xext xdamage xfixes"
824 # add xf86vidmode if available
825 PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no)
826 if test "$HAVE_XF86VIDMODE" = yes ; then
827 dri_modules="$dri_modules xxf86vm"
830 # add xcb modules if necessary
831 if test "$enable_xcb" = yes; then
832 dri_modules="$dri_modules x11-xcb xcb-glx"
835 PKG_CHECK_MODULES([DRIGL], [$dri_modules])
836 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
837 X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
838 GL_LIB_DEPS="$DRIGL_LIBS"
840 # should check these...
841 X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
842 GL_LIB_DEPS="$X_LIBS -lX11 -lXext -lXxf86vm -lXdamage -lXfixes"
843 GL_PC_LIB_PRIV="$GL_LIB_DEPS"
844 GL_PC_CFLAGS="$X11_INCLUDES"
846 # XCB can only be used from pkg-config
847 if test "$enable_xcb" = yes; then
848 PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx])
849 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV x11-xcb xcb-glx"
850 X11_INCLUDES="$X11_INCLUDES $XCB_CFLAGS"
851 GL_LIB_DEPS="$GL_LIB_DEPS $XCB_LIBS"
855 # need DRM libs, -lpthread, etc.
856 GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
857 GL_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
858 GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
859 GLESv1_CM_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
860 GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
861 GLESv2_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
864 # No libGL for osmesa
868 AC_SUBST([GL_LIB_DEPS])
869 AC_SUBST([GL_PC_REQ_PRIV])
870 AC_SUBST([GL_PC_LIB_PRIV])
871 AC_SUBST([GL_PC_CFLAGS])
872 AC_SUBST([DRI_PC_REQ_PRIV])
873 AC_SUBST([GLESv1_CM_LIB_DEPS])
874 AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
875 AC_SUBST([GLESv2_LIB_DEPS])
876 AC_SUBST([GLESv2_PC_LIB_PRIV])
878 GLAPI_LIB_DEPS="-lpthread"
879 AC_SUBST([GLAPI_LIB_DEPS])
882 dnl Setup default DRI CFLAGS
883 DRI_CFLAGS='$(CFLAGS)'
884 DRI_CXXFLAGS='$(CXXFLAGS)'
885 DRI_LIB_DEPS='$(TOP)/src/mesa/libmesa.a'
886 MESA_MODULES='$(TOP)/src/mesa/libmesa.a'
888 AC_ARG_ENABLE([shared-dricore],
889 [AS_HELP_STRING([--enable-shared-dricore],
890 [link DRI modules with shared core DRI routines @<:@default=disabled@:>@])],
891 [enable_dricore="$enableval"],
893 if test "$mesa_driver" = dri ; then
894 if test "$enable_dricore" = yes ; then
895 if test "$GCC$GXX" != yesyes ; then
896 AC_MSG_WARN([Shared dricore requires GCC-compatible rpath handling. Disabling shared dricore])
899 DRICORE_GLSL_LIBS='$(TOP)/$(LIB_DIR)/libglsl.so'
900 DRICORE_LIBS='$(TOP)/$(LIB_DIR)/libdricore.so'
901 DRICORE_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -lglsl'
902 DRI_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore -lglsl'
903 DRI_CFLAGS='$(CFLAGS_NOVISIBILITY) -DUSE_DRICORE'
904 DRI_CXXFLAGS='$(CXXFLAGS_NOVISIBILITY) -DUSE_DRICORE'
905 MESA_MODULES='$(DRICORE_LIBS) $(DRICORE_GLSL_LIBS)'
909 AC_SUBST([DRICORE_LIBS])
910 AC_SUBST([DRICORE_GLSL_LIBS])
911 AC_SUBST([DRICORE_LIB_DEPS])
912 AC_SUBST([DRI_CXXFLAGS])
913 AC_SUBST([DRI_CFLAGS])
914 AC_SUBST([MESA_MODULES])
916 AC_SUBST([HAVE_XF86VIDMODE])
918 PKG_CHECK_MODULES([LIBDRM_RADEON],
919 [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED],
920 HAVE_LIBDRM_RADEON=yes,
921 HAVE_LIBDRM_RADEON=no)
926 if test "$mesa_driver" = xlib; then
927 DEFINES="$DEFINES -DUSE_XSHM"
934 AC_ARG_ENABLE([glx-tls],
935 [AS_HELP_STRING([--enable-glx-tls],
936 [enable TLS support in GLX @<:@default=disabled@:>@])],
937 [GLX_USE_TLS="$enableval"],
939 AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
941 AS_IF([test "x$GLX_USE_TLS" = xyes],
942 [DEFINES="${DEFINES} -DGLX_USE_TLS -DPTHREADS"])
947 dnl Directory for DRI drivers
948 AC_ARG_WITH([dri-driverdir],
949 [AS_HELP_STRING([--with-dri-driverdir=DIR],
950 [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
951 [DRI_DRIVER_INSTALL_DIR="$withval"],
952 [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
953 AC_SUBST([DRI_DRIVER_INSTALL_DIR])
954 dnl Extra search path for DRI drivers
955 AC_ARG_WITH([dri-searchpath],
956 [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
957 [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
958 [DRI_DRIVER_SEARCH_DIR="$withval"],
959 [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
960 AC_SUBST([DRI_DRIVER_SEARCH_DIR])
961 dnl Which drivers to build - default is chosen by platform
962 AC_ARG_WITH([dri-drivers],
963 [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
964 [comma delimited DRI drivers list, e.g.
965 "swrast,i965,radeon" @<:@default=auto@:>@])],
966 [with_dri_drivers="$withval"],
967 [with_dri_drivers=yes])
968 if test "x$with_dri_drivers" = x; then
972 dnl If $with_dri_drivers is yes, directories will be added through
975 case "$with_dri_drivers" in
981 # verify the requested driver directories exist
982 dri_drivers=`IFS=', '; echo $with_dri_drivers`
983 for driver in $dri_drivers; do
984 test -d "$srcdir/src/mesa/drivers/dri/$driver" || \
985 AC_MSG_ERROR([DRI driver directory '$driver' doesn't exist])
987 DRI_DIRS="$dri_drivers"
991 dnl Set DRI_DIRS, DEFINES and LIB_DEPS
992 if test "$mesa_driver" = dri -o "$mesa_driver" = no; then
993 # Platform specific settings and drivers to build
996 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
997 if test "x$driglx_direct" = xyes; then
998 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1000 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
1004 # sis is missing because they have not be converted to use
1005 # the new interface. i810 are missing because there is no
1006 # x86-64 system where they could *ever* be used.
1007 if test "x$DRI_DIRS" = "xyes"; then
1008 DRI_DIRS="i915 i965 mach64 mga nouveau r128 r200 r300 r600 \
1009 radeon savage tdfx unichrome swrast"
1013 # Build only the drivers for cards that exist on PowerPC.
1014 # At some point MGA will be added, but not yet.
1015 if test "x$DRI_DIRS" = "xyes"; then
1016 DRI_DIRS="mach64 r128 r200 r300 r600 radeon tdfx swrast"
1020 # Build only the drivers for cards that exist on sparc`
1021 if test "x$DRI_DIRS" = "xyes"; then
1022 DRI_DIRS="mach64 r128 r200 r300 r600 radeon swrast"
1027 freebsd* | dragonfly* | *netbsd*)
1028 DEFINES="$DEFINES -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1"
1029 DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS"
1030 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1031 if test "x$driglx_direct" = xyes; then
1032 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1035 if test "x$DRI_DIRS" = "xyes"; then
1036 DRI_DIRS="i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 \
1037 radeon tdfx unichrome savage sis swrast"
1041 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1042 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
1045 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1046 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1047 if test "x$driglx_direct" = xyes; then
1048 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1052 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
1053 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1054 if test "x$driglx_direct" = xyes; then
1055 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1057 if test "x$DRI_DIRS" = "xyes"; then
1064 if test "x$DRI_DIRS" = "xyes"; then
1065 DRI_DIRS="i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 radeon \
1066 savage sis tdfx unichrome swrast"
1069 DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'`
1072 if test "$mesa_driver" = dri; then
1075 AC_ARG_WITH([expat],
1076 [AS_HELP_STRING([--with-expat=DIR],
1077 [expat install directory])],[
1078 EXPAT_INCLUDES="-I$withval/include"
1079 CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES"
1080 LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR"
1081 EXPAT_LIB="-L$withval/$LIB_DIR -lexpat"
1083 AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])])
1084 AC_CHECK_LIB([expat],[XML_ParserCreate],[],
1085 [AC_MSG_ERROR([Expat required for DRI.])])
1088 # put all the necessary libs together, including possibly libdricore
1089 DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread $DLOPEN_LIBS"
1091 AC_SUBST([DRI_DIRS])
1092 AC_SUBST([EXPAT_INCLUDES])
1093 AC_SUBST([DRI_LIB_DEPS])
1097 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1103 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
1108 *radeon*|*r200*|*r300*|*r600*)
1109 if test "x$HAVE_LIBDRM_RADEON" = xyes; then
1110 RADEON_CFLAGS="-DHAVE_LIBDRM_RADEON=1 $LIBDRM_RADEON_CFLAGS"
1111 RADEON_LDFLAGS=$LIBDRM_RADEON_LIBS
1115 AC_SUBST([RADEON_CFLAGS])
1116 AC_SUBST([RADEON_LDFLAGS])
1120 dnl OSMesa configuration
1122 if test "$mesa_driver" = xlib; then
1123 default_gl_osmesa=yes
1125 default_gl_osmesa=no
1127 AC_ARG_ENABLE([gl-osmesa],
1128 [AS_HELP_STRING([--enable-gl-osmesa],
1129 [enable OSMesa with libGL @<:@default=enabled for xlib driver@:>@])],
1130 [gl_osmesa="$enableval"],
1131 [gl_osmesa="$default_gl_osmesa"])
1132 if test "x$gl_osmesa" = xyes; then
1133 if test "x$enable_opengl" = xno; then
1134 AC_MSG_ERROR([OpenGL is not available for OSMesa driver])
1136 if test "$mesa_driver" = osmesa; then
1137 AC_MSG_ERROR([libGL is not available for OSMesa driver])
1139 DRIVER_DIRS="$DRIVER_DIRS osmesa"
1143 dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
1144 AC_ARG_WITH([osmesa-bits],
1145 [AS_HELP_STRING([--with-osmesa-bits=BITS],
1146 [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
1147 [osmesa_bits="$withval"],
1149 if test "$mesa_driver" != osmesa && test "x$osmesa_bits" != x8; then
1150 AC_MSG_WARN([Ignoring OSMesa channel bits for non-OSMesa driver])
1153 case "x$osmesa_bits" in
1158 OSMESA_LIB="OSMesa$osmesa_bits"
1159 DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
1162 AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
1165 AC_SUBST([OSMESA_LIB])
1167 case "$DRIVER_DIRS" in
1169 # only link libraries with osmesa if shared
1170 if test "$enable_static" = no; then
1171 OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS"
1176 OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS"
1179 AC_SUBST([OSMESA_LIB_DEPS])
1180 AC_SUBST([OSMESA_MESA_DEPS])
1181 AC_SUBST([OSMESA_PC_REQ])
1182 AC_SUBST([OSMESA_PC_LIB_PRIV])
1185 dnl EGL configuration
1187 AC_ARG_ENABLE([egl],
1188 [AS_HELP_STRING([--disable-egl],
1189 [disable EGL library @<:@default=enabled@:>@])],
1190 [enable_egl="$enableval"],
1192 if test "x$enable_egl" = xno; then
1193 if test "x$mesa_driver" = xno; then
1194 AC_MSG_ERROR([cannot disable EGL when there is no mesa driver])
1196 if test "x$enable_openvg" = xyes; then
1197 AC_MSG_ERROR([cannot enable OpenVG without EGL])
1200 if test "x$enable_egl" = xyes; then
1201 SRC_DIRS="$SRC_DIRS egl"
1202 EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS -lpthread"
1204 if test "$enable_static" != yes; then
1205 # build egl_glx when libGL is built
1206 if test "$mesa_driver" = xlib -o "$mesa_driver" = dri; then
1207 EGL_DRIVERS_DIRS="glx"
1210 PKG_CHECK_MODULES([LIBUDEV], [libudev > 150],
1211 [have_libudev=yes],[have_libudev=no])
1212 if test "$have_libudev" = yes; then
1213 DEFINES="$DEFINES -DHAVE_LIBUDEV"
1215 if test "$mesa_driver" = dri; then
1216 # build egl_dri2 when xcb-dri2 is available
1217 PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 xcb-xfixes],
1218 [have_xcb_dri2=yes],[have_xcb_dri2=no])
1220 if test "$have_xcb_dri2" = yes; then
1221 EGL_DRIVER_DRI2=dri2
1222 DEFINES="$DEFINES -DHAVE_XCB_DRI2"
1223 # workaround a bug in xcb-dri2 generated by xcb-proto 1.6
1224 AC_CHECK_LIB(xcb-dri2, xcb_dri2_connect_alignment_pad, [],
1225 [DEFINES="$DEFINES -DXCB_DRI2_CONNECT_DEVICE_NAME_BROKEN"])
1229 EGL_DRIVERS_DIRS="$EGL_DRIVERS_DIRS $EGL_DRIVER_DRI2"
1232 AC_SUBST([EGL_LIB_DEPS])
1233 AC_SUBST([EGL_DRIVERS_DIRS])
1236 dnl GLU configuration
1238 AC_ARG_ENABLE([glu],
1239 [AS_HELP_STRING([--disable-glu],
1240 [enable OpenGL Utility library @<:@default=enabled@:>@])],
1241 [enable_glu="$enableval"],
1244 if test "x$enable_glu" = xyes -a "x$mesa_driver" = xno; then
1245 AC_MSG_NOTICE([Disabling GLU since there is no OpenGL driver])
1249 if test "x$enable_glu" = xyes; then
1250 SRC_DIRS="$SRC_DIRS glu"
1252 case "$mesa_driver" in
1254 # Link libGLU to libOSMesa instead of libGL
1257 if test "$enable_static" = no; then
1258 GLU_MESA_DEPS='-l$(OSMESA_LIB)'
1264 # If static, empty GLU_LIB_DEPS and add libs for programs to link
1266 GLU_PC_LIB_PRIV="-lm"
1267 if test "$enable_static" = no; then
1269 GLU_MESA_DEPS='-l$(GL_LIB)'
1273 APP_LIB_DEPS="$APP_LIB_DEPS -lstdc++"
1278 if test "$enable_static" = no; then
1279 GLU_LIB_DEPS="$GLU_LIB_DEPS $OS_CPLUSPLUS_LIBS"
1281 GLU_PC_LIB_PRIV="$GLU_PC_LIB_PRIV $OS_CPLUSPLUS_LIBS"
1282 AC_SUBST([GLU_LIB_DEPS])
1283 AC_SUBST([GLU_MESA_DEPS])
1284 AC_SUBST([GLU_PC_REQ])
1285 AC_SUBST([GLU_PC_REQ_PRIV])
1286 AC_SUBST([GLU_PC_LIB_PRIV])
1287 AC_SUBST([GLU_PC_CFLAGS])
1290 dnl GLw configuration
1292 AC_ARG_ENABLE([glw],
1293 [AS_HELP_STRING([--disable-glw],
1294 [enable Xt/Motif widget library @<:@default=enabled@:>@])],
1295 [enable_glw="$enableval"],
1297 dnl Don't build GLw on osmesa
1298 if test "x$enable_glw" = xyes; then
1299 case "$mesa_driver" in
1301 AC_MSG_NOTICE([Disabling GLw since there is no OpenGL driver])
1306 AC_ARG_ENABLE([motif],
1307 [AS_HELP_STRING([--enable-motif],
1308 [use Motif widgets in GLw @<:@default=disabled@:>@])],
1309 [enable_motif="$enableval"],
1312 if test "x$enable_glw" = xyes; then
1313 SRC_DIRS="$SRC_DIRS glw"
1314 if test "$x11_pkgconfig" = yes; then
1315 PKG_CHECK_MODULES([GLW],[x11 xt])
1316 GLW_PC_REQ_PRIV="x11 xt"
1317 GLW_LIB_DEPS="$GLW_LIBS"
1319 # should check these...
1320 GLW_LIB_DEPS="$X_LIBS -lXt -lX11"
1321 GLW_PC_LIB_PRIV="$GLW_LIB_DEPS"
1322 GLW_PC_CFLAGS="$X11_INCLUDES"
1325 GLW_SOURCES="GLwDrawA.c"
1327 if test "x$enable_motif" = xyes; then
1328 GLW_SOURCES="$GLW_SOURCES GLwMDrawA.c"
1329 AC_PATH_PROG([MOTIF_CONFIG], [motif-config], [no])
1330 if test "x$MOTIF_CONFIG" != xno; then
1331 MOTIF_CFLAGS=`$MOTIF_CONFIG --cflags`
1332 MOTIF_LIBS=`$MOTIF_CONFIG --libs`
1334 AC_CHECK_HEADER([Xm/PrimitiveP.h], [],
1335 [AC_MSG_ERROR([Can't locate Motif headers])])
1336 AC_CHECK_LIB([Xm], [XmGetPixmap], [MOTIF_LIBS="-lXm"],
1337 [AC_MSG_ERROR([Can't locate Motif Xm library])])
1339 # MOTIF_LIBS is prepended to GLW_LIB_DEPS since Xm needs Xt/X11
1340 GLW_LIB_DEPS="$MOTIF_LIBS $GLW_LIB_DEPS"
1341 GLW_PC_LIB_PRIV="$MOTIF_LIBS $GLW_PC_LIB_PRIV"
1342 GLW_PC_CFLAGS="$MOTIF_CFLAGS $GLW_PC_CFLAGS"
1345 # If static, empty GLW_LIB_DEPS and add libs for programs to link
1346 GLW_PC_LIB_PRIV="$GLW_PC_LIB_PRIV"
1347 if test "$enable_static" = no; then
1348 GLW_MESA_DEPS='-l$(GL_LIB)'
1349 GLW_LIB_DEPS="$GLW_LIB_DEPS"
1351 APP_LIB_DEPS="$APP_LIB_DEPS $GLW_LIB_DEPS"
1356 AC_SUBST([GLW_LIB_DEPS])
1357 AC_SUBST([GLW_MESA_DEPS])
1358 AC_SUBST([GLW_SOURCES])
1359 AC_SUBST([MOTIF_CFLAGS])
1360 AC_SUBST([GLW_PC_REQ_PRIV])
1361 AC_SUBST([GLW_PC_LIB_PRIV])
1362 AC_SUBST([GLW_PC_CFLAGS])
1365 dnl GLUT configuration
1367 if test -f "$srcdir/include/GL/glut.h"; then
1372 AC_ARG_ENABLE([glut],
1373 [AS_HELP_STRING([--disable-glut],
1374 [enable GLUT library @<:@default=enabled if source available@:>@])],
1375 [enable_glut="$enableval"],
1376 [enable_glut="$default_glut"])
1378 dnl Don't build glut on osmesa
1379 if test "x$enable_glut" = xyes; then
1380 case "$mesa_driver" in
1382 AC_MSG_NOTICE([Disabling glut since there is no OpenGL driver])
1387 dnl Can't build glut if GLU not available
1388 if test "x$enable_glu$enable_glut" = xnoyes; then
1389 AC_MSG_WARN([Disabling glut since GLU is disabled])
1393 if test "x$enable_glut" = xyes; then
1394 SRC_DIRS="$SRC_DIRS glut/glx"
1395 if test "$x11_pkgconfig" = yes; then
1396 PKG_CHECK_MODULES([GLUT],[x11 xmu xi])
1397 GLUT_PC_REQ_PRIV="x11 xmu xi"
1398 GLUT_LIB_DEPS="$GLUT_LIBS"
1400 # should check these...
1401 GLUT_LIB_DEPS="$X_LIBS -lX11 -lXmu -lXi"
1402 GLUT_PC_LIB_PRIV="$GLUT_LIB_DEPS"
1403 GLUT_PC_CFLAGS="$X11_INCLUDES"
1405 if test "x$GCC" = xyes; then
1406 GLUT_CFLAGS="$GLUT_CFLAGS -fexceptions"
1408 GLUT_LIB_DEPS="$GLUT_LIB_DEPS -lm"
1409 GLUT_PC_LIB_PRIV="$GLUT_PC_LIB_PRIV -lm"
1411 # If static, empty GLUT_LIB_DEPS and add libs for programs to link
1412 if test "$enable_static" = no; then
1413 GLUT_MESA_DEPS='-l$(GLU_LIB) -l$(GL_LIB)'
1415 APP_LIB_DEPS="$APP_LIB_DEPS $GLUT_LIB_DEPS"
1420 AC_SUBST([GLUT_LIB_DEPS])
1421 AC_SUBST([GLUT_MESA_DEPS])
1422 AC_SUBST([GLUT_CFLAGS])
1423 AC_SUBST([GLUT_PC_REQ_PRIV])
1424 AC_SUBST([GLUT_PC_LIB_PRIV])
1425 AC_SUBST([GLUT_PC_CFLAGS])
1428 dnl Program library dependencies
1429 dnl Only libm is added here if necessary as the libraries should
1430 dnl be pulled in by the linker
1432 if test "x$APP_LIB_DEPS" = x; then
1435 APP_LIB_DEPS="-lX11 -lsocket -lnsl -lm"
1438 APP_LIB_DEPS="-lX11"
1445 AC_SUBST([APP_LIB_DEPS])
1446 AC_SUBST([PROGRAM_DIRS])
1449 dnl Gallium configuration
1451 AC_ARG_ENABLE([gallium],
1452 [AS_HELP_STRING([--disable-gallium],
1453 [build gallium @<:@default=enabled@:>@])],
1454 [enable_gallium="$enableval"],
1455 [enable_gallium=yes])
1456 if test "x$enable_gallium" = xno -a "x$enable_openvg" = xyes; then
1457 AC_MSG_ERROR([cannot enable OpenVG without Gallium])
1459 if test "x$enable_gallium" = xyes; then
1460 SRC_DIRS="$SRC_DIRS gallium gallium/winsys gallium/targets"
1461 AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
1464 AC_SUBST([LLVM_CFLAGS])
1465 AC_SUBST([LLVM_LIBS])
1466 AC_SUBST([LLVM_LDFLAGS])
1467 AC_SUBST([LLVM_VERSION])
1470 dnl Gallium state trackers configuration
1473 AC_ARG_ENABLE([gallium-egl],
1474 [AS_HELP_STRING([--enable-gallium-egl],
1475 [enable gallium EGL state tracker @<:@default=auto@:>@])],
1476 [enable_gallium_egl="$enableval"],
1477 [enable_gallium_egl=auto])
1478 if test "x$enable_gallium_egl" = xauto; then
1479 case "$mesa_driver" in
1481 enable_gallium_egl=$enable_egl
1484 enable_gallium_egl=$enable_openvg
1488 case "x$enable_egl$enable_gallium_egl" in
1490 AC_MSG_ERROR([cannot build Gallium EGL state tracker without EGL])
1493 AC_ARG_WITH([state-trackers],
1494 [AS_HELP_STRING([--with-state-trackers@<:@=DIRS...@:>@],
1495 [comma delimited state_trackers list, e.g.
1496 "egl,glx" @<:@default=auto@:>@])],
1497 [with_state_trackers="$withval"],
1498 [with_state_trackers=yes])
1500 case "$with_state_trackers" in
1502 GALLIUM_STATE_TRACKERS_DIRS=""
1505 # look at what else is built
1506 case "$mesa_driver" in
1508 GALLIUM_STATE_TRACKERS_DIRS=glx
1511 GALLIUM_STATE_TRACKERS_DIRS="dri"
1513 # Have only tested st/xorg on 1.6.0 servers
1514 PKG_CHECK_MODULES(XORG, [xorg-server >= 1.6.0 libdrm >= $LIBDRM_XORG_REQUIRED libkms >= $LIBKMS_XORG_REQUIRED],
1515 HAVE_ST_XORG="yes"; GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xorg",
1520 if test "x$enable_egl" = xyes; then
1521 if test "$enable_openvg" = yes; then
1522 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS vega"
1526 if test "$enable_gallium_egl" = yes; then
1527 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS egl"
1533 # verify the requested state tracker exist
1535 _state_trackers=`IFS=', '; echo $with_state_trackers`
1536 for tracker in $_state_trackers; do
1539 if test "x$mesa_driver" != xdri; then
1540 AC_MSG_ERROR([cannot build dri state tracker without mesa driver set to dri])
1545 if test "x$enable_egl" != xyes; then
1546 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1551 PKG_CHECK_MODULES([XORG], [xorg-server >= 1.6.0])
1552 PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
1553 PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
1557 if test "x$enable_openvg" != xyes; then
1558 AC_MSG_ERROR([cannot build vega state tracker without --enable-openvg])
1567 if test -n "$tracker"; then
1568 test -d "$srcdir/src/gallium/state_trackers/$tracker" || \
1569 AC_MSG_ERROR([state tracker '$tracker' doesn't exist])
1570 if test -n "$state_trackers"; then
1571 state_trackers="$state_trackers $tracker"
1573 state_trackers="$tracker"
1577 GALLIUM_STATE_TRACKERS_DIRS="$state_trackers"
1579 # append --enable-openvg/--enable-gallium-egl to --with-state-trackers
1580 if test "x$have_st_vega" != xyes -a "x$enable_openvg" = xyes; then
1581 AC_MSG_ERROR([--with-state-trackers specified but vega is missing])
1583 if test "x$HAVE_ST_EGL" != xyes -a "x$enable_gallium_egl" = xyes; then
1584 AC_MSG_ERROR([--with-state-trackers specified but egl is missing])
1593 case "x$enable_opengl$enable_gles1$enable_gles2" in
1595 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
1598 if test "x$enable_openvg" = xyes; then
1599 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
1600 VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS -lpthread"
1603 AC_SUBST([VG_LIB_DEPS])
1604 AC_SUBST([EGL_CLIENT_APIS])
1606 if test "x$HAVE_ST_EGL" = xyes; then
1607 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl"
1610 if test "x$HAVE_ST_XORG" = xyes; then
1611 PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
1612 HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
1613 HAVE_XEXTPROTO_71="no")
1616 AC_ARG_WITH([egl-platforms],
1617 [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1618 [comma delimited native platforms libEGL supports, e.g.
1619 "x11,drm" @<:@default=auto@:>@])],
1620 [with_egl_platforms="$withval"],
1621 [with_egl_platforms=yes])
1622 AC_ARG_WITH([egl-displays],
1623 [AS_HELP_STRING([--with-egl-displays@<:@=DIRS...@:>@],
1624 [DEPRECATED. Use --with-egl-platforms instead])],
1625 [with_egl_platforms="$withval"])
1628 WAYLAND_EGL_LIB_DEPS=""
1630 case "$with_egl_platforms" in
1632 if test "x$enable_egl" = xyes && test "x$mesa_driver" != xosmesa; then
1634 if test "$mesa_driver" = dri; then
1635 EGL_PLATFORMS="$EGL_PLATFORMS drm"
1640 if test "x$enable_egl" != xyes; then
1641 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1643 # verify the requested driver directories exist
1644 egl_platforms=`IFS=', '; echo $with_egl_platforms`
1645 for plat in $egl_platforms; do
1646 test -d "$srcdir/src/gallium/state_trackers/egl/$plat" || \
1647 AC_MSG_ERROR([EGL platform '$plat' doesn't exist])
1648 if test "$plat" = "fbdev"; then
1649 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/fbdev"
1651 if test "$plat" = "wayland"; then
1652 PKG_CHECK_MODULES([WAYLAND], [wayland-client wayland-server],, \
1653 [AC_MSG_ERROR([cannot find libwayland-client])])
1654 WAYLAND_EGL_LIB_DEPS="$WAYLAND_LIBS $LIBDRM_LIBS"
1655 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/wayland"
1658 EGL_PLATFORMS="$egl_platforms"
1661 AC_SUBST([EGL_PLATFORMS])
1663 AC_SUBST([WAYLAND_EGL_LIB_DEPS])
1664 WAYLAND_EGL_PC_REQ_PRIV="wayland-client libdrm"
1665 WAYLAND_EGL_PC_LIB_PRIV=
1666 WAYLAND_EGL_PC_CFLAGS=
1668 AC_SUBST([WAYLAND_EGL_PC_REQ_PRIV])
1669 AC_SUBST([WAYLAND_EGL_PC_LIB_PRIV])
1670 AC_SUBST([WAYLAND_EGL_PC_CFLAGS])
1673 AC_ARG_WITH([egl-driver-dir],
1674 [AS_HELP_STRING([--with-egl-driver-dir=DIR],
1675 [directory for EGL drivers [[default=${libdir}/egl]]])],
1676 [EGL_DRIVER_INSTALL_DIR="$withval"],
1677 [EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
1678 AC_SUBST([EGL_DRIVER_INSTALL_DIR])
1680 AC_ARG_WITH([xorg-driver-dir],
1681 [AS_HELP_STRING([--with-xorg-driver-dir=DIR],
1682 [Default xorg driver directory[[default=${libdir}/xorg/modules/drivers]]])],
1683 [XORG_DRIVER_INSTALL_DIR="$withval"],
1684 [XORG_DRIVER_INSTALL_DIR="${libdir}/xorg/modules/drivers"])
1685 AC_SUBST([XORG_DRIVER_INSTALL_DIR])
1687 AC_ARG_WITH([max-width],
1688 [AS_HELP_STRING([--with-max-width=N],
1689 [Maximum framebuffer width (4096)])],
1690 [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1691 AS_IF([test "${withval}" -gt "4096"],
1692 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1694 AC_ARG_WITH([max-height],
1695 [AS_HELP_STRING([--with-max-height=N],
1696 [Maximum framebuffer height (4096)])],
1697 [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1698 AS_IF([test "${withval}" -gt "4096"],
1699 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1705 AC_ARG_ENABLE([gallium-llvm],
1706 [AS_HELP_STRING([--enable-gallium-llvm],
1707 [build gallium LLVM support @<:@default=enabled on x86/x86_64@:>@])],
1708 [enable_gallium_llvm="$enableval"],
1709 [enable_gallium_llvm=auto])
1710 if test "x$enable_gallium_llvm" = xauto; then
1712 i*86|x86_64) enable_gallium_llvm=yes;;
1715 if test "x$enable_gallium_llvm" = xyes; then
1716 if test "x$LLVM_CONFIG" != xno; then
1717 LLVM_VERSION=`$LLVM_CONFIG --version`
1718 LLVM_CFLAGS=`$LLVM_CONFIG --cppflags`
1719 LLVM_LIBS="`$LLVM_CONFIG --libs` -lstdc++"
1721 LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1722 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1723 DEFINES="$DEFINES -DGALLIUM_LLVMPIPE -D__STDC_CONSTANT_MACROS"
1733 dnl Gallium helper functions
1735 gallium_check_st() {
1736 if test "x$HAVE_ST_DRI" = xyes || test "x$HAVE_ST_XORG" = xyes ||
1737 test "x$HAVE_ST_XA" = xyes; then
1738 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
1740 if test "x$HAVE_ST_DRI" = xyes && test "x$2" != x; then
1741 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
1743 if test "x$HAVE_ST_XORG" = xyes && test "x$3" != x; then
1744 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
1746 if test "x$HAVE_ST_XA" = xyes && test "x$4" != x; then
1747 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $4"
1751 gallium_require_llvm() {
1752 if test "x$MESA_LLVM" = x0; then
1754 i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
1760 dnl Gallium SVGA configuration
1762 AC_ARG_ENABLE([gallium-svga],
1763 [AS_HELP_STRING([--enable-gallium-svga],
1764 [build gallium SVGA @<:@default=disabled@:>@])],
1765 [enable_gallium_svga="$enableval"],
1766 [enable_gallium_svga=auto])
1767 if test "x$enable_gallium_svga" = xyes; then
1768 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga"
1769 gallium_check_st "svga/drm" "dri-vmwgfx" "xorg-vmwgfx" "xa-vmwgfx"
1770 elif test "x$enable_gallium_svga" = xauto; then
1771 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga"
1775 dnl Gallium i915 configuration
1777 AC_ARG_ENABLE([gallium-i915],
1778 [AS_HELP_STRING([--enable-gallium-i915],
1779 [build gallium i915 @<:@default=disabled@:>@])],
1780 [enable_gallium_i915="$enableval"],
1781 [enable_gallium_i915=auto])
1782 if test "x$enable_gallium_i915" = xyes; then
1783 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1784 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915"
1785 gallium_check_st "i915/drm" "dri-i915" "xorg-i915"
1786 elif test "x$enable_gallium_i915" = xauto; then
1787 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1788 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915"
1792 dnl Gallium i965 configuration
1794 AC_ARG_ENABLE([gallium-i965],
1795 [AS_HELP_STRING([--enable-gallium-i965],
1796 [build gallium i965 @<:@default=disabled@:>@])],
1797 [enable_gallium_i965="$enableval"],
1798 [enable_gallium_i965=auto])
1799 if test "x$enable_gallium_i965" = xyes; then
1800 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i965"
1801 gallium_check_st "i965/drm" "dri-i965" "xorg-i965"
1802 elif test "x$enable_gallium_i965" = xauto; then
1803 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i965"
1807 dnl Gallium Radeon r300g configuration
1809 AC_ARG_ENABLE([gallium-r300],
1810 [AS_HELP_STRING([--disable-gallium-r300],
1811 [build R300 driver @<:@default=enabled@:>@])],
1812 [enable_gallium_r300="$enableval"],
1813 [enable_gallium_r300=yes])
1815 if test "x$enable_gallium_r300" = xyes && test "x$mesa_driver" = xdri; then
1816 gallium_require_llvm "Gallium R300"
1818 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
1819 gallium_check_st "radeon/drm" "dri-r300" "xorg-r300"
1823 dnl Gallium Radeon r600g configuration
1825 AC_ARG_ENABLE([gallium-r600],
1826 [AS_HELP_STRING([--enable-gallium-r600],
1827 [build gallium r600 @<:@default=disabled@:>@])],
1828 [enable_gallium_r600="$enableval"],
1829 [enable_gallium_r600=auto])
1830 if test "x$enable_gallium_r600" = xyes; then
1831 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
1832 gallium_check_st "r600/drm" "dri-r600"
1836 dnl Gallium Nouveau configuration
1838 AC_ARG_ENABLE([gallium-nouveau],
1839 [AS_HELP_STRING([--enable-gallium-nouveau],
1840 [build gallium nouveau @<:@default=disabled@:>@])],
1841 [enable_gallium_nouveau="$enableval"],
1842 [enable_gallium_nouveau=no])
1843 if test "x$enable_gallium_nouveau" = xyes; then
1844 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nvfx nv50 nvc0"
1845 gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau"
1849 dnl Gallium swrast configuration
1851 AC_ARG_ENABLE([gallium-swrast],
1852 [AS_HELP_STRING([--enable-gallium-swrast],
1853 [build gallium swrast @<:@default=auto@:>@])],
1854 [enable_gallium_swrast="$enableval"],
1855 [enable_gallium_swrast=auto])
1856 if test "x$enable_gallium_swrast" = xyes || test "x$enable_gallium_swrast" = xauto; then
1857 if test "x$HAVE_ST_DRI" = xyes; then
1858 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast"
1862 dnl prepend CORE_DIRS to SRC_DIRS
1863 SRC_DIRS="$CORE_DIRS $SRC_DIRS"
1865 dnl Restore LDFLAGS and CPPFLAGS
1866 LDFLAGS="$_SAVE_LDFLAGS"
1867 CPPFLAGS="$_SAVE_CPPFLAGS"
1869 dnl Substitute the config
1870 AC_CONFIG_FILES([configs/autoconf])
1872 dnl Replace the configs/current symlink
1873 AC_CONFIG_COMMANDS([configs],[
1874 if test -f configs/current || test -L configs/current; then
1875 rm -f configs/current
1877 ln -s autoconf configs/current
1883 dnl Output some configuration info for the user
1886 echo " prefix: $prefix"
1887 echo " exec_prefix: $exec_prefix"
1888 echo " libdir: $libdir"
1889 echo " includedir: $includedir"
1893 echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
1894 echo " OpenVG: $enable_openvg"
1898 echo " Driver: $mesa_driver"
1899 if test "$mesa_driver" != no; then
1900 if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then
1901 echo " OSMesa: lib$OSMESA_LIB"
1905 if test "$mesa_driver" = dri; then
1906 # cleanup the drivers var
1907 dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'`
1908 if test "x$DRI_DIRS" = x; then
1909 echo " DRI drivers: no"
1911 echo " DRI drivers: $dri_dirs"
1913 echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
1914 echo " Use XCB: $enable_xcb"
1915 echo " Shared dricore: $enable_dricore"
1919 echo " GLU: $enable_glu"
1920 echo " GLw: $enable_glw (Motif: $enable_motif)"
1921 echo " glut: $enable_glut"
1925 echo " EGL: $enable_egl"
1926 if test "$enable_egl" = yes; then
1927 echo " EGL platforms: $EGL_PLATFORMS"
1930 for d in $EGL_DRIVERS_DIRS; do
1931 egl_drivers="$egl_drivers builtin:egl_$d"
1934 if test "$enable_gallium" = yes -a "$HAVE_ST_EGL" = yes; then
1935 echo " EGL drivers: ${egl_drivers} egl_gallium"
1936 echo " EGL Gallium STs:$EGL_CLIENT_APIS"
1938 echo " EGL drivers: $egl_drivers"
1943 if test "x$MESA_LLVM" = x1; then
1945 echo " llvm-config: $LLVM_CONFIG"
1946 echo " llvm-version: $LLVM_VERSION"
1952 if echo "$SRC_DIRS" | grep 'gallium' >/dev/null 2>&1; then
1953 echo " Gallium: yes"
1954 echo " Gallium dirs: $GALLIUM_DIRS"
1955 echo " Target dirs: $GALLIUM_TARGET_DIRS"
1956 echo " Winsys dirs: $GALLIUM_WINSYS_DIRS"
1957 echo " Driver dirs: $GALLIUM_DRIVERS_DIRS"
1958 echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS"
1965 echo " Shared libs: $enable_shared"
1966 echo " Static libs: $enable_static"
1968 dnl Compiler options
1969 # cleanup the CFLAGS/CXXFLAGS/DEFINES vars
1970 cflags=`echo $CFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1971 $SED 's/^ *//;s/ */ /;s/ *$//'`
1972 cxxflags=`echo $CXXFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1973 $SED 's/^ *//;s/ */ /;s/ *$//'`
1974 defines=`echo $DEFINES $ASM_FLAGS | $SED 's/^ *//;s/ */ /;s/ *$//'`
1976 echo " CFLAGS: $cflags"
1977 echo " CXXFLAGS: $cxxflags"
1978 echo " Macros: $defines"
1980 echo " PYTHON2: $PYTHON2"
1983 echo " Run '${MAKE-make}' to build Mesa"