1 dnl Process this file with autoconf to create configure.
5 dnl Tell the user about autoconf.html in the --help output
6 m4_divert_once([HELP_END], [
7 See docs/autoconf.html for more details on the options for Mesa.])
9 m4_define(MESA_VERSION, m4_normalize(m4_include(VERSION)))
10 AC_INIT([Mesa], [MESA_VERSION],
11 [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
12 AC_CONFIG_AUX_DIR([bin])
13 AC_CONFIG_MACRO_DIR([m4])
15 AM_INIT_AUTOMAKE([foreign])
17 # Support silent build rules, requires at least automake-1.11. Disable
18 # by either passing --disable-silent-rules to configure or passing V=1
20 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
21 [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
23 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
25 dnl Set internal versions
27 AC_SUBST([OSMESA_VERSION])
29 dnl Versions for external dependencies
30 LIBDRM_REQUIRED=2.4.38
31 LIBDRM_RADEON_REQUIRED=2.4.56
32 LIBDRM_INTEL_REQUIRED=2.4.52
33 LIBDRM_NVVIEUX_REQUIRED=2.4.33
34 LIBDRM_NOUVEAU_REQUIRED="2.4.33 libdrm >= 2.4.41"
35 LIBDRM_FREEDRENO_REQUIRED=2.4.57
36 DRI2PROTO_REQUIRED=2.6
37 DRI3PROTO_REQUIRED=1.0
38 PRESENTPROTO_REQUIRED=1.0
40 GLPROTO_REQUIRED=1.4.14
41 LIBOMXIL_BELLAGIO_REQUIRED=0.0
43 WAYLAND_REQUIRED=1.2.0
47 XSHMFENCE_REQUIRED=1.1
57 AC_CHECK_PROGS([PYTHON2], [python2 python])
64 LT_INIT([disable-static])
67 AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-parse.c"],
68 [AC_MSG_ERROR([bison not found - unable to compile glcpp-parse.y])]))
70 AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-lex.c"],
71 [AC_MSG_ERROR([flex not found - unable to compile glcpp-lex.l])]))
73 AC_CHECK_PROG(INDENT, indent, indent, cat)
74 if test "x$INDENT" != "xcat"; then
75 AC_SUBST(INDENT_FLAGS, '-i4 -nut -br -brs -npcs -ce -TGLubyte -TGLbyte -TBool')
80 dnl We need a POSIX shell for parts of the build. Assume we have one
84 # Solaris /bin/sh is too old/non-POSIX compliant
85 AC_PATH_PROGS(POSIX_SHELL, [ksh93 ksh sh])
90 dnl clang is mostly GCC-compatible, but its version is much lower,
91 dnl so we have to check for it.
92 AC_MSG_CHECKING([if compiling with clang])
95 [AC_LANG_PROGRAM([], [[
100 [acv_mesa_CLANG=yes], [acv_mesa_CLANG=no])
102 AC_MSG_RESULT([$acv_mesa_CLANG])
104 dnl If we're using GCC, make sure that it is at least version 3.3.0. Older
105 dnl versions are explictly not supported.
107 if test "x$GCC" = xyes -a "x$acv_mesa_CLANG" = xno; then
108 AC_MSG_CHECKING([whether gcc version is sufficient])
112 GCC_VERSION=`$CC -dumpversion`
113 if test $? -eq 0; then
114 GCC_VERSION_MAJOR=`echo $GCC_VERSION | cut -d. -f1`
115 GCC_VERSION_MINOR=`echo $GCC_VERSION | cut -d. -f2`
118 if test $GCC_VERSION_MAJOR -lt 3 -o $GCC_VERSION_MAJOR -eq 3 -a $GCC_VERSION_MINOR -lt 3 ; then
120 AC_MSG_ERROR([If using GCC, version 3.3.0 or later is required.])
125 if test "x$cross_compiling" = xyes; then
130 dnl Check for compiler builtins
131 AX_GCC_BUILTIN([__builtin_bswap32])
132 AX_GCC_BUILTIN([__builtin_bswap64])
133 AX_GCC_BUILTIN([__builtin_clz])
134 AX_GCC_BUILTIN([__builtin_clzll])
135 AX_GCC_BUILTIN([__builtin_ctz])
136 AX_GCC_BUILTIN([__builtin_expect])
137 AX_GCC_BUILTIN([__builtin_ffs])
138 AX_GCC_BUILTIN([__builtin_ffsll])
139 AX_GCC_BUILTIN([__builtin_popcount])
140 AX_GCC_BUILTIN([__builtin_popcountll])
141 AX_GCC_BUILTIN([__builtin_unreachable])
143 AX_GCC_FUNC_ATTRIBUTE([flatten])
144 AX_GCC_FUNC_ATTRIBUTE([format])
145 AX_GCC_FUNC_ATTRIBUTE([malloc])
146 AX_GCC_FUNC_ATTRIBUTE([packed])
148 AM_CONDITIONAL([GEN_ASM_OFFSETS], test "x$GEN_ASM_OFFSETS" = xyes)
150 dnl Make sure the pkg-config macros are defined
151 m4_ifndef([PKG_PROG_PKG_CONFIG],
152 [m4_fatal([Could not locate the pkg-config autoconf macros.
153 These are usually located in /usr/share/aclocal/pkg.m4. If your macros
154 are in a different location, try setting the environment variable
155 ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
156 PKG_PROG_PKG_CONFIG()
158 dnl LIB_DIR - library basename
159 LIB_DIR=`echo $libdir | $SED 's%.*/%%'`
162 dnl Cache LDFLAGS and CPPFLAGS so we can add to them and restore later
163 _SAVE_LDFLAGS="$LDFLAGS"
164 _SAVE_CPPFLAGS="$CPPFLAGS"
167 DEFINES="-DUSE_EXTERNAL_DXTN_LIB=1"
171 DEFINES="$DEFINES -D_GNU_SOURCE"
174 DEFINES="$DEFINES -DSVR4"
177 DEFINES="$DEFINES -D_XOPEN_SOURCE=700"
181 dnl Add flags for gcc and g++
182 if test "x$GCC" = xyes; then
183 CFLAGS="$CFLAGS -Wall -std=c99"
185 # Enable -Werror=implicit-function-declaration and
186 # -Werror=missing-prototypes, if available, or otherwise, just
187 # -Wmissing-prototypes. This is particularly useful to avoid
188 # generating a loadable driver module that has undefined symbols.
189 save_CFLAGS="$CFLAGS"
190 AC_MSG_CHECKING([whether $CC supports -Werror=missing-prototypes])
191 CFLAGS="$CFLAGS -Werror=implicit-function-declaration"
192 CFLAGS="$CFLAGS -Werror=missing-prototypes"
193 AC_LINK_IFELSE([AC_LANG_PROGRAM()],
194 AC_MSG_RESULT([yes]),
195 [CFLAGS="$save_CFLAGS -Wmissing-prototypes";
196 AC_MSG_RESULT([no])]);
198 # Enable -fvisibility=hidden if using a gcc that supports it
199 save_CFLAGS="$CFLAGS"
200 AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
201 VISIBILITY_CFLAGS="-fvisibility=hidden"
202 CFLAGS="$CFLAGS $VISIBILITY_CFLAGS"
203 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
204 [VISIBILITY_CFLAGS=""; AC_MSG_RESULT([no])]);
206 # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed.
209 # Work around aliasing bugs - developers should comment this out
210 CFLAGS="$CFLAGS -fno-strict-aliasing"
212 # gcc's builtin memcmp is slower than glibc's
213 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
214 CFLAGS="$CFLAGS -fno-builtin-memcmp"
216 if test "x$GXX" = xyes; then
217 CXXFLAGS="$CXXFLAGS -Wall"
219 # Enable -fvisibility=hidden if using a gcc that supports it
220 save_CXXFLAGS="$CXXFLAGS"
221 AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
222 VISIBILITY_CXXFLAGS="-fvisibility=hidden"
223 CXXFLAGS="$CXXFLAGS $VISIBILITY_CXXFLAGS"
225 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
226 [VISIBILITY_CXXFLAGS="" ; AC_MSG_RESULT([no])]);
229 # Restore CXXFLAGS; VISIBILITY_CXXFLAGS are added to it where needed.
230 CXXFLAGS=$save_CXXFLAGS
232 # Work around aliasing bugs - developers should comment this out
233 CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
235 # gcc's builtin memcmp is slower than glibc's
236 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
237 CXXFLAGS="$CXXFLAGS -fno-builtin-memcmp"
240 dnl even if the compiler appears to support it, using visibility attributes isn't
241 dnl going to do anything useful currently on cygwin apart from emit lots of warnings
245 VISIBILITY_CXXFLAGS=""
249 AC_SUBST([VISIBILITY_CFLAGS])
250 AC_SUBST([VISIBILITY_CXXFLAGS])
253 dnl Optional flags, check for compiler support
255 save_CFLAGS="$CFLAGS"
256 CFLAGS="-msse4.1 $CFLAGS"
257 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
258 #include <smmintrin.h>
260 __m128i a = _mm_set1_epi32 (0), b = _mm_set1_epi32 (0), c;
261 c = _mm_max_epu32(a, b);
263 }]])], SSE41_SUPPORTED=1)
264 CFLAGS="$save_CFLAGS"
265 if test "x$SSE41_SUPPORTED" = x1; then
266 DEFINES="$DEFINES -DUSE_SSE41"
268 AM_CONDITIONAL([SSE41_SUPPORTED], [test x$SSE41_SUPPORTED = x1])
270 dnl Can't have static and shared libraries, default to static if user
271 dnl explicitly requested. If both disabled, set to static since shared
272 dnl was explicitly requested.
273 case "x$enable_static$enable_shared" in
275 AC_MSG_WARN([Cannot build static and shared libraries, disabling shared])
279 AC_MSG_WARN([Cannot disable both static and shared libraries, enabling shared])
284 AM_CONDITIONAL(BUILD_SHARED, test "x$enable_shared" = xyes)
287 dnl other compiler options
289 AC_ARG_ENABLE([debug],
290 [AS_HELP_STRING([--enable-debug],
291 [use debug compiler flags and macros @<:@default=disabled@:>@])],
292 [enable_debug="$enableval"],
295 if test "x$enable_debug" = xyes; then
296 DEFINES="$DEFINES -DDEBUG"
297 if test "x$GCC" = xyes; then
298 if ! echo "$CFLAGS" | grep -q -e '-g'; then
301 if ! echo "$CFLAGS" | grep -q -e '-O'; then
305 if test "x$GXX" = xyes; then
306 if ! echo "$CXXFLAGS" | grep -q -e '-g'; then
307 CXXFLAGS="$CXXFLAGS -g"
309 if ! echo "$CXXFLAGS" | grep -q -e '-O'; then
310 CXXFLAGS="$CXXFLAGS -O0"
316 dnl Check if linker supports -Bsymbolic
318 save_LDFLAGS=$LDFLAGS
319 LDFLAGS="$LDFLAGS -Wl,-Bsymbolic"
320 AC_MSG_CHECKING([if ld supports -Bsymbolic])
322 [AC_LANG_SOURCE([int main() { return 0;}])],
323 [AC_MSG_RESULT([yes])
324 BSYMBOLIC="-Wl,-Bsymbolic";],
327 LDFLAGS=$save_LDFLAGS
329 AC_SUBST([BSYMBOLIC])
332 dnl Check if linker supports garbage collection
334 save_LDFLAGS=$LDFLAGS
335 LDFLAGS="$LDFLAGS -Wl,--gc-sections"
336 AC_MSG_CHECKING([whether ld supports --gc-sections])
338 [AC_LANG_SOURCE([static char UnusedFunc() { return 5; } int main() { return 0;}])],
339 [AC_MSG_RESULT([yes])
340 GC_SECTIONS="-Wl,--gc-sections";],
343 LDFLAGS=$save_LDFLAGS
345 AC_SUBST([GC_SECTIONS])
348 dnl OpenBSD does not have DT_NEEDED entries for libc by design
349 dnl so when these flags are passed to ld via libtool the checks will fail
353 LD_NO_UNDEFINED="" ;;
355 LD_NO_UNDEFINED="-Wl,--no-undefined" ;;
358 AC_SUBST([LD_NO_UNDEFINED])
361 dnl Check if linker supports version scripts
363 AC_MSG_CHECKING([if the linker supports version-scripts])
364 save_LDFLAGS=$LDFLAGS
365 LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
366 cat > conftest.map <<EOF
376 [AC_LANG_SOURCE([int main() { return 0;}])],
377 [have_ld_version_script=yes;AC_MSG_RESULT(yes)],
378 [have_ld_version_script=no; AC_MSG_RESULT(no)])
379 LDFLAGS=$save_LDFLAGS
380 AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")
383 dnl Check if linker supports dynamic list files
385 AC_MSG_CHECKING([if the linker supports --dynamic-list])
386 save_LDFLAGS=$LDFLAGS
387 LDFLAGS="$LDFLAGS -Wl,--dynamic-list=conftest.dyn"
388 cat > conftest.dyn <<EOF
390 radeon_drm_winsys_create;
394 [AC_LANG_SOURCE([int main() { return 0;}])],
395 [have_ld_dynamic_list=yes;AC_MSG_RESULT(yes)],
396 [have_ld_dynamic_list=no; AC_MSG_RESULT(no)])
397 LDFLAGS=$save_LDFLAGS
398 AM_CONDITIONAL(HAVE_LD_DYNAMIC_LIST, test "$have_ld_dynamic_list" = "yes")
401 dnl compatibility symlinks
405 HAVE_COMPAT_SYMLINKS=yes ;;
407 HAVE_COMPAT_SYMLINKS=no ;;
410 AM_CONDITIONAL(HAVE_COMPAT_SYMLINKS, test "x$HAVE_COMPAT_SYMLINKS" = xyes)
428 AC_ARG_WITH([gl-lib-name],
429 [AS_HELP_STRING([--with-gl-lib-name@<:@=NAME@:>@],
430 [specify GL library name @<:@default=GL@:>@])],
433 AC_ARG_WITH([osmesa-lib-name],
434 [AS_HELP_STRING([--with-osmesa-lib-name@<:@=NAME@:>@],
435 [specify OSMesa library name @<:@default=OSMesa@:>@])],
436 [OSMESA_LIB=$withval],
438 AS_IF([test "x$GL_LIB" = xyes], [GL_LIB=GL])
439 AS_IF([test "x$OSMESA_LIB" = xyes], [OSMESA_LIB=OSMesa])
442 dnl Mangled Mesa support
444 AC_ARG_ENABLE([mangling],
445 [AS_HELP_STRING([--enable-mangling],
446 [enable mangled symbols and library name @<:@default=disabled@:>@])],
447 [enable_mangling="${enableval}"],
450 if test "x${enable_mangling}" = "xyes" ; then
451 DEFINES="${DEFINES} -DUSE_MGL_NAMESPACE"
452 GL_LIB="Mangled${GL_LIB}"
453 OSMESA_LIB="Mangled${OSMESA_LIB}"
456 AC_SUBST([OSMESA_LIB])
459 dnl potentially-infringing-but-nobody-knows-for-sure stuff
461 AC_ARG_ENABLE([texture-float],
462 [AS_HELP_STRING([--enable-texture-float],
463 [enable floating-point textures and renderbuffers @<:@default=disabled@:>@])],
464 [enable_texture_float="$enableval"],
465 [enable_texture_float=no]
467 if test "x$enable_texture_float" = xyes; then
468 AC_MSG_WARN([Floating-point textures enabled.])
469 AC_MSG_WARN([Please consult docs/patents.txt with your lawyer before building Mesa.])
470 DEFINES="$DEFINES -DTEXTURE_FLOAT_ENABLED"
474 dnl Arch/platform-specific settings
477 [AS_HELP_STRING([--disable-asm],
478 [disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
479 [enable_asm="$enableval"],
483 AC_MSG_CHECKING([whether to enable assembly])
484 test "x$enable_asm" = xno && AC_MSG_RESULT([no])
485 # disable if cross compiling on x86/x86_64 since we must run gen_matypes
486 if test "x$enable_asm" = xyes -a "x$cross_compiling" = xyes; then
488 i?86 | x86_64 | amd64)
490 AC_MSG_RESULT([no, cross compiling])
494 # check for supported arches
495 if test "x$enable_asm" = xyes; then
499 linux* | *freebsd* | dragonfly* | *netbsd* | openbsd* | gnu*)
506 linux* | *freebsd* | dragonfly* | *netbsd* | openbsd*)
522 DEFINES="$DEFINES -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
523 AC_MSG_RESULT([yes, x86])
526 DEFINES="$DEFINES -DUSE_X86_64_ASM"
527 AC_MSG_RESULT([yes, x86_64])
530 DEFINES="$DEFINES -DUSE_SPARC_ASM"
531 AC_MSG_RESULT([yes, sparc])
534 AC_MSG_RESULT([no, platform not supported])
539 AC_CHECK_HEADER([xlocale.h], [DEFINES="$DEFINES -DHAVE_XLOCALE_H"])
540 AC_CHECK_FUNC([strtof], [DEFINES="$DEFINES -DHAVE_STRTOF"])
542 dnl Check to see if dlopen is in default libraries (like Solaris, which
543 dnl has it in libc), or if libdl is needed to get it.
544 AC_CHECK_FUNC([dlopen], [DEFINES="$DEFINES -DHAVE_DLOPEN"],
545 [AC_CHECK_LIB([dl], [dlopen],
546 [DEFINES="$DEFINES -DHAVE_DLOPEN"; DLOPEN_LIBS="-ldl"])])
547 AC_SUBST([DLOPEN_LIBS])
549 dnl Check if that library also has dladdr
551 LIBS="$LIBS $DLOPEN_LIBS"
552 AC_CHECK_FUNCS([dladdr])
559 AC_CHECK_FUNCS([clock_gettime], [CLOCK_LIB=],
560 [AC_CHECK_LIB([rt], [clock_gettime], [CLOCK_LIB=-lrt],
561 [AC_MSG_ERROR([Could not find clock_gettime])])])
562 AC_SUBST([CLOCK_LIB])
566 dnl See if posix_memalign is available
567 AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
569 dnl Check for pthreads
577 dnl AX_PTHREADS leaves PTHREAD_LIBS empty for gcc and sets PTHREAD_CFLAGS
578 dnl to -pthread, which causes problems if we need -lpthread to appear in
580 test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread"
582 dnl SELinux awareness.
583 AC_ARG_ENABLE([selinux],
584 [AS_HELP_STRING([--enable-selinux],
585 [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
586 [MESA_SELINUX="$enableval"],
588 if test "x$enable_selinux" = "xyes"; then
589 PKG_CHECK_MODULES([SELINUX], [libselinux], [],
590 [AC_CHECK_HEADER([selinux/selinux.h],[],
591 [AC_MSG_ERROR([SELinux headers not found])])
592 AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
593 [AC_MSG_ERROR([SELinux library not found])])
594 SELINUX_LIBS="-lselinux"])
595 DEFINES="$DEFINES -DMESA_SELINUX"
597 AC_SUBST([SELINUX_CFLAGS])
598 AC_SUBST([SELINUX_LIBS])
601 AC_ARG_ENABLE([opengl],
602 [AS_HELP_STRING([--disable-opengl],
603 [disable support for standard OpenGL API @<:@default=enabled@:>@])],
604 [enable_opengl="$enableval"],
606 AC_ARG_ENABLE([gles1],
607 [AS_HELP_STRING([--enable-gles1],
608 [enable support for OpenGL ES 1.x API @<:@default=disabled@:>@])],
609 [enable_gles1="$enableval"],
611 AC_ARG_ENABLE([gles2],
612 [AS_HELP_STRING([--enable-gles2],
613 [enable support for OpenGL ES 2.x API @<:@default=disabled@:>@])],
614 [enable_gles2="$enableval"],
616 AC_ARG_ENABLE([openvg],
617 [AS_HELP_STRING([--enable-openvg],
618 [enable support for OpenVG API @<:@default=disabled@:>@])],
619 [enable_openvg="$enableval"],
623 [AS_HELP_STRING([--enable-dri],
624 [enable DRI modules @<:@default=enabled@:>@])],
625 [enable_dri="$enableval"],
636 AC_ARG_ENABLE([dri3],
637 [AS_HELP_STRING([--enable-dri3],
638 [enable DRI3 @<:@default=auto@:>@])],
639 [enable_dri3="$enableval"],
640 [enable_dri3="$dri3_default"])
642 [AS_HELP_STRING([--enable-glx],
643 [enable GLX library @<:@default=enabled@:>@])],
644 [enable_glx="$enableval"],
646 AC_ARG_ENABLE([osmesa],
647 [AS_HELP_STRING([--enable-osmesa],
648 [enable OSMesa library @<:@default=disabled@:>@])],
649 [enable_osmesa="$enableval"],
651 AC_ARG_ENABLE([gallium-osmesa],
652 [AS_HELP_STRING([--enable-gallium-osmesa],
653 [enable Gallium implementation of the OSMesa library @<:@default=disabled@:>@])],
654 [enable_gallium_osmesa="$enableval"],
655 [enable_gallium_osmesa=no])
657 [AS_HELP_STRING([--disable-egl],
658 [disable EGL library @<:@default=enabled@:>@])],
659 [enable_egl="$enableval"],
663 [AS_HELP_STRING([--enable-xa],
664 [enable build of the XA X Acceleration API @<:@default=disabled@:>@])],
665 [enable_xa="$enableval"],
668 [AS_HELP_STRING([--enable-gbm],
669 [enable gbm library @<:@default=auto@:>@])],
670 [enable_gbm="$enableval"],
672 AC_ARG_ENABLE([nine],
673 [AS_HELP_STRING([--enable-nine],
674 [enable build of the nine Direct3D9 API @<:@default=no@:>@])],
675 [enable_nine="$enableval"],
678 AC_ARG_ENABLE([xvmc],
679 [AS_HELP_STRING([--enable-xvmc],
680 [enable xvmc library @<:@default=auto@:>@])],
681 [enable_xvmc="$enableval"],
683 AC_ARG_ENABLE([vdpau],
684 [AS_HELP_STRING([--enable-vdpau],
685 [enable vdpau library @<:@default=auto@:>@])],
686 [enable_vdpau="$enableval"],
689 [AS_HELP_STRING([--enable-omx],
690 [enable OpenMAX library @<:@default=disabled@:>@])],
691 [enable_omx="$enableval"],
694 [AS_HELP_STRING([--enable-va],
695 [enable va library @<:@default=auto@:>@])],
696 [enable_va="$enableval"],
698 AC_ARG_ENABLE([opencl],
699 [AS_HELP_STRING([--enable-opencl],
700 [enable OpenCL library @<:@default=disabled@:>@])],
701 [enable_opencl="$enableval"],
703 AC_ARG_ENABLE([opencl_icd],
704 [AS_HELP_STRING([--enable-opencl-icd],
705 [Build an OpenCL ICD library to be loaded by an ICD implementation
706 @<:@default=disabled@:>@])],
707 [enable_opencl_icd="$enableval"],
708 [enable_opencl_icd=no])
709 AC_ARG_ENABLE([xlib-glx],
710 [AS_HELP_STRING([--enable-xlib-glx],
711 [make GLX library Xlib-based instead of DRI-based @<:@default=disabled@:>@])],
712 [enable_xlib_glx="$enableval"],
713 [enable_xlib_glx=no])
715 AC_ARG_ENABLE([r600-llvm-compiler],
716 [AS_HELP_STRING([--enable-r600-llvm-compiler],
717 [Enable experimental LLVM backend for graphics shaders @<:@default=disabled@:>@])],
718 [enable_r600_llvm="$enableval"],
719 [enable_r600_llvm=no])
721 AC_ARG_ENABLE([gallium-tests],
722 [AS_HELP_STRING([--enable-gallium-tests],
723 [Enable optional Gallium tests) @<:@default=disabled@:>@])],
724 [enable_gallium_tests="$enableval"],
725 [enable_gallium_tests=no])
727 # Option for Gallium drivers
729 # Keep this in sync with the --with-gallium-drivers help string default value
730 GALLIUM_DRIVERS_DEFAULT="r300,r600,svga,swrast"
732 AC_ARG_WITH([gallium-drivers],
733 [AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@],
734 [comma delimited Gallium drivers list, e.g.
735 "i915,ilo,nouveau,r300,r600,radeonsi,freedreno,svga,swrast,vc4"
736 @<:@default=r300,r600,svga,swrast@:>@])],
737 [with_gallium_drivers="$withval"],
738 [with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"])
740 # Doing '--without-gallium-drivers' will set this variable to 'no'. Clear it
741 # here so that the script doesn't choke on an unknown driver name later.
742 case "$with_gallium_drivers" in
743 yes) with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT" ;;
744 no) with_gallium_drivers='' ;;
747 if test "x$enable_opengl" = xno -a \
748 "x$enable_gles1" = xno -a \
749 "x$enable_gles2" = xno -a \
750 "x$enable_nine" = xno -a \
751 "x$enable_openvg" = xno -a \
752 "x$enable_xa" = xno -a \
753 "x$enable_xvmc" = xno -a \
754 "x$enable_vdpau" = xno -a \
755 "x$enable_omx" = xno -a \
756 "x$enable_va" = xno -a \
757 "x$enable_opencl" = xno; then
758 AC_MSG_ERROR([at least one API should be enabled])
761 # Building OpenGL ES1 and/or ES2 without OpenGL is not supported on mesa 9.0.x
762 if test "x$enable_opengl" = xno -a \
763 "x$enable_gles1" = xyes; then
764 AC_MSG_ERROR([Building OpenGL ES1 without OpenGL is not supported])
767 if test "x$enable_opengl" = xno -a \
768 "x$enable_gles2" = xyes; then
769 AC_MSG_ERROR([Building OpenGL ES2 without OpenGL is not supported])
772 AM_CONDITIONAL(HAVE_OPENGL, test "x$enable_opengl" = xyes)
773 AM_CONDITIONAL(HAVE_OPENGL_ES1, test "x$enable_gles1" = xyes)
774 AM_CONDITIONAL(HAVE_OPENGL_ES2, test "x$enable_gles2" = xyes)
775 AM_CONDITIONAL(NEED_OPENGL_COMMON, test "x$enable_opengl" = xyes -o \
776 "x$enable_gles1" = xyes -o \
777 "x$enable_gles2" = xyes)
779 if test "x$enable_glx" = xno; then
780 AC_MSG_WARN([GLX disabled, disabling Xlib-GLX])
784 if test "x$enable_dri$enable_xlib_glx" = xyesyes; then
785 AC_MSG_ERROR([DRI and Xlib-GLX cannot be built together])
788 if test "x$enable_opengl$enable_xlib_glx" = xnoyes; then
789 AC_MSG_ERROR([Xlib-GLX cannot be built without OpenGL])
792 # Disable GLX if OpenGL is not enabled
793 if test "x$enable_glx$enable_opengl" = xyesno; then
794 AC_MSG_WARN([OpenGL not enabled, disabling GLX])
798 # Disable GLX if DRI and Xlib-GLX are not enabled
799 if test "x$enable_glx" = xyes -a \
800 "x$enable_dri" = xno -a \
801 "x$enable_xlib_glx" = xno; then
802 AC_MSG_WARN([Neither DRI nor Xlib-GLX enabled, disabling GLX])
806 AM_CONDITIONAL(HAVE_DRI_GLX, test "x$enable_glx" = xyes -a \
807 "x$enable_dri" = xyes)
809 # Select which platform-dependent DRI code gets built
812 dri_platform='apple' ;;
814 dri_platform='none' ;;
816 dri_platform='drm' ;;
819 AM_CONDITIONAL(HAVE_DRICOMMON, test "x$enable_dri" = xyes )
820 AM_CONDITIONAL(HAVE_DRISW, test "x$enable_dri" = xyes )
821 AM_CONDITIONAL(HAVE_DRI2, test "x$enable_dri" = xyes -a "x$dri_platform" = xdrm )
822 AM_CONDITIONAL(HAVE_DRI3, test "x$enable_dri3" = xyes -a "x$dri_platform" = xdrm )
823 AM_CONDITIONAL(HAVE_APPLEDRI, test "x$enable_dri" = xyes -a "x$dri_platform" = xapple )
825 AC_ARG_ENABLE([shared-glapi],
826 [AS_HELP_STRING([--enable-shared-glapi],
827 [Enable shared glapi for OpenGL @<:@default=enabled@:>@])],
828 [enable_shared_glapi="$enableval"],
829 [enable_shared_glapi=yes])
831 case "x$enable_opengl$enable_gles1$enable_gles2" in
833 if test "x$enable_shared_glapi" = xno; then
834 AC_MSG_ERROR([shared GLAPI required when building two or more of
835 the following APIs - opengl, gles1 gles2])
840 # Building Xlib-GLX requires shared glapi to be disabled.
841 if test "x$enable_xlib_glx" = xyes; then
842 AC_MSG_NOTICE([Shared GLAPI should not used with Xlib-GLX, disabling])
843 enable_shared_glapi=no
846 AM_CONDITIONAL(HAVE_SHARED_GLAPI, test "x$enable_shared_glapi" = xyes)
848 # Build the pipe-drivers as separate libraries/modules.
849 # Do not touch this unless you know what you are doing.
850 # XXX: Expose via configure option ?
851 enable_shared_pipe_drivers=no
854 dnl Driver specific build directories
857 case "x$enable_glx$enable_xlib_glx" in
859 NEED_WINSYS_XLIB="yes"
863 if test "x$enable_dri" = xyes; then
864 enable_gallium_loader="$enable_shared_pipe_drivers"
867 if test "x$enable_gallium_osmesa" = xyes; then
868 if ! echo "$with_gallium_drivers" | grep -q 'swrast'; then
869 AC_MSG_ERROR([gallium_osmesa requires the gallium swrast driver])
871 if test "x$enable_osmesa" = xyes; then
872 AC_MSG_ERROR([Cannot enable both classic and Gallium OSMesa implementations])
876 AC_SUBST([MESA_LLVM])
879 PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED],
880 [have_libdrm=yes], [have_libdrm=no])
881 if test "x$have_libdrm" = xyes; then
882 DEFINES="$DEFINES -DHAVE_LIBDRM"
892 PKG_CHECK_MODULES([LIBUDEV], [libudev >= $LIBUDEV_REQUIRED],
893 have_libudev=yes, have_libudev=no)
895 AC_ARG_ENABLE([sysfs],
896 [AS_HELP_STRING([--enable-sysfs],
897 [enable /sys PCI identification @<:@default=disabled@:>@])],
898 [have_sysfs="$enableval"],
902 if test "x$enable_dri" = xyes; then
903 if test "$enable_static" = yes; then
904 AC_MSG_ERROR([Cannot use static libraries for DRI drivers])
907 # not a hard requirement as swrast does not depend on it
908 if test "x$have_libdrm" = xyes; then
909 DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
913 AC_ARG_ENABLE([driglx-direct],
914 [AS_HELP_STRING([--disable-driglx-direct],
915 [disable direct rendering in GLX and EGL for DRI \
916 @<:@default=auto@:>@])],
917 [driglx_direct="$enableval"],
918 [driglx_direct="yes"])
921 dnl libGL configuration per driver
923 case "x$enable_glx$enable_xlib_glx" in
926 dri_modules="x11 xext xcb"
927 PKG_CHECK_MODULES([XLIBGL], [$dri_modules])
928 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
929 X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
930 GL_LIB_DEPS="$XLIBGL_LIBS"
931 GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
932 GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm $PTHREAD_LIBS"
936 PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
938 # find the DRI deps for libGL
939 dri_modules="x11 xext xdamage xfixes x11-xcb xcb xcb-glx >= $XCBGLX_REQUIRED"
941 if test x"$driglx_direct" = xyes; then
942 if test x"$dri_platform" = xdrm ; then
943 DEFINES="$DEFINES -DGLX_USE_DRM"
944 if test "x$have_libdrm" != xyes; then
945 AC_MSG_ERROR([Direct rendering requires libdrm >= $LIBDRM_REQUIRED])
948 PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
949 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED"
950 if test x"$enable_dri3" = xyes; then
951 PKG_CHECK_MODULES([DRI3PROTO], [dri3proto >= $DRI3PROTO_REQUIRED])
952 PKG_CHECK_MODULES([PRESENTPROTO], [presentproto >= $PRESENTPROTO_REQUIRED])
955 if test x"$enable_dri" = xyes; then
956 dri_modules="$dri_modules xcb-dri2 >= $XCBDRI2_REQUIRED"
959 if test x"$enable_dri3" = xyes; then
960 PKG_CHECK_EXISTS([xcb >= $XCB_REQUIRED], [], AC_MSG_ERROR([DRI3 requires xcb >= $XCB_REQUIRED]))
961 dri_modules="$dri_modules xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED"
964 if test x"$dri_platform" = xapple ; then
965 DEFINES="$DEFINES -DGLX_USE_APPLEGL"
969 # add xf86vidmode if available
970 PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no)
971 if test "$HAVE_XF86VIDMODE" = yes ; then
972 dri_modules="$dri_modules xxf86vm"
975 PKG_CHECK_MODULES([DRIGL], [$dri_modules])
976 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
977 X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
978 GL_LIB_DEPS="$DRIGL_LIBS"
980 # need DRM libs, $PTHREAD_LIBS, etc.
981 GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
982 GL_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
987 if test "$have_libudev" = yes; then
988 DEFINES="$DEFINES -DHAVE_LIBUDEV"
992 if test "$have_sysfs" = yes; then
993 DEFINES="$DEFINES -DHAVE_SYSFS"
997 # This is outside the case (above) so that it is invoked even for non-GLX
999 AM_CONDITIONAL(HAVE_XF86VIDMODE, test "x$HAVE_XF86VIDMODE" = xyes)
1001 GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1002 GLESv1_CM_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
1003 GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1004 GLESv2_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS"
1006 AC_SUBST([X11_INCLUDES])
1007 AC_SUBST([GL_LIB_DEPS])
1008 AC_SUBST([GL_PC_REQ_PRIV])
1009 AC_SUBST([GL_PC_LIB_PRIV])
1010 AC_SUBST([GL_PC_CFLAGS])
1011 AC_SUBST([DRI_PC_REQ_PRIV])
1012 AC_SUBST([GLESv1_CM_LIB_DEPS])
1013 AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
1014 AC_SUBST([GLESv2_LIB_DEPS])
1015 AC_SUBST([GLESv2_PC_LIB_PRIV])
1017 AC_SUBST([HAVE_XF86VIDMODE])
1022 case "x$enable_glx$enable_xlib_glx" in
1024 DEFINES="$DEFINES -DUSE_XSHM"
1027 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
1028 if test "x$driglx_direct" = xyes; then
1029 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1038 AC_ARG_ENABLE([glx-tls],
1039 [AS_HELP_STRING([--enable-glx-tls],
1040 [enable TLS support in GLX @<:@default=disabled@:>@])],
1041 [GLX_USE_TLS="$enableval"],
1043 AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
1045 AS_IF([test "x$GLX_USE_TLS" = xyes -a "x$ax_pthread_ok" = xyes],
1046 [DEFINES="${DEFINES} -DGLX_USE_TLS"])
1051 dnl Directory for DRI drivers
1052 AC_ARG_WITH([dri-driverdir],
1053 [AS_HELP_STRING([--with-dri-driverdir=DIR],
1054 [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
1055 [DRI_DRIVER_INSTALL_DIR="$withval"],
1056 [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
1057 AC_SUBST([DRI_DRIVER_INSTALL_DIR])
1058 dnl Extra search path for DRI drivers
1059 AC_ARG_WITH([dri-searchpath],
1060 [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
1061 [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
1062 [DRI_DRIVER_SEARCH_DIR="$withval"],
1063 [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
1064 AC_SUBST([DRI_DRIVER_SEARCH_DIR])
1065 dnl Which drivers to build - default is chosen by platform
1066 AC_ARG_WITH([dri-drivers],
1067 [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
1068 [comma delimited classic DRI drivers list, e.g.
1069 "swrast,i965,radeon" @<:@default=auto@:>@])],
1070 [with_dri_drivers="$withval"],
1071 [with_dri_drivers=auto])
1073 if test "x$with_dri_drivers" = xauto; then
1074 if test "x$enable_opengl" = xyes -a "x$enable_dri" = xyes; then
1075 with_dri_drivers="yes"
1077 with_dri_drivers="no"
1080 if test "x$with_dri_drivers" = xno; then
1084 dnl If $with_dri_drivers is yes, drivers will be added through
1085 dnl platform checks. Set DEFINES and LIB_DEPS
1086 if test "x$enable_dri" = xyes; then
1087 # Platform specific settings and drivers to build
1090 DEFINES="$DEFINES -DHAVE_ALIAS"
1091 if test "x$enable_dri3" = xyes; then
1092 DEFINES="$DEFINES -DHAVE_DRI3"
1095 if test "x$have_pci_id" != xyes; then
1096 AC_MSG_ERROR([libudev-dev or sysfs required for building DRI])
1101 # Build only the drivers for cards that exist on PowerPC/sparc
1102 if test "x$with_dri_drivers" = "xyes"; then
1103 with_dri_drivers="r200 radeon swrast"
1108 *freebsd* | dragonfly* | *netbsd* | openbsd*)
1109 DEFINES="$DEFINES -DHAVE_ALIAS"
1112 DEFINES="$DEFINES -DHAVE_ALIAS"
1115 if test "x$with_dri_drivers" = "xyes"; then
1116 with_dri_drivers="swrast"
1120 DEFINES="$DEFINES -DGLX_ALIAS_UNSUPPORTED"
1121 if test "x$with_dri_drivers" = "xyes"; then
1122 with_dri_drivers="swrast"
1128 if test "x$with_dri_drivers" = "xyes"; then
1129 with_dri_drivers="i915 i965 nouveau r200 radeon swrast"
1133 PKG_CHECK_MODULES([EXPAT], [expat], [],
1134 # expat version 2.0 and earlier do not provide expat.pc
1135 [AC_CHECK_HEADER([expat.h],[],
1136 [AC_MSG_ERROR([Expat headers required for DRI not found])])
1137 AC_CHECK_LIB([expat],[XML_ParserCreate],[],
1138 [AC_MSG_ERROR([Expat library required for DRI not found])])
1139 EXPAT_LIBS="-lexpat"])
1141 DRICOMMON_NEED_LIBDRM=no
1142 # If we are building any DRI driver other than swrast.
1143 if test -n "$with_dri_drivers"; then
1144 if test "x$with_dri_drivers" != xswrast; then
1145 # ... libdrm is required
1146 if test "x$have_libdrm" != xyes; then
1147 AC_MSG_ERROR([DRI drivers requires libdrm >= $LIBDRM_REQUIRED])
1149 DRICOMMON_NEED_LIBDRM=yes
1153 # If we're building any gallium DRI driver other than swrast
1154 if test -n "$with_gallium_drivers" -a "x$DRICOMMON_NEED_LIBDRM" = xno; then
1155 if test "x$with_gallium_drivers" != xswrast; then
1156 # ... build a libdrm aware dricommon
1157 DRICOMMON_NEED_LIBDRM=yes
1161 # put all the necessary libs together
1162 DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
1165 AC_SUBST([DRI_LIB_DEPS])
1168 dnl Duplicates in DRI_DIRS are removed by sorting it at the end of this block
1169 if test -n "$with_dri_drivers"; then
1170 if test "x$enable_opengl" != xyes; then
1171 AC_MSG_ERROR([--with-dri-drivers requires OpenGL])
1174 dri_drivers=`IFS=', '; echo $with_dri_drivers`
1175 for driver in $dri_drivers; do
1176 DRI_DIRS="$DRI_DIRS $driver"
1180 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1184 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1187 HAVE_NOUVEAU_DRI=yes;
1188 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NVVIEUX_REQUIRED])
1191 HAVE_RADEON_DRI=yes;
1192 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1196 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1199 HAVE_SWRAST_DRI=yes;
1202 AC_MSG_ERROR([classic DRI driver '$driver' does not exist])
1206 DRI_DIRS=`echo $DRI_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
1209 AM_CONDITIONAL(NEED_MEGADRIVER, test -n "$DRI_DIRS")
1210 AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_xlib_glx" = xyes -o \
1211 "x$enable_osmesa" = xyes -o \
1215 dnl OSMesa configuration
1218 dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
1219 AC_ARG_WITH([osmesa-bits],
1220 [AS_HELP_STRING([--with-osmesa-bits=BITS],
1221 [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
1222 [osmesa_bits="$withval"],
1224 if test "x$osmesa_bits" != x8; then
1225 if test "x$enable_dri" = xyes -o "x$enable_glx" = xyes; then
1226 AC_MSG_WARN([Ignoring OSMesa channel bits because of non-OSMesa driver])
1230 case "x$osmesa_bits" in
1232 OSMESA_LIB="${OSMESA_LIB}"
1235 OSMESA_LIB="${OSMESA_LIB}$osmesa_bits"
1236 DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
1239 AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
1243 if test "x$enable_osmesa" = xyes -o "x$enable_gallium_osmesa" = xyes; then
1244 # only link libraries with osmesa if shared
1245 if test "$enable_static" = no; then
1246 OSMESA_LIB_DEPS="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
1250 OSMESA_PC_LIB_PRIV="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
1253 AC_SUBST([OSMESA_LIB_DEPS])
1254 AC_SUBST([OSMESA_PC_REQ])
1255 AC_SUBST([OSMESA_PC_LIB_PRIV])
1258 dnl gbm configuration
1260 if test "x$enable_gbm" = xauto; then
1261 case "$with_egl_platforms" in
1268 if test "x$enable_gbm" = xyes; then
1269 if test "x$need_pci_id$have_pci_id" = xyesno; then
1270 AC_MSG_ERROR([gbm requires udev >= $LIBUDEV_REQUIRED or sysfs])
1273 if test "x$enable_dri" = xyes; then
1274 GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri"
1275 if test "x$enable_shared_glapi" = xno; then
1276 AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi])
1279 # Strictly speaking libgbm does not require --enable-dri, although
1280 # both of its backends do. Thus one can build libgbm without any
1281 # backends if --disable-dri is set.
1282 # To avoid unnecessary complexity of checking if at least one backend
1283 # is available when building, just mandate --enable-dri.
1284 AC_MSG_ERROR([gbm requires --enable-dri])
1287 AM_CONDITIONAL(HAVE_GBM, test "x$enable_gbm" = xyes)
1288 if test "x$need_pci_id$have_libudev" = xyesyes; then
1289 GBM_PC_REQ_PRIV="libudev >= $LIBUDEV_REQUIRED"
1293 GBM_PC_LIB_PRIV="$DLOPEN_LIBS"
1294 AC_SUBST([GBM_PC_REQ_PRIV])
1295 AC_SUBST([GBM_PC_LIB_PRIV])
1298 dnl EGL configuration
1302 if test "x$enable_egl" = xyes; then
1303 EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS $PTHREAD_LIBS"
1305 AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"])
1307 if test "$enable_static" != yes; then
1308 if test "x$enable_dri" = xyes; then
1309 HAVE_EGL_DRIVER_DRI2=1
1314 AM_CONDITIONAL(HAVE_EGL, test "x$enable_egl" = xyes)
1315 AC_SUBST([EGL_LIB_DEPS])
1318 dnl XA configuration
1320 if test "x$enable_xa" = xyes; then
1321 if test "x$with_gallium_drivers" = xswrast; then
1323 Building xa requires at least one non swrast gallium driver.
1324 If you are looking to use libxatracker.so with the VMware driver,
1325 make sure to include svga in the gallium drivers list, apart from
1327 Example: ./configure --enable-xa --with-gallium-drivers=svga...])
1329 enable_gallium_loader=$enable_shared_pipe_drivers
1331 AM_CONDITIONAL(HAVE_ST_XA, test "x$enable_xa" = xyes)
1334 dnl OpenVG configuration
1338 if test "x$enable_openvg" = xyes; then
1339 if test "x$enable_egl" = xno; then
1340 AC_MSG_ERROR([cannot enable OpenVG without EGL])
1342 if test -z "$with_gallium_drivers"; then
1343 AC_MSG_ERROR([cannot enable OpenVG without Gallium])
1346 AC_MSG_ERROR([Cannot enable OpenVG, because egl_gallium has been removed and
1347 OpenVG hasn't been integrated into standard libEGL yet])
1349 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
1350 VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS $PTHREAD_LIBS"
1351 VG_PC_LIB_PRIV="-lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
1352 AC_SUBST([VG_PC_LIB_PRIV])
1354 AM_CONDITIONAL(HAVE_OPENVG, test "x$enable_openvg" = xyes)
1357 dnl Gallium G3DVL configuration
1359 if test -n "$with_gallium_drivers" -a "x$with_gallium_drivers" != xswrast; then
1360 if test "x$enable_xvmc" = xauto; then
1361 PKG_CHECK_EXISTS([xvmc], [enable_xvmc=yes], [enable_xvmc=no])
1364 if test "x$enable_vdpau" = xauto; then
1365 PKG_CHECK_EXISTS([vdpau], [enable_vdpau=yes], [enable_vdpau=no])
1368 if test "x$enable_omx" = xauto; then
1369 PKG_CHECK_EXISTS([libomxil-bellagio], [enable_omx=yes], [enable_omx=no])
1372 if test "x$enable_va" = xauto; then
1373 PKG_CHECK_EXISTS([libva], [enable_va=yes], [enable_va=no])
1377 if test "x$enable_xvmc" = xyes; then
1378 PKG_CHECK_MODULES([XVMC], [xvmc >= $XVMC_REQUIRED x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
1379 enable_gallium_loader=$enable_shared_pipe_drivers
1381 AM_CONDITIONAL(HAVE_ST_XVMC, test "x$enable_xvmc" = xyes)
1383 if test "x$enable_vdpau" = xyes; then
1384 PKG_CHECK_MODULES([VDPAU], [vdpau >= $VDPAU_REQUIRED x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED],
1385 [VDPAU_LIBS="`$PKG_CONFIG --libs x11-xcb xcb xcb-dri2`"])
1386 enable_gallium_loader=$enable_shared_pipe_drivers
1388 AM_CONDITIONAL(HAVE_ST_VDPAU, test "x$enable_vdpau" = xyes)
1390 if test "x$enable_omx" = xyes; then
1391 PKG_CHECK_MODULES([OMX], [libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
1392 enable_gallium_loader=$enable_shared_pipe_drivers
1394 AM_CONDITIONAL(HAVE_ST_OMX, test "x$enable_omx" = xyes)
1396 if test "x$enable_va" = xyes; then
1397 PKG_CHECK_MODULES([VA], [libva >= 0.35.0 x11-xcb xcb-dri2 >= $XCBDRI2_REQUIRED],
1398 [VA_LIBS="`$PKG_CONFIG --libs x11-xcb xcb-dri2`"])
1399 enable_gallium_loader=$enable_shared_pipe_drivers
1401 AM_CONDITIONAL(HAVE_ST_VA, test "x$enable_va" = xyes)
1404 dnl Nine Direct3D9 configuration
1406 if test "x$enable_nine" = xyes; then
1407 if ! echo "$with_gallium_drivers" | grep -q 'swrast'; then
1408 AC_MSG_ERROR([nine requires the gallium swrast driver])
1410 if test "x$with_gallium_drivers" == xswrast; then
1411 AC_MSG_ERROR([nine requires at least one non-swrast gallium driver])
1413 if test "x$enable_dri3" = xno; then
1414 AC_MSG_WARN([using nine together with wine requires DRI3 enabled system])
1417 enable_gallium_loader=$enable_shared_pipe_drivers
1419 AM_CONDITIONAL(HAVE_ST_NINE, test "x$enable_nine" = xyes)
1422 dnl OpenCL configuration
1425 AC_ARG_WITH([libclc-path],
1426 [AS_HELP_STRING([--with-libclc-path],
1427 [DEPRECATED: See http://dri.freedesktop.org/wiki/GalliumCompute#How_to_Install])],
1428 [LIBCLC_PATH="$withval"],
1431 if test -n "$LIBCLC_PATH"; then
1432 AC_MSG_ERROR([The --with-libclc-path option has been deprecated.
1433 Please review the updated build instructions for clover:
1434 http://dri.freedesktop.org/wiki/GalliumCompute])
1438 AC_ARG_WITH([clang-libdir],
1439 [AS_HELP_STRING([--with-clang-libdir],
1440 [Path to Clang libraries @<:@default=llvm-config --libdir@:>@])],
1441 [CLANG_LIBDIR="$withval"],
1444 PKG_CHECK_EXISTS([libclc], [have_libclc=yes], [have_libclc=no])
1445 AC_CHECK_LIB([elf], [elf_memory], [have_libelf=yes;ELF_LIB=-lelf])
1447 if test "x$enable_opencl" = xyes; then
1448 if test -z "$with_gallium_drivers"; then
1449 AC_MSG_ERROR([cannot enable OpenCL without Gallium])
1452 if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 7; then
1453 AC_MSG_ERROR([gcc >= 4.7 is required to build clover])
1456 if test "x$have_libclc" = xno; then
1457 AC_MSG_ERROR([pkg-config cannot find libclc.pc which is required to build clover.
1458 Make sure the directory containing libclc.pc is specified in your
1459 PKG_CONFIG_PATH environment variable.
1460 By default libclc.pc is installed to /usr/local/share/pkgconfig/])
1462 LIBCLC_INCLUDEDIR=`$PKG_CONFIG --variable=includedir libclc`
1463 LIBCLC_LIBEXECDIR=`$PKG_CONFIG --variable=libexecdir libclc`
1464 AC_SUBST([LIBCLC_INCLUDEDIR])
1465 AC_SUBST([LIBCLC_LIBEXECDIR])
1468 # XXX: Use $enable_shared_pipe_drivers once converted to use static/shared pipe-drivers
1469 enable_gallium_loader=yes
1471 if test "x$enable_opencl_icd" = xyes; then
1472 OPENCL_LIBNAME="MesaOpenCL"
1474 OPENCL_LIBNAME="OpenCL"
1477 if test "x$have_libelf" != xyes; then
1478 AC_MSG_ERROR([Clover requires libelf])
1481 AM_CONDITIONAL(HAVE_CLOVER, test "x$enable_opencl" = xyes)
1482 AM_CONDITIONAL(HAVE_CLOVER_ICD, test "x$enable_opencl_icd" = xyes)
1483 AC_SUBST([OPENCL_LIBNAME])
1486 dnl Gallium configuration
1488 AM_CONDITIONAL(HAVE_GALLIUM, test -n "$with_gallium_drivers")
1490 AC_SUBST([LLVM_BINDIR])
1491 AC_SUBST([LLVM_CFLAGS])
1492 AC_SUBST([LLVM_CPPFLAGS])
1493 AC_SUBST([LLVM_CXXFLAGS])
1494 AC_SUBST([LLVM_LIBDIR])
1495 AC_SUBST([LLVM_LIBS])
1496 AC_SUBST([LLVM_LDFLAGS])
1497 AC_SUBST([LLVM_INCLUDEDIR])
1498 AC_SUBST([LLVM_VERSION])
1499 AC_SUBST([CLANG_RESOURCE_DIR])
1501 case "x$enable_opengl$enable_gles1$enable_gles2" in
1503 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
1507 AC_SUBST([VG_LIB_DEPS])
1508 AC_SUBST([EGL_CLIENT_APIS])
1511 dnl EGL Platforms configuration
1513 AC_ARG_WITH([egl-platforms],
1514 [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1515 [comma delimited native platforms libEGL supports, e.g.
1516 "x11,drm" @<:@default=auto@:>@])],
1517 [with_egl_platforms="$withval"],
1518 [if test "x$enable_egl" = xyes; then
1519 with_egl_platforms="x11"
1521 with_egl_platforms=""
1524 if test "x$with_egl_platforms" != "x" -a "x$enable_egl" != xyes; then
1525 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1528 # Do per-EGL platform setups and checks
1529 egl_platforms=`IFS=', '; echo $with_egl_platforms`
1530 for plat in $egl_platforms; do
1533 PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED])
1535 WAYLAND_PREFIX=`$PKG_CONFIG --variable=prefix wayland-client`
1536 AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner],,
1537 [${WAYLAND_PREFIX}/bin$PATH_SEPARATOR$PATH])
1541 PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED xcb-xfixes])
1545 test "x$enable_gbm" = "xno" &&
1546 AC_MSG_ERROR([EGL platform drm needs gbm])
1547 test "x$have_libdrm" != xyes &&
1548 AC_MSG_ERROR([EGL platform drm requires libdrm >= $LIBDRM_REQUIRED])
1551 android|fbdev|gdi|null)
1555 AC_MSG_ERROR([EGL platform '$plat' does not exist])
1559 case "$plat$need_pci_id$have_pci_id" in
1560 waylandyesno|drmyesno)
1561 AC_MSG_ERROR([cannot build $plat platform without udev >= $LIBUDEV_REQUIRED or sysfs]) ;;
1565 # libEGL wants to default to the first platform specified in
1566 # ./configure. parse that here.
1567 if test "x$egl_platforms" != "x"; then
1568 FIRST_PLATFORM_CAPS=`echo $egl_platforms | sed 's| .*||' | tr 'a-z' 'A-Z'`
1569 EGL_NATIVE_PLATFORM="_EGL_PLATFORM_$FIRST_PLATFORM_CAPS"
1571 EGL_NATIVE_PLATFORM="_EGL_INVALID_PLATFORM"
1574 if echo "$egl_platforms" | grep -q 'x11'; then
1575 NEED_WINSYS_XLIB=yes
1577 AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep -q 'x11')
1578 AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep -q 'wayland')
1579 AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep -q 'drm')
1580 AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep -q 'fbdev')
1581 AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep -q 'null')
1583 AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
1585 AC_SUBST([EGL_NATIVE_PLATFORM])
1586 AC_SUBST([EGL_CFLAGS])
1588 # If we don't have the X11 platform, set this define so we don't try to include
1590 if ! echo "$egl_platforms" | grep -q 'x11'; then
1591 DEFINES="$DEFINES -DMESA_EGL_NO_X11_HEADERS"
1592 GL_PC_CFLAGS="$GL_PC_CFLAGS -DMESA_EGL_NO_X11_HEADERS"
1595 AC_ARG_WITH([max-width],
1596 [AS_HELP_STRING([--with-max-width=N],
1597 [Maximum framebuffer width (4096)])],
1598 [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1599 AS_IF([test "${withval}" -gt "4096"],
1600 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1602 AC_ARG_WITH([max-height],
1603 [AS_HELP_STRING([--with-max-height=N],
1604 [Maximum framebuffer height (4096)])],
1605 [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1606 AS_IF([test "${withval}" -gt "4096"],
1607 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1613 AC_ARG_ENABLE([gallium-llvm],
1614 [AS_HELP_STRING([--enable-gallium-llvm],
1615 [build gallium LLVM support @<:@default=enabled on x86/x86_64@:>@])],
1616 [enable_gallium_llvm="$enableval"],
1617 [enable_gallium_llvm=auto])
1619 AC_ARG_ENABLE([llvm-shared-libs],
1620 [AS_HELP_STRING([--enable-llvm-shared-libs],
1621 [link with LLVM shared libraries @<:@default=enabled@:>@])],
1622 [enable_llvm_shared_libs="$enableval"],
1623 [enable_llvm_shared_libs=yes])
1625 AC_ARG_WITH([llvm-prefix],
1626 [AS_HELP_STRING([--with-llvm-prefix],
1627 [Prefix for LLVM installations in non-standard locations])],
1628 [llvm_prefix="$withval"],
1632 # Call this inside ` ` to get the return value.
1633 # $1 is the llvm-config command with arguments.
1634 strip_unwanted_llvm_flags() {
1635 # Use \> (marks the end of the word)
1637 -e 's/-DNDEBUG\>//g' \
1638 -e 's/-D_GNU_SOURCE\>//g' \
1639 -e 's/-pedantic\>//g' \
1640 -e 's/-Wcovered-switch-default\>//g' \
1644 -e 's/-Wcast-qual\>//g' \
1645 -e 's/-Woverloaded-virtual\>//g' \
1646 -e 's/-fcolor-diagnostics\>//g' \
1647 -e 's/-fdata-sections\>//g' \
1648 -e 's/-ffunction-sections\>//g' \
1649 -e 's/-fno-exceptions\>//g' \
1650 -e 's/-fomit-frame-pointer\>//g' \
1651 -e 's/-fvisibility-inlines-hidden\>//g' \
1653 -e 's/-fstack-protector-strong\>//g'
1657 if test -z "$with_gallium_drivers"; then
1658 enable_gallium_llvm=no
1660 if test "x$enable_gallium_llvm" = xauto; then
1662 i*86|x86_64|amd64) enable_gallium_llvm=yes;;
1665 if test "x$enable_gallium_llvm" = xyes; then
1666 if test -n "$llvm_prefix"; then
1667 AC_PATH_TOOL([LLVM_CONFIG], [llvm-config], [no], ["$llvm_prefix/bin"])
1669 AC_PATH_TOOL([LLVM_CONFIG], [llvm-config], [no])
1672 if test "x$LLVM_CONFIG" != xno; then
1673 LLVM_VERSION=`$LLVM_CONFIG --version | egrep -o '^[[0-9.]]+'`
1674 LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1675 LLVM_BINDIR=`$LLVM_CONFIG --bindir`
1676 LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"`
1677 LLVM_CFLAGS=$LLVM_CPPFLAGS # CPPFLAGS seem to be sufficient
1678 LLVM_CXXFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cxxflags"`
1679 LLVM_INCLUDEDIR=`$LLVM_CONFIG --includedir`
1680 LLVM_LIBDIR=`$LLVM_CONFIG --libdir`
1682 AC_COMPUTE_INT([LLVM_VERSION_MAJOR], [LLVM_VERSION_MAJOR],
1683 [#include "${LLVM_INCLUDEDIR}/llvm/Config/llvm-config.h"])
1684 AC_COMPUTE_INT([LLVM_VERSION_MINOR], [LLVM_VERSION_MINOR],
1685 [#include "${LLVM_INCLUDEDIR}/llvm/Config/llvm-config.h"])
1687 LLVM_VERSION_PATCH=`echo $LLVM_VERSION | cut -d. -f3 | egrep -o '^[[0-9]]+'`
1688 if test -z "$LLVM_VERSION_PATCH"; then
1689 LLVM_VERSION_PATCH=0
1692 if test -n "${LLVM_VERSION_MAJOR}"; then
1693 LLVM_VERSION_INT="${LLVM_VERSION_MAJOR}0${LLVM_VERSION_MINOR}"
1695 LLVM_VERSION_INT=`echo $LLVM_VERSION | sed -e 's/\([[0-9]]\)\.\([[0-9]]\)/\10\2/g'`
1698 LLVM_REQUIRED_VERSION_MAJOR="3"
1699 LLVM_REQUIRED_VERSION_MINOR="3"
1700 if test "$LLVM_VERSION_INT" -lt "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}"; then
1701 AC_MSG_ERROR([LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR or newer is required])
1704 LLVM_COMPONENTS="engine bitwriter"
1705 if $LLVM_CONFIG --components | grep -qw 'mcjit'; then
1706 LLVM_COMPONENTS="${LLVM_COMPONENTS} mcjit"
1709 if test "x$enable_opencl" = xyes; then
1710 LLVM_COMPONENTS="${LLVM_COMPONENTS} ipo linker instrumentation"
1711 # LLVM 3.3 >= 177971 requires IRReader
1712 if $LLVM_CONFIG --components | grep -qw 'irreader'; then
1713 LLVM_COMPONENTS="${LLVM_COMPONENTS} irreader"
1715 # LLVM 3.4 requires Option
1716 if $LLVM_CONFIG --components | grep -qw 'option'; then
1717 LLVM_COMPONENTS="${LLVM_COMPONENTS} option"
1719 # Current OpenCL/Clover and LLVM 3.5 require ObjCARCOpts and ProfileData
1720 if $LLVM_CONFIG --components | grep -qw 'objcarcopts'; then
1721 LLVM_COMPONENTS="${LLVM_COMPONENTS} objcarcopts"
1723 if $LLVM_CONFIG --components | grep -qw 'profiledata'; then
1724 LLVM_COMPONENTS="${LLVM_COMPONENTS} profiledata"
1727 DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT -DLLVM_VERSION_PATCH=$LLVM_VERSION_PATCH"
1730 dnl Check for Clang internal headers
1731 if test "x$enable_opencl" = xyes; then
1732 if test -z "$CLANG_LIBDIR"; then
1733 CLANG_LIBDIR=${LLVM_LIBDIR}
1735 CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
1736 AS_IF([test ! -f "$CLANG_RESOURCE_DIR/include/stddef.h"],
1737 [AC_MSG_ERROR([Could not find clang internal header stddef.h in $CLANG_RESOURCE_DIR Use --with-clang-libdir to specify the correct path to the clang libraries.])])
1747 if test "x$enable_opencl" = xyes; then
1748 AC_MSG_ERROR([cannot enable OpenCL without LLVM])
1752 dnl Directory for XVMC libs
1753 AC_ARG_WITH([xvmc-libdir],
1754 [AS_HELP_STRING([--with-xvmc-libdir=DIR],
1755 [directory for the XVMC libraries @<:@default=${libdir}@:>@])],
1756 [XVMC_LIB_INSTALL_DIR="$withval"],
1757 [XVMC_LIB_INSTALL_DIR='${libdir}'])
1758 AC_SUBST([XVMC_LIB_INSTALL_DIR])
1763 if test "x$enable_gallium_tests" = xyes; then
1764 # XXX: Use $enable_shared_pipe_drivers once converted to use static/shared pipe-drivers
1765 enable_gallium_loader=yes
1767 AM_CONDITIONAL(HAVE_GALLIUM_TESTS, test "x$enable_gallium_tests" = xyes)
1769 dnl Directory for VDPAU libs
1770 AC_ARG_WITH([vdpau-libdir],
1771 [AS_HELP_STRING([--with-vdpau-libdir=DIR],
1772 [directory for the VDPAU libraries @<:@default=${libdir}/vdpau@:>@])],
1773 [VDPAU_LIB_INSTALL_DIR="$withval"],
1774 [VDPAU_LIB_INSTALL_DIR='${libdir}/vdpau'])
1775 AC_SUBST([VDPAU_LIB_INSTALL_DIR])
1777 dnl Directory for OMX libs
1779 AC_ARG_WITH([omx-libdir],
1780 [AS_HELP_STRING([--with-omx-libdir=DIR],
1781 [directory for the OMX libraries])],
1782 [OMX_LIB_INSTALL_DIR="$withval"],
1783 [OMX_LIB_INSTALL_DIR=`$PKG_CONFIG --define-variable=libdir=\$libdir --variable=pluginsdir libomxil-bellagio`])
1784 AC_SUBST([OMX_LIB_INSTALL_DIR])
1786 dnl Directory for VA libs
1788 AC_ARG_WITH([va-libdir],
1789 [AS_HELP_STRING([--with-va-libdir=DIR],
1790 [directory for the VA libraries @<:@${libdir}/dri@:>@])],
1791 [VA_LIB_INSTALL_DIR="$withval"],
1792 [VA_LIB_INSTALL_DIR="${libdir}/dri"])
1793 AC_SUBST([VA_LIB_INSTALL_DIR])
1795 AC_ARG_WITH([d3d-libdir],
1796 [AS_HELP_STRING([--with-d3d-libdir=DIR],
1797 [directory for the D3D modules @<:@${libdir}/d3d@:>@])],
1798 [D3D_DRIVER_INSTALL_DIR="$withval"],
1799 [D3D_DRIVER_INSTALL_DIR="${libdir}/d3d"])
1800 AC_SUBST([D3D_DRIVER_INSTALL_DIR])
1803 dnl Gallium helper functions
1805 gallium_require_drm() {
1806 if test "x$have_libdrm" != xyes; then
1807 AC_MSG_ERROR([$1 requires libdrm >= $LIBDRM_REQUIRED])
1811 gallium_require_llvm() {
1812 if test "x$MESA_LLVM" = x0; then
1813 case "$host" in *gnux32) return;; esac
1815 i*86|x86_64|amd64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
1820 gallium_require_drm_loader() {
1821 if test "x$enable_gallium_loader" = xyes; then
1822 if test "x$need_pci_id$have_pci_id" = xyesno; then
1823 AC_MSG_ERROR([Gallium drm loader requires libudev >= $LIBUDEV_REQUIRED or sysfs])
1825 enable_gallium_drm_loader=yes
1827 if test "x$enable_va" = xyes && test "x$7" != x; then
1828 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $7"
1833 case "$with_egl_platforms" in
1837 AC_MSG_ERROR([--with-egl-platforms=drm is required to build the $1 driver.])
1840 if test "x$enable_gbm" != xyes; then
1841 AC_MSG_ERROR([--enable-gbm is required to build the $1 driver.])
1845 radeon_llvm_check() {
1846 if test "x$enable_gallium_llvm" != "xyes"; then
1847 AC_MSG_ERROR([--enable-gallium-llvm is required when building $1])
1849 LLVM_REQUIRED_VERSION_MAJOR="3"
1850 LLVM_REQUIRED_VERSION_MINOR="4"
1851 LLVM_REQUIRED_VERSION_PATCH="2"
1852 if test "${LLVM_VERSION_INT}${LLVM_VERSION_PATCH}" -lt "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}${LLVM_REQUIRED_VERSION_PATCH}"; then
1853 AC_MSG_ERROR([LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR.$LLVM_REQUIRED_VERSION_PATCH or newer is required for $1])
1855 if test true && $LLVM_CONFIG --targets-built | grep -qvw 'R600' ; then
1856 AC_MSG_ERROR([LLVM R600 Target not enabled. You can enable it when building the LLVM
1857 sources with the --enable-experimental-targets=R600
1860 LLVM_COMPONENTS="${LLVM_COMPONENTS} r600 bitreader ipo"
1861 NEED_RADEON_LLVM=yes
1862 if test "x$have_libelf" != xyes; then
1863 AC_MSG_ERROR([$1 requires libelf when using llvm])
1867 dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this block
1868 if test -n "$with_gallium_drivers"; then
1869 gallium_drivers=`IFS=', '; echo $with_gallium_drivers`
1870 for driver in $gallium_drivers; do
1873 HAVE_GALLIUM_SVGA=yes
1874 gallium_require_drm "svga"
1875 gallium_require_drm_loader
1878 HAVE_GALLIUM_I915=yes
1879 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1880 gallium_require_drm "Gallium i915"
1881 gallium_require_drm_loader
1884 HAVE_GALLIUM_ILO=yes
1885 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
1886 gallium_require_drm "Gallium i965/ilo"
1887 gallium_require_drm_loader
1890 HAVE_GALLIUM_R300=yes
1891 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1892 gallium_require_drm "Gallium R300"
1893 gallium_require_drm_loader
1894 gallium_require_llvm "Gallium R300"
1897 HAVE_GALLIUM_R600=yes
1898 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1899 gallium_require_drm "Gallium R600"
1900 gallium_require_drm_loader
1901 if test "x$enable_r600_llvm" = xyes -o "x$enable_opencl" = xyes; then
1902 radeon_llvm_check "r600g"
1903 LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
1905 if test "x$enable_r600_llvm" = xyes; then
1906 USE_R600_LLVM_COMPILER=yes;
1908 if test "x$enable_opencl" = xyes; then
1909 LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
1913 HAVE_GALLIUM_RADEONSI=yes
1914 PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
1915 gallium_require_drm "radeonsi"
1916 gallium_require_drm_loader
1917 radeon_llvm_check "radeonsi"
1918 require_egl_drm "radeonsi"
1921 HAVE_GALLIUM_NOUVEAU=yes
1922 PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
1923 gallium_require_drm "nouveau"
1924 gallium_require_drm_loader
1927 HAVE_GALLIUM_FREEDRENO=yes
1928 PKG_CHECK_MODULES([FREEDRENO], [libdrm_freedreno >= $LIBDRM_FREEDRENO_REQUIRED])
1929 gallium_require_drm "freedreno"
1930 gallium_require_drm_loader
1933 HAVE_GALLIUM_SOFTPIPE=yes
1934 if test "x$MESA_LLVM" = x1; then
1935 HAVE_GALLIUM_LLVMPIPE=yes
1939 HAVE_GALLIUM_VC4=yes
1940 gallium_require_drm "vc4"
1941 gallium_require_drm_loader
1944 i?86 | x86_64 | amd64)
1945 USE_VC4_SIMULATOR=yes
1950 AC_MSG_ERROR([Unknown Gallium driver: $driver])
1956 dnl Set LLVM_LIBS - This is done after the driver configuration so
1957 dnl that drivers can add additional components to LLVM_COMPONENTS.
1958 dnl Previously, gallium drivers were updating LLVM_LIBS directly
1959 dnl by calling llvm-config --libs ${DRIVER_LLVM_COMPONENTS}, but
1960 dnl this was causing the same libraries to be appear multiple times
1963 if test "x$MESA_LLVM" != x0; then
1965 LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`"
1967 if test "x$enable_llvm_shared_libs" = xyes; then
1968 dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
1969 LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
1970 AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.so"], [llvm_have_one_so=yes])
1972 if test "x$llvm_have_one_so" = xyes; then
1973 dnl LLVM was built using auto*, so there is only one shared object.
1974 LLVM_LIBS="-l$LLVM_SO_NAME"
1976 dnl If LLVM was built with CMake, there will be one shared object per
1978 AS_IF([test ! -f "$LLVM_LIBDIR/libLLVMTarget.so"],
1979 [AC_MSG_ERROR([Could not find llvm shared libraries:
1980 Please make sure you have built llvm with the --enable-shared option
1981 and that your llvm libraries are installed in $LLVM_LIBDIR
1982 If you have installed your llvm libraries to a different directory you
1983 can use the --with-llvm-prefix= configure flag to specify this directory.
1984 NOTE: Mesa is attempting to use llvm shared libraries by default.
1985 If you do not want to build with llvm shared libraries and instead want to
1986 use llvm static libraries then add --disable-llvm-shared-libs to your configure
1987 invocation and rebuild.])])
1989 dnl We don't need to update LLVM_LIBS in this case because the LLVM
1990 dnl install uses a shared object for each component and we have
1991 dnl already added all of these objects to LLVM_LIBS.
1994 AC_MSG_WARN([Building mesa with statically linked LLVM may cause compilation issues])
1995 dnl We need to link to llvm system libs when using static libs
1996 dnl However, only llvm 3.5+ provides --system-libs
1997 if test $LLVM_VERSION_MAJOR -eq 3 -a $LLVM_VERSION_MINOR -ge 5; then
1998 LLVM_LIBS="$LLVM_LIBS `$LLVM_CONFIG --system-libs`"
2003 AM_CONDITIONAL(HAVE_GALLIUM_SVGA, test "x$HAVE_GALLIUM_SVGA" = xyes)
2004 AM_CONDITIONAL(HAVE_GALLIUM_I915, test "x$HAVE_GALLIUM_I915" = xyes)
2005 AM_CONDITIONAL(HAVE_GALLIUM_ILO, test "x$HAVE_GALLIUM_ILO" = xyes)
2006 AM_CONDITIONAL(HAVE_GALLIUM_R300, test "x$HAVE_GALLIUM_R300" = xyes)
2007 AM_CONDITIONAL(HAVE_GALLIUM_R600, test "x$HAVE_GALLIUM_R600" = xyes)
2008 AM_CONDITIONAL(HAVE_GALLIUM_RADEONSI, test "x$HAVE_GALLIUM_RADEONSI" = xyes)
2009 AM_CONDITIONAL(HAVE_GALLIUM_RADEON_COMMON, test "x$HAVE_GALLIUM_R600" = xyes -o \
2010 "x$HAVE_GALLIUM_RADEONSI" = xyes)
2011 AM_CONDITIONAL(HAVE_GALLIUM_NOUVEAU, test "x$HAVE_GALLIUM_NOUVEAU" = xyes)
2012 AM_CONDITIONAL(HAVE_GALLIUM_FREEDRENO, test "x$HAVE_GALLIUM_FREEDRENO" = xyes)
2013 AM_CONDITIONAL(HAVE_GALLIUM_SOFTPIPE, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes)
2014 AM_CONDITIONAL(HAVE_GALLIUM_LLVMPIPE, test "x$HAVE_GALLIUM_LLVMPIPE" = xyes)
2015 AM_CONDITIONAL(HAVE_GALLIUM_VC4, test "x$HAVE_GALLIUM_VC4" = xyes)
2017 AM_CONDITIONAL(HAVE_GALLIUM_STATIC_TARGETS, test "x$enable_shared_pipe_drivers" = xno)
2019 # NOTE: anything using xcb or other client side libs ends up in separate
2020 # _CLIENT variables. The pipe loader is built in two variants,
2021 # one that is standalone and does not link any x client libs (for
2022 # use by XA tracker in particular, but could be used in any case
2023 # where communication with xserver is not desired).
2024 if test "x$enable_gallium_loader" = xyes; then
2025 if test "x$NEED_WINSYS_XLIB" = xyes; then
2026 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_XLIB"
2029 if test "x$enable_dri" = xyes; then
2030 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_DRI"
2033 if test "x$enable_gallium_drm_loader" = xyes; then
2034 GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_DRM"
2035 PKG_CHECK_MODULES([GALLIUM_PIPE_LOADER_XCB], [xcb xcb-dri2],
2036 pipe_loader_have_xcb=yes, pipe_loader_have_xcb=no)
2037 if test "x$pipe_loader_have_xcb" = xyes; then
2038 GALLIUM_PIPE_LOADER_CLIENT_DEFINES="$GALLIUM_PIPE_LOADER_CLIENT_DEFINES -DHAVE_PIPE_LOADER_XCB"
2039 GALLIUM_PIPE_LOADER_CLIENT_LIBS="$GALLIUM_PIPE_LOADER_CLIENT_LIBS $GALLIUM_PIPE_LOADER_XCB_LIBS $LIBDRM_LIBS"
2043 GALLIUM_PIPE_LOADER_CLIENT_DEFINES="$GALLIUM_PIPE_LOADER_CLIENT_DEFINES $GALLIUM_PIPE_LOADER_DEFINES"
2044 GALLIUM_PIPE_LOADER_CLIENT_LIBS="$GALLIUM_PIPE_LOADER_CLIENT_LIBS $GALLIUM_PIPE_LOADER_LIBS"
2046 AC_SUBST([GALLIUM_PIPE_LOADER_DEFINES])
2047 AC_SUBST([GALLIUM_PIPE_LOADER_LIBS])
2048 AC_SUBST([GALLIUM_PIPE_LOADER_CLIENT_DEFINES])
2049 AC_SUBST([GALLIUM_PIPE_LOADER_CLIENT_LIBS])
2052 AM_CONDITIONAL(HAVE_I915_DRI, test x$HAVE_I915_DRI = xyes)
2053 AM_CONDITIONAL(HAVE_I965_DRI, test x$HAVE_I965_DRI = xyes)
2054 AM_CONDITIONAL(HAVE_NOUVEAU_DRI, test x$HAVE_NOUVEAU_DRI = xyes)
2055 AM_CONDITIONAL(HAVE_R200_DRI, test x$HAVE_R200_DRI = xyes)
2056 AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes)
2057 AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes)
2059 AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$HAVE_GALLIUM_R300" = xyes -o \
2060 "x$HAVE_GALLIUM_R600" = xyes -o \
2061 "x$HAVE_GALLIUM_RADEONSI" = xyes)
2062 AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$NEED_WINSYS_XLIB" = xyes)
2063 AM_CONDITIONAL(NEED_RADEON_LLVM, test x$NEED_RADEON_LLVM = xyes)
2064 AM_CONDITIONAL(USE_R600_LLVM_COMPILER, test x$USE_R600_LLVM_COMPILER = xyes)
2065 AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes)
2066 AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes)
2067 AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
2068 AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1)
2069 AM_CONDITIONAL(USE_VC4_SIMULATOR, test x$USE_VC4_SIMULATOR = xyes)
2070 if test "x$USE_VC4_SIMULATOR" = xyes -a "x$HAVE_GALLIUM_ILO" = xyes; then
2071 AC_MSG_ERROR([VC4 simulator on x86 replaces i965 driver build, so ilo must be disabled.])
2076 AM_CONDITIONAL(DRICOMMON_NEED_LIBDRM, test "x$DRICOMMON_NEED_LIBDRM" = xyes)
2077 AM_CONDITIONAL(HAVE_LIBDRM, test "x$have_libdrm" = xyes)
2078 AM_CONDITIONAL(HAVE_X11_DRIVER, test "x$enable_xlib_glx" = xyes)
2079 AM_CONDITIONAL(HAVE_OSMESA, test "x$enable_osmesa" = xyes)
2080 AM_CONDITIONAL(HAVE_GALLIUM_OSMESA, test "x$enable_gallium_osmesa" = xyes)
2082 AM_CONDITIONAL(HAVE_X86_ASM, test "x$asm_arch" = xx86 -o "x$asm_arch" = xx86_64)
2083 AM_CONDITIONAL(HAVE_X86_64_ASM, test "x$asm_arch" = xx86_64)
2084 AM_CONDITIONAL(HAVE_SPARC_ASM, test "x$asm_arch" = xsparc)
2086 AC_SUBST([NINE_MAJOR], 1)
2087 AC_SUBST([NINE_MINOR], 0)
2089 AC_SUBST([VDPAU_MAJOR], 1)
2090 AC_SUBST([VDPAU_MINOR], 0)
2092 VA_MAJOR=`$PKG_CONFIG --modversion libva | $SED -n 's/\([[^\.]]*\)\..*$/\1/p'`
2093 VA_MINOR=`$PKG_CONFIG --modversion libva | $SED -n 's/.*\.\(.*\)\..*$/\1/p'`
2094 AC_SUBST([VA_MAJOR], $VA_MAJOR)
2095 AC_SUBST([VA_MINOR], $VA_MINOR)
2097 AC_SUBST([XVMC_MAJOR], 1)
2098 AC_SUBST([XVMC_MINOR], 0)
2100 XA_HEADER="$srcdir/src/gallium/state_trackers/xa/xa_tracker.h"
2101 XA_MAJOR=`grep "#define XA_TRACKER_VERSION_MAJOR" $XA_HEADER | $SED 's/^#define XA_TRACKER_VERSION_MAJOR //'`
2102 XA_MINOR=`grep "#define XA_TRACKER_VERSION_MINOR" $XA_HEADER | $SED 's/^#define XA_TRACKER_VERSION_MINOR //'`
2103 XA_TINY=`grep "#define XA_TRACKER_VERSION_PATCH" $XA_HEADER | $SED 's/^#define XA_TRACKER_VERSION_PATCH //'`
2105 AC_SUBST([XA_MAJOR], $XA_MAJOR)
2106 AC_SUBST([XA_MINOR], $XA_MINOR)
2107 AC_SUBST([XA_TINY], $XA_TINY)
2108 AC_SUBST([XA_VERSION], "$XA_MAJOR.$XA_MINOR.$XA_TINY")
2110 dnl Restore LDFLAGS and CPPFLAGS
2111 LDFLAGS="$_SAVE_LDFLAGS"
2112 CPPFLAGS="$_SAVE_CPPFLAGS"
2114 dnl Suppress clang's warnings about unused CFLAGS and CXXFLAGS
2115 if test "x$acv_mesa_CLANG" = xyes; then
2116 CFLAGS="$CFLAGS -Qunused-arguments"
2117 CXXFLAGS="$CXXFLAGS -Qunused-arguments"
2120 dnl Add user CFLAGS and CXXFLAGS
2121 CFLAGS="$CFLAGS $USER_CFLAGS"
2122 CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
2124 dnl Substitute the config
2125 AC_CONFIG_FILES([Makefile
2127 src/egl/drivers/dri2/Makefile
2128 src/egl/main/Makefile
2130 src/egl/wayland/Makefile
2131 src/egl/wayland/wayland-drm/Makefile
2132 src/egl/wayland/wayland-egl/Makefile
2133 src/egl/wayland/wayland-egl/wayland-egl.pc
2134 src/gallium/Makefile
2135 src/gallium/auxiliary/Makefile
2136 src/gallium/auxiliary/pipe-loader/Makefile
2137 src/gallium/drivers/freedreno/Makefile
2138 src/gallium/drivers/galahad/Makefile
2139 src/gallium/drivers/i915/Makefile
2140 src/gallium/drivers/identity/Makefile
2141 src/gallium/drivers/ilo/Makefile
2142 src/gallium/drivers/llvmpipe/Makefile
2143 src/gallium/drivers/noop/Makefile
2144 src/gallium/drivers/nouveau/Makefile
2145 src/gallium/drivers/r300/Makefile
2146 src/gallium/drivers/r600/Makefile
2147 src/gallium/drivers/radeon/Makefile
2148 src/gallium/drivers/radeonsi/Makefile
2149 src/gallium/drivers/rbug/Makefile
2150 src/gallium/drivers/softpipe/Makefile
2151 src/gallium/drivers/svga/Makefile
2152 src/gallium/drivers/trace/Makefile
2153 src/gallium/drivers/vc4/Makefile
2154 src/gallium/drivers/vc4/kernel/Makefile
2155 src/gallium/state_trackers/clover/Makefile
2156 src/gallium/state_trackers/dri/Makefile
2157 src/gallium/state_trackers/glx/xlib/Makefile
2158 src/gallium/state_trackers/nine/Makefile
2159 src/gallium/state_trackers/omx/Makefile
2160 src/gallium/state_trackers/osmesa/Makefile
2161 src/gallium/state_trackers/va/Makefile
2162 src/gallium/state_trackers/vdpau/Makefile
2163 src/gallium/state_trackers/vega/Makefile
2164 src/gallium/state_trackers/xa/Makefile
2165 src/gallium/state_trackers/xvmc/Makefile
2166 src/gallium/targets/d3dadapter9/Makefile
2167 src/gallium/targets/d3dadapter9/d3d.pc
2168 src/gallium/targets/dri/Makefile
2169 src/gallium/targets/egl-static/Makefile
2170 src/gallium/targets/gbm/Makefile
2171 src/gallium/targets/libgl-xlib/Makefile
2172 src/gallium/targets/omx/Makefile
2173 src/gallium/targets/opencl/Makefile
2174 src/gallium/targets/osmesa/Makefile
2175 src/gallium/targets/osmesa/osmesa.pc
2176 src/gallium/targets/pipe-loader/Makefile
2177 src/gallium/targets/va/Makefile
2178 src/gallium/targets/vdpau/Makefile
2179 src/gallium/targets/xa/Makefile
2180 src/gallium/targets/xa/xatracker.pc
2181 src/gallium/targets/xvmc/Makefile
2182 src/gallium/tests/trivial/Makefile
2183 src/gallium/tests/unit/Makefile
2184 src/gallium/winsys/freedreno/drm/Makefile
2185 src/gallium/winsys/i915/drm/Makefile
2186 src/gallium/winsys/intel/drm/Makefile
2187 src/gallium/winsys/nouveau/drm/Makefile
2188 src/gallium/winsys/radeon/drm/Makefile
2189 src/gallium/winsys/svga/drm/Makefile
2190 src/gallium/winsys/sw/dri/Makefile
2191 src/gallium/winsys/sw/fbdev/Makefile
2192 src/gallium/winsys/sw/kms-dri/Makefile
2193 src/gallium/winsys/sw/null/Makefile
2194 src/gallium/winsys/sw/wayland/Makefile
2195 src/gallium/winsys/sw/wrapper/Makefile
2196 src/gallium/winsys/sw/xlib/Makefile
2197 src/gallium/winsys/vc4/drm/Makefile
2202 src/glx/apple/Makefile
2203 src/glx/tests/Makefile
2207 src/mapi/es1api/glesv1_cm.pc
2208 src/mapi/es2api/glesv2.pc
2209 src/mapi/glapi/gen/Makefile
2210 src/mapi/vgapi/Makefile
2211 src/mapi/vgapi/vg.pc
2214 src/mesa/drivers/dri/dri.pc
2215 src/mesa/drivers/dri/common/Makefile
2216 src/mesa/drivers/dri/common/xmlpool/Makefile
2217 src/mesa/drivers/dri/i915/Makefile
2218 src/mesa/drivers/dri/i965/Makefile
2219 src/mesa/drivers/dri/Makefile
2220 src/mesa/drivers/dri/nouveau/Makefile
2221 src/mesa/drivers/dri/r200/Makefile
2222 src/mesa/drivers/dri/radeon/Makefile
2223 src/mesa/drivers/dri/swrast/Makefile
2224 src/mesa/drivers/osmesa/Makefile
2225 src/mesa/drivers/osmesa/osmesa.pc
2226 src/mesa/drivers/x11/Makefile
2227 src/mesa/main/tests/Makefile
2229 src/util/tests/hash_table/Makefile])
2234 dnl Output some configuration info for the user
2237 echo " prefix: $prefix"
2238 echo " exec_prefix: $exec_prefix"
2239 echo " libdir: $libdir"
2240 echo " includedir: $includedir"
2244 echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
2245 echo " OpenVG: $enable_openvg"
2249 case "x$enable_osmesa$enable_gallium_osmesa" in
2251 echo " OSMesa: lib$OSMESA_LIB (Gallium)"
2254 echo " OSMesa: lib$OSMESA_LIB"
2262 if test "x$enable_dri" != xno; then
2263 echo " DRI platform: $dri_platform"
2264 if test -z "$DRI_DIRS"; then
2265 echo " DRI drivers: no"
2267 echo " DRI drivers: $DRI_DIRS"
2269 echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
2272 case "x$enable_glx$enable_xlib_glx" in
2274 echo " GLX: Xlib-based"
2277 echo " GLX: DRI-based"
2280 echo " GLX: $enable_glx"
2286 echo " EGL: $enable_egl"
2287 if test "$enable_egl" = yes; then
2288 echo " EGL platforms: $egl_platforms"
2291 if test "x$HAVE_EGL_DRIVER_DRI2" != "x"; then
2292 egl_drivers="$egl_drivers builtin:egl_dri2"
2295 echo " EGL drivers: $egl_drivers"
2299 if test "x$MESA_LLVM" = x1; then
2301 echo " llvm-config: $LLVM_CONFIG"
2302 echo " llvm-version: $LLVM_VERSION"
2308 if test -n "$with_gallium_drivers"; then
2309 echo " Gallium: yes"
2317 echo " Shared libs: $enable_shared"
2318 echo " Static libs: $enable_static"
2319 echo " Shared-glapi: $enable_shared_glapi"
2321 dnl Compiler options
2322 # cleanup the CFLAGS/CXXFLAGS/DEFINES vars
2323 cflags=`echo $CFLAGS | \
2324 $SED 's/^ *//;s/ */ /;s/ *$//'`
2325 cxxflags=`echo $CXXFLAGS | \
2326 $SED 's/^ *//;s/ */ /;s/ *$//'`
2327 defines=`echo $DEFINES | $SED 's/^ *//;s/ */ /;s/ *$//'`
2329 echo " CFLAGS: $cflags"
2330 echo " CXXFLAGS: $cxxflags"
2331 echo " Macros: $defines"
2333 if test "x$MESA_LLVM" = x1; then
2334 echo " LLVM_CFLAGS: $LLVM_CFLAGS"
2335 echo " LLVM_CXXFLAGS: $LLVM_CXXFLAGS"
2336 echo " LLVM_CPPFLAGS: $LLVM_CPPFLAGS"
2339 echo " PYTHON2: $PYTHON2"
2342 echo " Run '${MAKE-make}' to build Mesa"