Add talloc to osmesa library dependencies
[profile/ivi/mesa.git] / configure.ac
1 dnl Process this file with autoconf to create configure.
2
3 AC_PREREQ([2.59])
4
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`])])
10
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.])
14
15 AC_INIT([Mesa],[mesa_version],
16     [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
17 AC_CONFIG_AUX_DIR([bin])
18 AC_CANONICAL_HOST
19
20 dnl Versions for external dependencies
21 LIBDRM_REQUIRED=2.4.15
22 LIBDRM_RADEON_REQUIRED=2.4.17
23 DRI2PROTO_REQUIRED=2.1
24 GLPROTO_REQUIRED=1.4.11
25 LIBDRM_XORG_REQUIRED=2.4.17
26 LIBKMS_XORG_REQUIRED=1.0.0
27
28 dnl Check for progs
29 AC_PROG_CPP
30 AC_PROG_CC
31 AC_PROG_CXX
32 AC_CHECK_PROGS([MAKE], [gmake make])
33 AC_PATH_PROG([MKDEP], [makedepend])
34 AC_PATH_PROG([SED], [sed])
35
36 dnl Our fallback install-sh is a symlink to minstall. Use the existing
37 dnl configuration in that case.
38 AC_PROG_INSTALL
39 test "x$INSTALL" = "x$ac_install_sh" && INSTALL='$(MINSTALL)'
40
41 dnl We need a POSIX shell for parts of the build. Assume we have one
42 dnl in most cases.
43 case "$host_os" in
44 solaris*)
45     # Solaris /bin/sh is too old/non-POSIX compliant
46     AC_PATH_PROGS(POSIX_SHELL, [ksh93 ksh sh])
47     SHELL="$POSIX_SHELL"
48     ;;
49 esac
50
51 dnl If we're using GCC, make sure that it is at least version 3.3.0.  Older
52 dnl versions are explictly not supported.
53 if test "x$GCC" = xyes; then
54     AC_MSG_CHECKING([whether gcc version is sufficient])
55     major=0
56     minor=0
57
58     GCC_VERSION=`$CC -dumpversion`
59     if test $? -eq 0; then
60         major=`echo $GCC_VERSION | cut -d. -f1`
61         minor=`echo $GCC_VERSION | cut -d. -f1`
62     fi
63
64     if test $major -lt 3 -o $major -eq 3 -a $minor -lt 3 ; then
65         AC_MSG_RESULT([no])
66         AC_MSG_ERROR([If using GCC, version 3.3.0 or later is required.])
67     else
68         AC_MSG_RESULT([yes])
69     fi
70 fi
71
72
73 MKDEP_OPTIONS=-fdepend
74 dnl Ask gcc where it's keeping its secret headers
75 if test "x$GCC" = xyes; then
76     for dir in include include-fixed; do
77         GCC_INCLUDES=`$CC -print-file-name=$dir`
78         if test "x$GCC_INCLUDES" != x && \
79            test "$GCC_INCLUDES" != "$dir" && \
80            test -d "$GCC_INCLUDES"; then
81             MKDEP_OPTIONS="$MKDEP_OPTIONS -I$GCC_INCLUDES"
82         fi
83     done
84 fi
85 AC_SUBST([MKDEP_OPTIONS])
86
87 dnl Make sure the pkg-config macros are defined
88 m4_ifndef([PKG_PROG_PKG_CONFIG],
89     [m4_fatal([Could not locate the pkg-config autoconf macros.
90   These are usually located in /usr/share/aclocal/pkg.m4. If your macros
91   are in a different location, try setting the environment variable
92   ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
93 PKG_PROG_PKG_CONFIG()
94
95 dnl LIB_DIR - library basename
96 LIB_DIR=`echo $libdir | $SED 's%.*/%%'`
97 AC_SUBST([LIB_DIR])
98
99 dnl Cache LDFLAGS so we can add EXTRA_LIB_PATH and restore it later
100 _SAVE_LDFLAGS="$LDFLAGS"
101 AC_ARG_VAR([EXTRA_LIB_PATH],[Extra -L paths for the linker])
102 AC_SUBST([EXTRA_LIB_PATH])
103
104 dnl Cache CPPFLAGS so we can add *_INCLUDES and restore it later
105 _SAVE_CPPFLAGS="$CPPFLAGS"
106 AC_ARG_VAR([X11_INCLUDES],[Extra -I paths for X11 headers])
107 AC_SUBST([X11_INCLUDES])
108
109 dnl Compiler macros
110 DEFINES=""
111 AC_SUBST([DEFINES])
112 case "$host_os" in
113 linux*|*-gnu*|gnu*)
114     DEFINES="$DEFINES -D_GNU_SOURCE -DPTHREADS"
115     ;;
116 solaris*)
117     DEFINES="$DEFINES -DPTHREADS -DSVR4"
118     ;;
119 cygwin*)
120     DEFINES="$DEFINES -DPTHREADS"
121     ;;
122 esac
123
124 dnl Add flags for gcc and g++
125 if test "x$GCC" = xyes; then
126     CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -std=c99 -ffast-math"
127
128     # Enable -fvisibility=hidden if using a gcc that supports it
129     save_CFLAGS="$CFLAGS"
130     AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
131     CFLAGS="$CFLAGS -fvisibility=hidden"
132     AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
133                    [CFLAGS="$save_CFLAGS" ; AC_MSG_RESULT([no])]);
134
135     # Work around aliasing bugs - developers should comment this out
136     CFLAGS="$CFLAGS -fno-strict-aliasing"
137 fi
138 if test "x$GXX" = xyes; then
139     CXXFLAGS="$CXXFLAGS -Wall"
140
141     # Work around aliasing bugs - developers should comment this out
142     CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
143 fi
144
145 dnl These should be unnecessary, but let the user set them if they want
146 AC_ARG_VAR([OPT_FLAGS], [Additional optimization flags for the compiler.
147     Default is to use CFLAGS.])
148 AC_ARG_VAR([ARCH_FLAGS], [Additional architecture specific flags for the
149     compiler. Default is to use CFLAGS.])
150 AC_SUBST([OPT_FLAGS])
151 AC_SUBST([ARCH_FLAGS])
152
153 dnl
154 dnl Hacks to enable 32 or 64 bit build
155 dnl
156 AC_ARG_ENABLE([32-bit],
157     [AS_HELP_STRING([--enable-32-bit],
158         [build 32-bit libraries @<:@default=auto@:>@])],
159     [enable_32bit="$enableval"],
160     [enable_32bit=auto]
161 )
162 if test "x$enable_32bit" = xyes; then
163     if test "x$GCC" = xyes; then
164         CFLAGS="$CFLAGS -m32"
165         ARCH_FLAGS="$ARCH_FLAGS -m32"
166     fi
167     if test "x$GXX" = xyes; then
168         CXXFLAGS="$CXXFLAGS -m32"
169     fi
170 fi
171 AC_ARG_ENABLE([64-bit],
172     [AS_HELP_STRING([--enable-64-bit],
173         [build 64-bit libraries @<:@default=auto@:>@])],
174     [enable_64bit="$enableval"],
175     [enable_64bit=auto]
176 )
177 if test "x$enable_64bit" = xyes; then
178     if test "x$GCC" = xyes; then
179         CFLAGS="$CFLAGS -m64"
180     fi
181     if test "x$GXX" = xyes; then
182         CXXFLAGS="$CXXFLAGS -m64"
183     fi
184 fi
185
186 dnl
187 dnl shared/static libraries, mimic libtool options
188 dnl
189 AC_ARG_ENABLE([static],
190     [AS_HELP_STRING([--enable-static],
191         [build static libraries @<:@default=disabled@:>@])],
192     [enable_static="$enableval"],
193     [enable_static=no]
194 )
195 case "x$enable_static" in
196 xyes|xno ) ;;
197 x ) enable_static=no ;;
198 * )
199     AC_MSG_ERROR([Static library option '$enable_static' is not a valid])
200     ;;
201 esac
202 AC_ARG_ENABLE([shared],
203     [AS_HELP_STRING([--disable-shared],
204         [build shared libraries @<:@default=enabled@:>@])],
205     [enable_shared="$enableval"],
206     [enable_shared=yes]
207 )
208 case "x$enable_shared" in
209 xyes|xno ) ;;
210 x ) enable_shared=yes ;;
211 * )
212     AC_MSG_ERROR([Shared library option '$enable_shared' is not a valid])
213     ;;
214 esac
215
216 dnl Can't have static and shared libraries, default to static if user
217 dnl explicitly requested. If both disabled, set to static since shared
218 dnl was explicitly requirested.
219 case "x$enable_static$enable_shared" in
220 xyesyes )
221     AC_MSG_WARN([Can't build static and shared libraries, disabling shared])
222     enable_shared=no
223     ;;
224 xnono )
225     AC_MSG_WARN([Can't disable both static and shared libraries, enabling static])
226     enable_static=yes
227     ;;
228 esac
229
230 dnl
231 dnl mklib options
232 dnl
233 AC_ARG_VAR([MKLIB_OPTIONS],[Options for the Mesa library script, mklib])
234 if test "$enable_static" = yes; then
235     MKLIB_OPTIONS="$MKLIB_OPTIONS -static"
236 fi
237 AC_SUBST([MKLIB_OPTIONS])
238
239 dnl
240 dnl other compiler options
241 dnl
242 AC_ARG_ENABLE([debug],
243     [AS_HELP_STRING([--enable-debug],
244         [use debug compiler flags and macros @<:@default=disabled@:>@])],
245     [enable_debug="$enableval"],
246     [enable_debug=no]
247 )
248 if test "x$enable_debug" = xyes; then
249     DEFINES="$DEFINES -DDEBUG"
250     if test "x$GCC" = xyes; then
251         CFLAGS="$CFLAGS -g"
252     fi
253     if test "x$GXX" = xyes; then
254         CXXFLAGS="$CXXFLAGS -g"
255     fi
256 fi
257
258 dnl
259 dnl library names
260 dnl
261 if test "$enable_static" = yes; then
262     LIB_EXTENSION='a'
263 else
264     case "$host_os" in
265     darwin* )
266         LIB_EXTENSION='dylib' ;;
267     cygwin* )
268         LIB_EXTENSION='dll.a' ;;
269     aix* )
270         LIB_EXTENSION='a' ;;
271     * )
272         LIB_EXTENSION='so' ;;
273     esac
274 fi
275
276 GL_LIB_NAME='lib$(GL_LIB).'${LIB_EXTENSION}
277 GLU_LIB_NAME='lib$(GLU_LIB).'${LIB_EXTENSION}
278 GLUT_LIB_NAME='lib$(GLUT_LIB).'${LIB_EXTENSION}
279 GLW_LIB_NAME='lib$(GLW_LIB).'${LIB_EXTENSION}
280 OSMESA_LIB_NAME='lib$(OSMESA_LIB).'${LIB_EXTENSION}
281 EGL_LIB_NAME='lib$(EGL_LIB).'${LIB_EXTENSION}
282 GLESv1_CM_LIB_NAME='lib$(GLESv1_CM_LIB).'${LIB_EXTENSION}
283 GLESv2_LIB_NAME='lib$(GLESv2_LIB).'${LIB_EXTENSION}
284 VG_LIB_NAME='lib$(VG_LIB).'${LIB_EXTENSION}
285
286 GL_LIB_GLOB='lib$(GL_LIB).*'${LIB_EXTENSION}'*'
287 GLU_LIB_GLOB='lib$(GLU_LIB).*'${LIB_EXTENSION}'*'
288 GLUT_LIB_GLOB='lib$(GLUT_LIB).*'${LIB_EXTENSION}'*'
289 GLW_LIB_GLOB='lib$(GLW_LIB).*'${LIB_EXTENSION}'*'
290 OSMESA_LIB_GLOB='lib$(OSMESA_LIB).*'${LIB_EXTENSION}'*'
291 EGL_LIB_GLOB='lib$(EGL_LIB).*'${LIB_EXTENSION}'*'
292 GLESv1_CM_LIB_GLOB='lib$(GLESv1_CM_LIB).*'${LIB_EXTENSION}'*'
293 GLESv2_LIB_GLOB='lib$(GLESv2_LIB).*'${LIB_EXTENSION}'*'
294 VG_LIB_GLOB='lib$(VG_LIB).*'${LIB_EXTENSION}'*'
295
296 AC_SUBST([GL_LIB_NAME])
297 AC_SUBST([GLU_LIB_NAME])
298 AC_SUBST([GLUT_LIB_NAME])
299 AC_SUBST([GLW_LIB_NAME])
300 AC_SUBST([OSMESA_LIB_NAME])
301 AC_SUBST([EGL_LIB_NAME])
302 AC_SUBST([GLESv1_CM_LIB_NAME])
303 AC_SUBST([GLESv2_LIB_NAME])
304 AC_SUBST([VG_LIB_NAME])
305
306 AC_SUBST([GL_LIB_GLOB])
307 AC_SUBST([GLU_LIB_GLOB])
308 AC_SUBST([GLUT_LIB_GLOB])
309 AC_SUBST([GLW_LIB_GLOB])
310 AC_SUBST([OSMESA_LIB_GLOB])
311 AC_SUBST([EGL_LIB_GLOB])
312 AC_SUBST([GLESv1_CM_LIB_GLOB])
313 AC_SUBST([GLESv2_LIB_GLOB])
314 AC_SUBST([VG_LIB_GLOB])
315
316 dnl
317 dnl Arch/platform-specific settings
318 dnl
319 AC_ARG_ENABLE([asm],
320     [AS_HELP_STRING([--disable-asm],
321         [disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
322     [enable_asm="$enableval"],
323     [enable_asm=yes]
324 )
325 asm_arch=""
326 ASM_FLAGS=""
327 MESA_ASM_SOURCES=""
328 GLAPI_ASM_SOURCES=""
329 AC_MSG_CHECKING([whether to enable assembly])
330 test "x$enable_asm" = xno && AC_MSG_RESULT([no])
331 # disable if cross compiling on x86/x86_64 since we must run gen_matypes
332 if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
333     case "$host_cpu" in
334     i?86 | x86_64)
335         enable_asm=no
336         AC_MSG_RESULT([no, cross compiling])
337         ;;
338     esac
339 fi
340 # check for supported arches
341 if test "x$enable_asm" = xyes; then
342     case "$host_cpu" in
343     i?86)
344         case "$host_os" in
345         linux* | *freebsd* | dragonfly*)
346             test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86
347             ;;
348         esac
349         ;;
350     x86_64)
351         case "$host_os" in
352         linux* | *freebsd* | dragonfly*)
353             test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
354             ;;
355         esac
356         ;;
357     powerpc)
358         case "$host_os" in
359         linux*)
360             asm_arch=ppc
361             ;;
362         esac
363         ;;
364     sparc*)
365         case "$host_os" in
366         linux*)
367             asm_arch=sparc
368             ;;
369         esac
370         ;;
371     esac
372
373     case "$asm_arch" in
374     x86)
375         ASM_FLAGS="-DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
376         MESA_ASM_SOURCES='$(X86_SOURCES)'
377         GLAPI_ASM_SOURCES='$(X86_API)'
378         AC_MSG_RESULT([yes, x86])
379         ;;
380     x86_64)
381         ASM_FLAGS="-DUSE_X86_64_ASM"
382         MESA_ASM_SOURCES='$(X86-64_SOURCES)'
383         GLAPI_ASM_SOURCES='$(X86-64_API)'
384         AC_MSG_RESULT([yes, x86_64])
385         ;;
386     ppc)
387         ASM_FLAGS="-DUSE_PPC_ASM -DUSE_VMX_ASM"
388         MESA_ASM_SOURCES='$(PPC_SOURCES)'
389         AC_MSG_RESULT([yes, ppc])
390         ;;
391     sparc)
392         ASM_FLAGS="-DUSE_SPARC_ASM"
393         MESA_ASM_SOURCES='$(SPARC_SOURCES)'
394         GLAPI_ASM_SOURCES='$(SPARC_API)'
395         AC_MSG_RESULT([yes, sparc])
396         ;;
397     *)
398         AC_MSG_RESULT([no, platform not supported])
399         ;;
400     esac
401 fi
402 AC_SUBST([ASM_FLAGS])
403 AC_SUBST([MESA_ASM_SOURCES])
404 AC_SUBST([GLAPI_ASM_SOURCES])
405
406 dnl PIC code macro
407 MESA_PIC_FLAGS
408
409 dnl Check to see if dlopen is in default libraries (like Solaris, which
410 dnl has it in libc), or if libdl is needed to get it.
411 AC_CHECK_FUNC([dlopen], [],
412     [AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])])
413 AC_SUBST([DLOPEN_LIBS])
414
415 dnl See if posix_memalign is available
416 AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
417
418 dnl SELinux awareness.
419 AC_ARG_ENABLE([selinux],
420     [AS_HELP_STRING([--enable-selinux],
421         [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
422     [MESA_SELINUX="$enableval"],
423     [MESA_SELINUX=no])
424 if test "x$enable_selinux" = "xyes"; then
425     AC_CHECK_HEADER([selinux/selinux.h],[],
426                     [AC_MSG_ERROR([SELinux headers not found])])
427     AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
428                  [AC_MSG_ERROR([SELinux library not found])])
429     SELINUX_LIBS="-lselinux"
430     DEFINES="$DEFINES -DMESA_SELINUX"
431 fi
432
433 dnl
434 dnl Driver configuration. Options are xlib, dri and osmesa right now.
435 dnl More later: fbdev, ...
436 dnl
437 default_driver="xlib"
438
439 case "$host_os" in
440 linux*)
441     case "$host_cpu" in
442     i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
443     esac
444     ;;
445 *freebsd* | dragonfly*)
446     case "$host_cpu" in
447     i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
448     esac
449     ;;
450 esac
451
452 AC_ARG_WITH([driver],
453     [AS_HELP_STRING([--with-driver=DRIVER],
454         [driver for Mesa: xlib,dri,osmesa @<:@default=dri when available, or xlib@:>@])],
455     [mesa_driver="$withval"],
456     [mesa_driver="$default_driver"])
457 dnl Check for valid option
458 case "x$mesa_driver" in
459 xxlib|xdri|xosmesa)
460     ;;
461 *)
462     AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option])
463     ;;
464 esac
465
466 PKG_CHECK_MODULES([TALLOC], [talloc])
467 AC_SUBST([TALLOC_LIBS])
468 AC_SUBST([TALLOC_CFLAGS])
469
470 dnl
471 dnl Driver specific build directories
472 dnl
473
474 dnl this variable will be prepended to SRC_DIRS and is not exported
475 CORE_DIRS="mapi/glapi glsl mesa"
476
477 SRC_DIRS=""
478 GLU_DIRS="sgi"
479 GALLIUM_DIRS="auxiliary drivers state_trackers"
480 GALLIUM_TARGET_DIRS=""
481 GALLIUM_WINSYS_DIRS="sw"
482 GALLIUM_DRIVERS_DIRS="softpipe failover galahad trace rbug identity"
483 GALLIUM_STATE_TRACKERS_DIRS=""
484
485 case "$mesa_driver" in
486 xlib)
487     DRIVER_DIRS="x11"
488     GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
489     GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
490     ;;
491 dri)
492     SRC_DIRS="$SRC_DIRS glx"
493     DRIVER_DIRS="dri"
494     GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib sw/dri"
495     ;;
496 osmesa)
497     DRIVER_DIRS="osmesa"
498     ;;
499 esac
500 AC_SUBST([SRC_DIRS])
501 AC_SUBST([GLU_DIRS])
502 AC_SUBST([DRIVER_DIRS])
503 AC_SUBST([GALLIUM_DIRS])
504 AC_SUBST([GALLIUM_TARGET_DIRS])
505 AC_SUBST([GALLIUM_WINSYS_DIRS])
506 AC_SUBST([GALLIUM_DRIVERS_DIRS])
507 AC_SUBST([GALLIUM_STATE_TRACKERS_DIRS])
508 AC_SUBST([MESA_LLVM])
509
510 dnl
511 dnl Find out if X is available. The variable have_x is set if libX11 is
512 dnl found to mimic AC_PATH_XTRA.
513 dnl
514 if test -n "$PKG_CONFIG"; then
515     AC_MSG_CHECKING([pkg-config files for X11 are available])
516     PKG_CHECK_EXISTS([x11],[
517         x11_pkgconfig=yes
518         have_x=yes
519         ],[
520         x11_pkgconfig=no
521     ])
522     AC_MSG_RESULT([$x11_pkgconfig])
523 else
524     x11_pkgconfig=no
525 fi
526 dnl Use the autoconf macro if no pkg-config files
527 if test "$x11_pkgconfig" = yes; then
528     PKG_CHECK_MODULES([X11], [x11])
529 else
530     AC_PATH_XTRA
531     test -z "$X11_CFLAGS" && X11_CFLAGS="$X_CFLAGS"
532     test -z "$X11_LIBS" && X11_LIBS="$X_LIBS -lX11"
533     AC_SUBST([X11_CFLAGS])
534     AC_SUBST([X11_LIBS])
535 fi
536
537 dnl Try to tell the user that the --x-* options are only used when
538 dnl pkg-config is not available. This must be right after AC_PATH_XTRA.
539 m4_divert_once([HELP_BEGIN],
540 [These options are only used when the X libraries cannot be found by the
541 pkg-config utility.])
542
543 dnl We need X for xlib and dri, so bomb now if it's not found
544 case "$mesa_driver" in
545 xlib|dri)
546     if test "$no_x" = yes; then
547         AC_MSG_ERROR([X11 development libraries needed for $mesa_driver driver])
548     fi
549     ;;
550 esac
551
552 dnl XCB - this is only used for GLX right now
553 AC_ARG_ENABLE([xcb],
554     [AS_HELP_STRING([--enable-xcb],
555         [use XCB for GLX @<:@default=disabled@:>@])],
556     [enable_xcb="$enableval"],
557     [enable_xcb=no])
558 if test "x$enable_xcb" = xyes; then
559     DEFINES="$DEFINES -DUSE_XCB"
560 else
561     enable_xcb=no
562 fi
563
564 dnl
565 dnl libGL configuration per driver
566 dnl
567 case "$mesa_driver" in
568 xlib)
569     if test "$x11_pkgconfig" = yes; then
570         PKG_CHECK_MODULES([XLIBGL], [x11 xext])
571         GL_PC_REQ_PRIV="x11 xext"
572         X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
573         GL_LIB_DEPS="$XLIBGL_LIBS"
574     else
575         # should check these...
576         X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
577         GL_LIB_DEPS="$X_LIBS -lX11 -lXext"
578         GL_PC_LIB_PRIV="$GL_LIB_DEPS"
579         GL_PC_CFLAGS="$X11_INCLUDES"
580     fi
581     GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread $TALLOC_LIBS"
582     GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm -lpthread $TALLOC_LIBS"
583
584     # if static, move the external libraries to the programs
585     # and empty the libraries for libGL
586     if test "$enable_static" = yes; then
587         APP_LIB_DEPS="$APP_LIB_DEPS $GL_LIB_DEPS"
588         GL_LIB_DEPS=""
589     fi
590     ;;
591 dri)
592     # DRI must be shared, I think
593     if test "$enable_static" = yes; then
594         AC_MSG_ERROR([Can't use static libraries for DRI drivers])
595     fi
596
597     # Check for libdrm
598     PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
599     PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
600     PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
601     GL_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED glproto >= $GLPROTO_REQUIRED"
602     DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
603
604     # find the DRI deps for libGL
605     if test "$x11_pkgconfig" = yes; then
606         # add xcb modules if necessary
607         dri_modules="x11 xext xxf86vm xdamage xfixes"
608         if test "$enable_xcb" = yes; then
609             dri_modules="$dri_modules x11-xcb xcb-glx"
610         fi
611
612         PKG_CHECK_MODULES([DRIGL], [$dri_modules])
613         GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
614         X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
615         GL_LIB_DEPS="$DRIGL_LIBS"
616     else
617         # should check these...
618         X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
619         GL_LIB_DEPS="$X_LIBS -lX11 -lXext -lXxf86vm -lXdamage -lXfixes"
620         GL_PC_LIB_PRIV="$GL_LIB_DEPS"
621         GL_PC_CFLAGS="$X11_INCLUDES"
622
623         # XCB can only be used from pkg-config
624         if test "$enable_xcb" = yes; then
625             PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx])
626             GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV x11-xcb xcb-glx"
627             X11_INCLUDES="$X11_INCLUDES $XCB_CFLAGS"
628             GL_LIB_DEPS="$GL_LIB_DEPS $XCB_LIBS"
629         fi
630     fi
631
632     # need DRM libs, -lpthread, etc.
633     GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
634     GL_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
635     GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
636     GLESv1_CM_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
637     GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
638     GLESv2_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
639     ;;
640 osmesa)
641     # No libGL for osmesa
642     GL_LIB_DEPS=""
643     ;;
644 esac
645 AC_SUBST([GL_LIB_DEPS])
646 AC_SUBST([GL_PC_REQ_PRIV])
647 AC_SUBST([GL_PC_LIB_PRIV])
648 AC_SUBST([GL_PC_CFLAGS])
649 AC_SUBST([DRI_PC_REQ_PRIV])
650 AC_SUBST([GLESv1_CM_LIB_DEPS])
651 AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
652 AC_SUBST([GLESv2_LIB_DEPS])
653 AC_SUBST([GLESv2_PC_LIB_PRIV])
654
655
656 dnl
657 dnl More X11 setup
658 dnl
659 if test "$mesa_driver" = xlib; then
660     DEFINES="$DEFINES -DUSE_XSHM"
661 fi
662
663 dnl
664 dnl More DRI setup
665 dnl
666 AC_ARG_ENABLE([glx-tls],
667     [AS_HELP_STRING([--enable-glx-tls],
668         [enable TLS support in GLX @<:@default=disabled@:>@])],
669     [GLX_USE_TLS="$enableval"],
670     [GLX_USE_TLS=no])
671 dnl Directory for DRI drivers
672 AC_ARG_WITH([dri-driverdir],
673     [AS_HELP_STRING([--with-dri-driverdir=DIR],
674         [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
675     [DRI_DRIVER_INSTALL_DIR="$withval"],
676     [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
677 AC_SUBST([DRI_DRIVER_INSTALL_DIR])
678 dnl Extra search path for DRI drivers
679 AC_ARG_WITH([dri-searchpath],
680     [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
681         [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
682     [DRI_DRIVER_SEARCH_DIR="$withval"],
683     [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
684 AC_SUBST([DRI_DRIVER_SEARCH_DIR])
685 dnl Direct rendering or just indirect rendering
686 AC_ARG_ENABLE([driglx-direct],
687     [AS_HELP_STRING([--disable-driglx-direct],
688         [enable direct rendering in GLX and EGL for DRI @<:@default=enabled@:>@])],
689     [driglx_direct="$enableval"],
690     [driglx_direct="yes"])
691 dnl Which drivers to build - default is chosen by platform
692 AC_ARG_WITH([dri-drivers],
693     [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
694         [comma delimited DRI drivers list, e.g.
695         "swrast,i965,radeon" @<:@default=auto@:>@])],
696     [with_dri_drivers="$withval"],
697     [with_dri_drivers=yes])
698 if test "x$with_dri_drivers" = x; then
699     with_dri_drivers=no
700 fi
701
702 dnl Determine which APIs to support
703 AC_ARG_ENABLE([opengl],
704     [AS_HELP_STRING([--disable-opengl],
705         [disable support for standard OpenGL API @<:@default=no@:>@])],
706     [enable_opengl="$enableval"],
707     [enable_opengl=yes])
708 AC_ARG_ENABLE([gles1],
709     [AS_HELP_STRING([--enable-gles1],
710         [enable support for OpenGL ES 1.x API @<:@default=no@:>@])],
711     [enable_gles1="$enableval"],
712     [enable_gles1=no])
713 AC_ARG_ENABLE([gles2],
714     [AS_HELP_STRING([--enable-gles2],
715         [enable support for OpenGL ES 2.x API @<:@default=no@:>@])],
716     [enable_gles2="$enableval"],
717     [enable_gles2=no])
718 AC_ARG_ENABLE([gles-overlay],
719     [AS_HELP_STRING([--enable-gles-overlay],
720         [build separate OpenGL ES only libraries @<:@default=no@:>@])],
721     [enable_gles_overlay="$enableval"],
722     [enable_gles_overlay=no])
723
724 API_DEFINES=""
725 GLES_OVERLAY=0
726 if test "x$enable_opengl" = xno; then
727     API_DEFINES="$API_DEFINES -DFEATURE_GL=0"
728 else
729     API_DEFINES="$API_DEFINES -DFEATURE_GL=1"
730 fi
731 if test "x$enable_gles1" = xyes; then
732     API_DEFINES="$API_DEFINES -DFEATURE_ES1=1"
733 fi
734 if test "x$enable_gles2" = xyes; then
735     API_DEFINES="$API_DEFINES -DFEATURE_ES2=1"
736 fi
737 if test "x$enable_gles_overlay" = xyes -o \
738     "x$enable_gles1" = xyes -o "x$enable_gles2" = xyes; then
739     CORE_DIRS="mapi/es1api mapi/es2api $CORE_DIRS"
740     if test "x$enable_gles_overlay" = xyes; then
741         GLES_OVERLAY=1
742     fi
743 fi
744 AC_SUBST([API_DEFINES])
745 AC_SUBST([GLES_OVERLAY])
746
747 dnl If $with_dri_drivers is yes, directories will be added through
748 dnl platform checks
749 DRI_DIRS=""
750 case "$with_dri_drivers" in
751 no) ;;
752 yes)
753     DRI_DIRS="yes"
754     ;;
755 *)
756     # verify the requested driver directories exist
757     dri_drivers=`IFS=', '; echo $with_dri_drivers`
758     for driver in $dri_drivers; do
759         test -d "$srcdir/src/mesa/drivers/dri/$driver" || \
760             AC_MSG_ERROR([DRI driver directory '$driver' doesn't exist])
761     done
762     DRI_DIRS="$dri_drivers"
763     ;;
764 esac
765
766 dnl Set DRI_DIRS, DEFINES and LIB_DEPS
767 if test "$mesa_driver" = dri; then
768     # Use TLS in GLX?
769     if test "x$GLX_USE_TLS" = xyes; then
770         DEFINES="$DEFINES -DGLX_USE_TLS -DPTHREADS"
771     fi
772
773     # Platform specific settings and drivers to build
774     case "$host_os" in
775     linux*)
776         DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
777         if test "x$driglx_direct" = xyes; then
778             DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
779         fi
780         DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
781
782         case "$host_cpu" in
783         x86_64)
784             # sis is missing because they have not be converted to use
785             # the new interface.  i810 are missing because there is no
786             # x86-64 system where they could *ever* be used.
787             if test "x$DRI_DIRS" = "xyes"; then
788                 DRI_DIRS="i915 i965 mach64 mga r128 r200 r300 r600 radeon \
789                     savage tdfx unichrome swrast"
790             fi
791             ;;
792         powerpc*)
793             # Build only the drivers for cards that exist on PowerPC.
794             # At some point MGA will be added, but not yet.
795             if test "x$DRI_DIRS" = "xyes"; then
796                 DRI_DIRS="mach64 r128 r200 r300 r600 radeon tdfx swrast"
797             fi
798             ;;
799         sparc*)
800             # Build only the drivers for cards that exist on sparc`
801             if test "x$DRI_DIRS" = "xyes"; then
802                 DRI_DIRS="mach64 r128 r200 r300 r600 radeon swrast"
803             fi
804             ;;
805         esac
806         ;;
807     freebsd* | dragonfly*)
808         DEFINES="$DEFINES -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1"
809         DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS"
810         DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
811         if test "x$driglx_direct" = xyes; then
812             DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
813         fi
814         if test "x$GXX" = xyes; then
815             CXXFLAGS="$CXXFLAGS -ansi -pedantic"
816         fi
817
818         if test "x$DRI_DIRS" = "xyes"; then
819             DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon tdfx \
820                 unichrome savage sis swrast"
821         fi
822         ;;
823     gnu*)
824         DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
825         DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
826         ;;
827     solaris*)
828         DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
829         DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
830         if test "x$driglx_direct" = xyes; then
831             DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
832         fi
833         ;;
834     esac
835
836     # default drivers
837     if test "x$DRI_DIRS" = "xyes"; then
838         DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon \
839             savage sis tdfx unichrome swrast"
840     fi
841
842     DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/  */ /g'`
843
844     # Check for expat
845     EXPAT_INCLUDES=""
846     EXPAT_LIB=-lexpat
847     AC_ARG_WITH([expat],
848         [AS_HELP_STRING([--with-expat=DIR],
849             [expat install directory])],[
850         EXPAT_INCLUDES="-I$withval/include"
851         CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES"
852         LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR"
853         EXPAT_LIB="-L$withval/$LIB_DIR -lexpat"
854         ])
855     AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])])
856     AC_CHECK_LIB([expat],[XML_ParserCreate],[],
857         [AC_MSG_ERROR([Expat required for DRI.])])
858
859     # put all the necessary libs together
860     DRI_LIB_DEPS="$SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread $DLOPEN_LIBS $TALLOC_LIBS"
861 fi
862 AC_SUBST([DRI_DIRS])
863 AC_SUBST([EXPAT_INCLUDES])
864 AC_SUBST([DRI_LIB_DEPS])
865
866 case $DRI_DIRS in
867 *i915*|*i965*)
868     PKG_CHECK_MODULES([INTEL], [libdrm_intel >= 2.4.21])
869     ;;
870 esac
871
872 case $DRI_DIRS in
873 *radeon*|*r200*|*r300*|*r600*)
874     PKG_CHECK_MODULES([LIBDRM_RADEON],
875                       [libdrm_radeon libdrm >= $LIBDRM_RADEON_REQUIRED],
876                       HAVE_LIBDRM_RADEON=yes,
877                       HAVE_LIBDRM_RADEON=no)
878
879     if test "$HAVE_LIBDRM_RADEON" = yes; then
880         RADEON_CFLAGS="-DHAVE_LIBDRM_RADEON=1 $LIBDRM_RADEON_CFLAGS"
881         RADEON_LDFLAGS=$LIBDRM_RADEON_LIBS
882     fi
883     ;;
884 esac
885 AC_SUBST([RADEON_CFLAGS])
886 AC_SUBST([RADEON_LDFLAGS])
887
888
889 dnl
890 dnl OSMesa configuration
891 dnl
892 if test "$mesa_driver" = xlib; then
893     default_gl_osmesa=yes
894 else
895     default_gl_osmesa=no
896 fi
897 AC_ARG_ENABLE([gl-osmesa],
898     [AS_HELP_STRING([--enable-gl-osmesa],
899         [enable OSMesa with libGL @<:@default=enabled for xlib driver@:>@])],
900     [gl_osmesa="$enableval"],
901     [gl_osmesa="$default_gl_osmesa"])
902 if test "x$gl_osmesa" = xyes; then
903     if test "$mesa_driver" = osmesa; then
904         AC_MSG_ERROR([libGL is not available for OSMesa driver])
905     else
906         DRIVER_DIRS="$DRIVER_DIRS osmesa"
907     fi
908 fi
909
910 dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
911 AC_ARG_WITH([osmesa-bits],
912     [AS_HELP_STRING([--with-osmesa-bits=BITS],
913         [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
914     [osmesa_bits="$withval"],
915     [osmesa_bits=8])
916 if test "$mesa_driver" != osmesa && test "x$osmesa_bits" != x8; then
917     AC_MSG_WARN([Ignoring OSMesa channel bits for non-OSMesa driver])
918     osmesa_bits=8
919 fi
920 case "x$osmesa_bits" in
921 x8)
922     OSMESA_LIB=OSMesa
923     ;;
924 x16|x32)
925     OSMESA_LIB="OSMesa$osmesa_bits"
926     DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
927     ;;
928 *)
929     AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
930     ;;
931 esac
932 AC_SUBST([OSMESA_LIB])
933
934 case "$DRIVER_DIRS" in
935 *osmesa*)
936     # only link libraries with osmesa if shared
937     if test "$enable_static" = no; then
938         OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS $TALLOC_LIBS"
939     else
940         OSMESA_LIB_DEPS=""
941     fi
942     OSMESA_MESA_DEPS=""
943     OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS $TALLOC_LIBS"
944     ;;
945 esac
946 AC_SUBST([OSMESA_LIB_DEPS])
947 AC_SUBST([OSMESA_MESA_DEPS])
948 AC_SUBST([OSMESA_PC_REQ])
949 AC_SUBST([OSMESA_PC_LIB_PRIV])
950
951 dnl
952 dnl EGL configuration
953 dnl
954 AC_ARG_ENABLE([egl],
955     [AS_HELP_STRING([--disable-egl],
956         [disable EGL library @<:@default=enabled@:>@])],
957     [enable_egl="$enableval"],
958     [enable_egl=yes])
959 if test "x$enable_egl" = xyes; then
960     SRC_DIRS="$SRC_DIRS egl"
961     EGL_LIB_DEPS="$DLOPEN_LIBS -lpthread"
962     EGL_DRIVERS_DIRS=""
963     if test "$enable_static" != yes; then
964         # build egl_glx when libGL is built
965         if test "$mesa_driver" != osmesa; then
966             EGL_DRIVERS_DIRS="glx"
967         fi
968
969         if test "$mesa_driver" = dri; then
970             # build egl_dri2 when xcb-dri2 is available
971             PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 xcb-xfixes],
972                           [have_xcb_dri2=yes],[have_xcb_dri2=no])
973             PKG_CHECK_MODULES([LIBUDEV], [libudev > 150],
974                           [have_libudev=yes],[have_libudev=no])
975             
976             if test "$have_xcb_dri2" = yes; then
977                 EGL_DRIVER_DRI2=dri2
978                 DEFINES="$DEFINES -DHAVE_XCB_DRI2"
979                 if test "$have_libudev" = yes; then
980                     DEFINES="$DEFINES -DHAVE_LIBUDEV"
981                 fi
982             fi
983         fi
984
985         EGL_DRIVERS_DIRS="$EGL_DRIVERS_DIRS $EGL_DRIVER_DRI2"
986     fi
987 fi
988 AC_SUBST([EGL_LIB_DEPS])
989 AC_SUBST([EGL_DRIVERS_DIRS])
990
991 dnl
992 dnl GLU configuration
993 dnl
994 AC_ARG_ENABLE([glu],
995     [AS_HELP_STRING([--disable-glu],
996         [enable OpenGL Utility library @<:@default=enabled@:>@])],
997     [enable_glu="$enableval"],
998     [enable_glu=yes])
999 if test "x$enable_glu" = xyes; then
1000     SRC_DIRS="$SRC_DIRS glu"
1001
1002     case "$mesa_driver" in
1003     osmesa)
1004         # Link libGLU to libOSMesa instead of libGL
1005         GLU_LIB_DEPS=""
1006         GLU_PC_REQ="osmesa"
1007         if test "$enable_static" = no; then
1008             GLU_MESA_DEPS='-l$(OSMESA_LIB)'
1009         else
1010             GLU_MESA_DEPS=""
1011         fi
1012         ;;
1013     *)
1014         # If static, empty GLU_LIB_DEPS and add libs for programs to link
1015         GLU_PC_REQ="gl"
1016         GLU_PC_LIB_PRIV="-lm"
1017         if test "$enable_static" = no; then
1018             GLU_LIB_DEPS="-lm"
1019             GLU_MESA_DEPS='-l$(GL_LIB)'
1020         else
1021             GLU_LIB_DEPS=""
1022             GLU_MESA_DEPS=""
1023             APP_LIB_DEPS="$APP_LIB_DEPS -lstdc++"
1024         fi
1025         ;;
1026     esac
1027 fi
1028 if test "$enable_static" = no; then
1029     GLU_LIB_DEPS="$GLU_LIB_DEPS $OS_CPLUSPLUS_LIBS"
1030 fi
1031 GLU_PC_LIB_PRIV="$GLU_PC_LIB_PRIV $OS_CPLUSPLUS_LIBS"
1032 AC_SUBST([GLU_LIB_DEPS])
1033 AC_SUBST([GLU_MESA_DEPS])
1034 AC_SUBST([GLU_PC_REQ])
1035 AC_SUBST([GLU_PC_REQ_PRIV])
1036 AC_SUBST([GLU_PC_LIB_PRIV])
1037 AC_SUBST([GLU_PC_CFLAGS])
1038
1039 dnl
1040 dnl GLw configuration
1041 dnl
1042 AC_ARG_ENABLE([glw],
1043     [AS_HELP_STRING([--disable-glw],
1044         [enable Xt/Motif widget library @<:@default=enabled@:>@])],
1045     [enable_glw="$enableval"],
1046     [enable_glw=yes])
1047 dnl Don't build GLw on osmesa
1048 if test "x$enable_glw" = xyes && test "$mesa_driver" = osmesa; then
1049     AC_MSG_WARN([Disabling GLw since the driver is OSMesa])
1050     enable_glw=no
1051 fi
1052 AC_ARG_ENABLE([motif],
1053     [AS_HELP_STRING([--enable-motif],
1054         [use Motif widgets in GLw @<:@default=disabled@:>@])],
1055     [enable_motif="$enableval"],
1056     [enable_motif=no])
1057
1058 if test "x$enable_glw" = xyes; then
1059     SRC_DIRS="$SRC_DIRS glw"
1060     if test "$x11_pkgconfig" = yes; then
1061         PKG_CHECK_MODULES([GLW],[x11 xt])
1062         GLW_PC_REQ_PRIV="x11 xt"
1063         GLW_LIB_DEPS="$GLW_LIBS"
1064     else
1065         # should check these...
1066         GLW_LIB_DEPS="$X_LIBS -lXt -lX11"
1067         GLW_PC_LIB_PRIV="$GLW_LIB_DEPS"
1068         GLW_PC_CFLAGS="$X11_INCLUDES"
1069     fi
1070
1071     GLW_SOURCES="GLwDrawA.c"
1072     MOTIF_CFLAGS=
1073     if test "x$enable_motif" = xyes; then
1074         GLW_SOURCES="$GLW_SOURCES GLwMDrawA.c"
1075         AC_PATH_PROG([MOTIF_CONFIG], [motif-config], [no])
1076         if test "x$MOTIF_CONFIG" != xno; then
1077             MOTIF_CFLAGS=`$MOTIF_CONFIG --cflags`
1078             MOTIF_LIBS=`$MOTIF_CONFIG --libs`
1079         else
1080             AC_CHECK_HEADER([Xm/PrimitiveP.h], [],
1081                 [AC_MSG_ERROR([Can't locate Motif headers])])
1082             AC_CHECK_LIB([Xm], [XmGetPixmap], [MOTIF_LIBS="-lXm"],
1083                 [AC_MSG_ERROR([Can't locate Motif Xm library])])
1084         fi
1085         # MOTIF_LIBS is prepended to GLW_LIB_DEPS since Xm needs Xt/X11
1086         GLW_LIB_DEPS="$MOTIF_LIBS $GLW_LIB_DEPS"
1087         GLW_PC_LIB_PRIV="$MOTIF_LIBS $GLW_PC_LIB_PRIV"
1088         GLW_PC_CFLAGS="$MOTIF_CFLAGS $GLW_PC_CFLAGS"
1089     fi
1090
1091     # If static, empty GLW_LIB_DEPS and add libs for programs to link
1092     GLW_PC_LIB_PRIV="$GLW_PC_LIB_PRIV"
1093     if test "$enable_static" = no; then
1094         GLW_MESA_DEPS='-l$(GL_LIB)'
1095         GLW_LIB_DEPS="$GLW_LIB_DEPS"
1096     else
1097         APP_LIB_DEPS="$APP_LIB_DEPS $GLW_LIB_DEPS"
1098         GLW_LIB_DEPS=""
1099         GLW_MESA_DEPS=""
1100     fi
1101 fi
1102 AC_SUBST([GLW_LIB_DEPS])
1103 AC_SUBST([GLW_MESA_DEPS])
1104 AC_SUBST([GLW_SOURCES])
1105 AC_SUBST([MOTIF_CFLAGS])
1106 AC_SUBST([GLW_PC_REQ_PRIV])
1107 AC_SUBST([GLW_PC_LIB_PRIV])
1108 AC_SUBST([GLW_PC_CFLAGS])
1109
1110 dnl
1111 dnl GLUT configuration
1112 dnl
1113 if test -f "$srcdir/include/GL/glut.h"; then
1114     default_glut=yes
1115 else
1116     default_glut=no
1117 fi
1118 AC_ARG_ENABLE([glut],
1119     [AS_HELP_STRING([--disable-glut],
1120         [enable GLUT library @<:@default=enabled if source available@:>@])],
1121     [enable_glut="$enableval"],
1122     [enable_glut="$default_glut"])
1123
1124 dnl Can't build glut if GLU not available
1125 if test "x$enable_glu$enable_glut" = xnoyes; then
1126     AC_MSG_WARN([Disabling glut since GLU is disabled])
1127     enable_glut=no
1128 fi
1129 dnl Don't build glut on osmesa
1130 if test "x$enable_glut" = xyes && test "$mesa_driver" = osmesa; then
1131     AC_MSG_WARN([Disabling glut since the driver is OSMesa])
1132     enable_glut=no
1133 fi
1134
1135 if test "x$enable_glut" = xyes; then
1136     SRC_DIRS="$SRC_DIRS glut/glx"
1137     if test "$x11_pkgconfig" = yes; then
1138         PKG_CHECK_MODULES([GLUT],[x11 xmu xi])
1139         GLUT_PC_REQ_PRIV="x11 xmu xi"
1140         GLUT_LIB_DEPS="$GLUT_LIBS"
1141     else
1142         # should check these...
1143         GLUT_LIB_DEPS="$X_LIBS -lX11 -lXmu -lXi"
1144         GLUT_PC_LIB_PRIV="$GLUT_LIB_DEPS"
1145         GLUT_PC_CFLAGS="$X11_INCLUDES"
1146     fi
1147     if test "x$GCC" = xyes; then
1148         GLUT_CFLAGS="$GLUT_CFLAGS -fexceptions"
1149     fi
1150     GLUT_LIB_DEPS="$GLUT_LIB_DEPS -lm"
1151     GLUT_PC_LIB_PRIV="$GLUT_PC_LIB_PRIV -lm"
1152
1153     # If static, empty GLUT_LIB_DEPS and add libs for programs to link
1154     if test "$enable_static" = no; then
1155         GLUT_MESA_DEPS='-l$(GLU_LIB) -l$(GL_LIB)'
1156     else
1157         APP_LIB_DEPS="$APP_LIB_DEPS $GLUT_LIB_DEPS"
1158         GLUT_LIB_DEPS=""
1159         GLUT_MESA_DEPS=""
1160     fi
1161 fi
1162 AC_SUBST([GLUT_LIB_DEPS])
1163 AC_SUBST([GLUT_MESA_DEPS])
1164 AC_SUBST([GLUT_CFLAGS])
1165 AC_SUBST([GLUT_PC_REQ_PRIV])
1166 AC_SUBST([GLUT_PC_LIB_PRIV])
1167 AC_SUBST([GLUT_PC_CFLAGS])
1168
1169 dnl
1170 dnl Program library dependencies
1171 dnl    Only libm is added here if necessary as the libraries should
1172 dnl    be pulled in by the linker
1173 dnl
1174 if test "x$APP_LIB_DEPS" = x; then
1175     case "$host_os" in
1176     solaris*)
1177         APP_LIB_DEPS="-lX11 -lsocket -lnsl -lm"
1178         ;;
1179     cygwin*)
1180         APP_LIB_DEPS="-lX11"
1181         ;;
1182     *)
1183         APP_LIB_DEPS="-lm"
1184         ;;
1185     esac
1186 fi
1187 AC_SUBST([APP_LIB_DEPS])
1188 AC_SUBST([PROGRAM_DIRS])
1189
1190 dnl
1191 dnl Gallium configuration
1192 dnl
1193 AC_ARG_ENABLE([gallium],
1194     [AS_HELP_STRING([--disable-gallium],
1195         [build gallium @<:@default=enabled@:>@])],
1196     [enable_gallium="$enableval"],
1197     [enable_gallium=yes])
1198 if test "x$enable_gallium" = xyes; then
1199     SRC_DIRS="$SRC_DIRS gallium gallium/winsys gallium/targets"
1200     AC_CHECK_HEADER([udis86.h], [HAS_UDIS86="yes"],
1201                 [HAS_UDIS86="no"])
1202     AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
1203 fi
1204
1205 AC_SUBST([LLVM_CFLAGS])
1206 AC_SUBST([LLVM_LIBS])
1207 AC_SUBST([LLVM_LDFLAGS])
1208 AC_SUBST([LLVM_VERSION])
1209
1210 VG_LIB_DEPS=""
1211 EGL_CLIENT_APIS='$(GL_LIB)'
1212 if test "x$enable_gles_overlay" = xyes; then
1213     EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GLESv1_CM_LIB) $(GLESv2_LIB)'
1214 fi
1215
1216 dnl
1217 dnl Gallium state trackers configuration
1218 dnl
1219 AC_ARG_WITH([state-trackers],
1220     [AS_HELP_STRING([--with-state-trackers@<:@=DIRS...@:>@],
1221         [comma delimited state_trackers list, e.g.
1222         "egl,glx" @<:@default=auto@:>@])],
1223     [with_state_trackers="$withval"],
1224     [with_state_trackers=yes])
1225
1226 case "$with_state_trackers" in
1227 no)
1228     GALLIUM_STATE_TRACKERS_DIRS=""
1229     ;;
1230 yes)
1231     # look at what else is built
1232     case "$mesa_driver" in
1233     xlib)
1234         GALLIUM_STATE_TRACKERS_DIRS=glx
1235         ;;
1236     dri)
1237         GALLIUM_STATE_TRACKERS_DIRS="dri"
1238         HAVE_ST_DRI="yes"
1239         if test "x$enable_egl" = xyes; then
1240             GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS egl"
1241             HAVE_ST_EGL="yes"
1242         fi
1243         # Have only tested st/xorg on 1.6.0 servers
1244         PKG_CHECK_MODULES(XORG, [xorg-server >= 1.6.0 libdrm >= $LIBDRM_XORG_REQUIRED libkms >= $LIBKMS_XORG_REQUIRED],
1245             HAVE_ST_XORG="yes"; GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xorg",
1246             HAVE_ST_XORG="no")
1247         ;;
1248     esac
1249     ;;
1250 *)
1251     # verify the requested state tracker exist
1252     state_trackers=""
1253     _state_trackers=`IFS=', '; echo $with_state_trackers`
1254     for tracker in $_state_trackers; do
1255         case "$tracker" in
1256         dri)
1257             if test "x$mesa_driver" != xdri; then
1258                 AC_MSG_ERROR([cannot build dri state tracker without mesa driver set to dri])
1259             fi
1260             HAVE_ST_DRI="yes"
1261             ;;
1262         egl)
1263             if test "x$enable_egl" != xyes; then
1264                 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1265             fi
1266             HAVE_ST_EGL="yes"
1267             ;;
1268         xorg)
1269             PKG_CHECK_MODULES([XORG], [xorg-server >= 1.6.0])
1270             PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
1271             PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
1272             HAVE_ST_XORG="yes"
1273             ;;
1274         es)
1275             AC_MSG_WARN([state tracker 'es' has been replaced by --enable-gles-overlay])
1276
1277             if test "x$enable_gles_overlay" != xyes; then
1278                 if test "x$enable_gles1" != xyes -a "x$enable_gles2" != xyes; then
1279                     CORE_DIRS="mapi/es1api mapi/es2api $CORE_DIRS"
1280                 fi
1281                 GLES_OVERLAY=1
1282                 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GLESv1_CM_LIB) $(GLESv2_LIB)'
1283             fi
1284             tracker=""
1285             ;;
1286         vega)
1287             CORE_DIRS="$CORE_DIRS mapi/vgapi"
1288             VG_LIB_DEPS="$VG_LIB_DEPS -lpthread"
1289             EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
1290             ;;
1291         esac
1292
1293         if test -n "$tracker"; then
1294             test -d "$srcdir/src/gallium/state_trackers/$tracker" || \
1295                 AC_MSG_ERROR([state tracker '$tracker' doesn't exist])
1296             if test -n "$state_trackers"; then
1297                 state_trackers="$state_trackers $tracker"
1298             else
1299                 state_trackers="$tracker"
1300             fi
1301         fi
1302     done
1303     GALLIUM_STATE_TRACKERS_DIRS="$state_trackers"
1304     ;;
1305 esac
1306
1307 AC_SUBST([VG_LIB_DEPS])
1308 AC_SUBST([EGL_CLIENT_APIS])
1309
1310 if test "x$HAVE_ST_EGL" = xyes; then
1311         GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl"
1312         # define GLX_DIRECT_RENDERING even when the driver is not dri
1313         if test "x$mesa_driver" != xdri -a "x$driglx_direct" = xyes; then
1314             DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1315         fi
1316 fi
1317
1318 if test "x$HAVE_ST_XORG" = xyes; then
1319     PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
1320         HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
1321         HAVE_XEXTPROTO_71="no")
1322 fi
1323
1324 AC_ARG_WITH([egl-platforms],
1325     [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1326         [comma delimited native platforms libEGL supports, e.g.
1327         "x11,kms" @<:@default=auto@:>@])],
1328     [with_egl_platforms="$withval"],
1329     [with_egl_platforms=yes])
1330 AC_ARG_WITH([egl-displays],
1331     [AS_HELP_STRING([--with-egl-displays@<:@=DIRS...@:>@],
1332         [DEPRECATED.  Use --with-egl-platforms instead])],
1333     [with_egl_platforms="$withval"])
1334
1335 EGL_PLATFORMS=""
1336 case "$with_egl_platforms" in
1337 yes)
1338     if test "x$enable_egl" = xyes && test "x$mesa_driver" != xosmesa; then
1339         EGL_PLATFORMS="x11"
1340     fi
1341     ;;
1342 *)
1343     if test "x$enable_egl" != xyes; then
1344         AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1345     fi
1346     # verify the requested driver directories exist
1347     egl_platforms=`IFS=', '; echo $with_egl_platforms`
1348     for plat in $egl_platforms; do
1349         test -d "$srcdir/src/gallium/state_trackers/egl/$plat" || \
1350             AC_MSG_ERROR([EGL platform '$plat' does't exist])
1351         if test "$plat" = "fbdev"; then
1352                 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/fbdev"
1353         fi
1354     done
1355     EGL_PLATFORMS="$egl_platforms"
1356     ;;
1357 esac
1358 AC_SUBST([EGL_PLATFORMS])
1359
1360 AC_ARG_WITH([egl-driver-dir],
1361     [AS_HELP_STRING([--with-egl-driver-dir=DIR],
1362                     [directory for EGL drivers [[default=${libdir}/egl]]])],
1363     [EGL_DRIVER_INSTALL_DIR="$withval"],
1364     [EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
1365 AC_SUBST([EGL_DRIVER_INSTALL_DIR])
1366
1367 AC_ARG_WITH([xorg-driver-dir],
1368     [AS_HELP_STRING([--with-xorg-driver-dir=DIR],
1369                     [Default xorg driver directory[[default=${libdir}/xorg/modules/drivers]]])],
1370     [XORG_DRIVER_INSTALL_DIR="$withval"],
1371     [XORG_DRIVER_INSTALL_DIR="${libdir}/xorg/modules/drivers"])
1372 AC_SUBST([XORG_DRIVER_INSTALL_DIR])
1373
1374 AC_ARG_WITH([max-width],
1375     [AS_HELP_STRING([--with-max-width=N],
1376                     [Maximum framebuffer width (4096)])],
1377     [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1378      AS_IF([test "${withval}" -gt "4096"],
1379            [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1380 )
1381 AC_ARG_WITH([max-height],
1382     [AS_HELP_STRING([--with-max-height=N],
1383                     [Maximum framebuffer height (4096)])],
1384     [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1385      AS_IF([test "${withval}" -gt "4096"],
1386            [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1387 )
1388
1389 dnl
1390 dnl Gallium LLVM
1391 dnl
1392 AC_ARG_ENABLE([gallium-llvm],
1393     [AS_HELP_STRING([--enable-gallium-llvm],
1394         [build gallium LLVM support @<:@default=disabled@:>@])],
1395     [enable_gallium_llvm="$enableval"],
1396     [enable_gallium_llvm=auto])
1397 if test "x$enable_gallium_llvm" = xyes; then
1398     if test "x$LLVM_CONFIG" != xno; then
1399         LLVM_VERSION=`$LLVM_CONFIG --version`
1400         LLVM_CFLAGS=`$LLVM_CONFIG --cflags`
1401         LLVM_LIBS="`$LLVM_CONFIG --libs jit interpreter nativecodegen bitwriter` -lstdc++"
1402
1403         if test "x$HAS_UDIS86" != xno; then
1404             LLVM_LIBS="$LLVM_LIBS -ludis86"
1405             DEFINES="$DEFINES -DHAVE_UDIS86"
1406         fi
1407         LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1408         GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1409         DEFINES="$DEFINES -DGALLIUM_LLVMPIPE -D__STDC_CONSTANT_MACROS"
1410         MESA_LLVM=1
1411     else
1412         MESA_LLVM=0
1413     fi
1414 else
1415     MESA_LLVM=0
1416 fi
1417
1418 dnl
1419 dnl Gallium helper functions
1420 dnl
1421 gallium_check_st() {
1422     if test "x$HAVE_ST_DRI" = xyes || test "x$HAVE_ST_XORG" = xyes; then
1423          GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
1424     fi
1425     if test "x$HAVE_ST_DRI" = xyes && test "x$2" != x; then
1426          GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
1427     fi
1428     if test "x$HAVE_ST_XORG" = xyes && test "x$3" != x; then
1429          GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
1430     fi
1431 }
1432
1433
1434 dnl
1435 dnl Gallium SVGA configuration
1436 dnl
1437 AC_ARG_ENABLE([gallium-svga],
1438     [AS_HELP_STRING([--enable-gallium-svga],
1439         [build gallium SVGA @<:@default=disabled@:>@])],
1440     [enable_gallium_svga="$enableval"],
1441     [enable_gallium_svga=auto])
1442 if test "x$enable_gallium_svga" = xyes; then
1443     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga"
1444     gallium_check_st "svga/drm" "dri-vmwgfx" "xorg-vmwgfx"
1445 elif test "x$enable_gallium_svga" = xauto; then
1446     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga"
1447 fi
1448
1449 dnl
1450 dnl Gallium i915 configuration
1451 dnl
1452 AC_ARG_ENABLE([gallium-i915],
1453     [AS_HELP_STRING([--enable-gallium-i915],
1454         [build gallium i915 @<:@default=disabled@:>@])],
1455     [enable_gallium_i915="$enableval"],
1456     [enable_gallium_i915=auto])
1457 if test "x$enable_gallium_i915" = xyes; then
1458     GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1459     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915"
1460     gallium_check_st "i915/drm" "dri-i915" "xorg-i915"
1461 elif test "x$enable_gallium_i915" = xauto; then
1462     GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1463     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915"
1464 fi
1465
1466 dnl
1467 dnl Gallium i965 configuration
1468 dnl
1469 AC_ARG_ENABLE([gallium-i965],
1470     [AS_HELP_STRING([--enable-gallium-i965],
1471         [build gallium i965 @<:@default=disabled@:>@])],
1472     [enable_gallium_i965="$enableval"],
1473     [enable_gallium_i965=auto])
1474 if test "x$enable_gallium_i965" = xyes; then
1475     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i965"
1476     gallium_check_st "i965/drm" "dri-i965" "xorg-i965"
1477 elif test "x$enable_gallium_i965" = xauto; then
1478     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i965"
1479 fi
1480
1481 dnl
1482 dnl Gallium Radeon configuration
1483 dnl
1484 AC_ARG_ENABLE([gallium-radeon],
1485     [AS_HELP_STRING([--enable-gallium-radeon],
1486         [build gallium radeon @<:@default=disabled@:>@])],
1487     [enable_gallium_radeon="$enableval"],
1488     [enable_gallium_radeon=auto])
1489 if test "x$enable_gallium_radeon" = xyes; then
1490     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
1491     gallium_check_st "radeon/drm" "dri-r300" "xorg-radeon"
1492 elif test "x$enable_gallium_radeon" = xauto; then
1493     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
1494 fi
1495
1496 dnl
1497 dnl Gallium Radeon r600g configuration
1498 dnl
1499 AC_ARG_ENABLE([gallium-r600],
1500     [AS_HELP_STRING([--enable-gallium-r600],
1501         [build gallium radeon @<:@default=disabled@:>@])],
1502     [enable_gallium_r600="$enableval"],
1503     [enable_gallium_r600=auto])
1504 if test "x$enable_gallium_r600" = xyes; then
1505     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
1506     gallium_check_st "r600/drm" "dri-r600"
1507 fi
1508
1509 dnl
1510 dnl Gallium Nouveau configuration
1511 dnl
1512 AC_ARG_ENABLE([gallium-nouveau],
1513     [AS_HELP_STRING([--enable-gallium-nouveau],
1514         [build gallium nouveau @<:@default=disabled@:>@])],
1515     [enable_gallium_nouveau="$enableval"],
1516     [enable_gallium_nouveau=no])
1517 if test "x$enable_gallium_nouveau" = xyes; then
1518     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nvfx nv50"
1519     gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau"
1520 fi
1521
1522 dnl
1523 dnl Gallium swrast configuration
1524 dnl
1525 AC_ARG_ENABLE([gallium-swrast],
1526     [AS_HELP_STRING([--enable-gallium-swrast],
1527         [build gallium swrast @<:@default=auto@:>@])],
1528     [enable_gallium_swrast="$enableval"],
1529     [enable_gallium_swrast=auto])
1530 if test "x$enable_gallium_swrast" = xyes || test "x$enable_gallium_swrast" = xauto; then
1531     if test "x$HAVE_ST_DRI" = xyes; then
1532         GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast"
1533     fi
1534 fi
1535
1536 dnl prepend CORE_DIRS to SRC_DIRS
1537 SRC_DIRS="$CORE_DIRS $SRC_DIRS"
1538
1539 dnl Restore LDFLAGS and CPPFLAGS
1540 LDFLAGS="$_SAVE_LDFLAGS"
1541 CPPFLAGS="$_SAVE_CPPFLAGS"
1542
1543 dnl Substitute the config
1544 AC_CONFIG_FILES([configs/autoconf])
1545
1546 dnl Replace the configs/current symlink
1547 AC_CONFIG_COMMANDS([configs],[
1548 if test -f configs/current || test -L configs/current; then
1549     rm -f configs/current
1550 fi
1551 ln -s autoconf configs/current
1552 ])
1553
1554 AC_OUTPUT
1555
1556 dnl
1557 dnl Output some configuration info for the user
1558 dnl
1559 echo ""
1560 echo "        prefix:          $prefix"
1561 echo "        exec_prefix:     $exec_prefix"
1562 echo "        libdir:          $libdir"
1563 echo "        includedir:      $includedir"
1564
1565 dnl Driver info
1566 echo ""
1567 echo "        Driver:          $mesa_driver"
1568 if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then
1569     echo "        OSMesa:          lib$OSMESA_LIB"
1570 else
1571     echo "        OSMesa:          no"
1572 fi
1573 if test "$mesa_driver" = dri; then
1574     # cleanup the drivers var
1575     dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/  */ /;s/ *$//'`
1576 if test "x$DRI_DIRS" = x; then
1577     echo "        DRI drivers:     no"
1578 else
1579     echo "        DRI drivers:     $dri_dirs"
1580 fi
1581     echo "        DRI driver dir:  $DRI_DRIVER_INSTALL_DIR"
1582 fi
1583 echo "        Use XCB:         $enable_xcb"
1584
1585 echo ""
1586 if test "x$MESA_LLVM" = x1; then
1587     echo "        llvm:            yes"
1588     echo "        llvm-config:     $LLVM_CONFIG"
1589     echo "        llvm-version:    $LLVM_VERSION"
1590 else
1591     echo "        llvm:            no"
1592 fi
1593
1594 echo ""
1595 if echo "$SRC_DIRS" | grep 'gallium' >/dev/null 2>&1; then
1596     echo "        Gallium:         yes"
1597     echo "        Gallium dirs:    $GALLIUM_DIRS"
1598     echo "        Target dirs:     $GALLIUM_TARGET_DIRS"
1599     echo "        Winsys dirs:     $GALLIUM_WINSYS_DIRS"
1600     echo "        Driver dirs:     $GALLIUM_DRIVERS_DIRS"
1601     echo "        Trackers dirs:   $GALLIUM_STATE_TRACKERS_DIRS"
1602     if test "x$HAVE_ST_EGL" = xyes; then
1603         echo "        EGL client APIs: $EGL_CLIENT_APIS"
1604     fi
1605 else
1606     echo "        Gallium:         no"
1607 fi
1608
1609 dnl Libraries
1610 echo ""
1611 echo "        Shared libs:     $enable_shared"
1612 echo "        Static libs:     $enable_static"
1613 if test "$enable_egl" = yes; then
1614     echo "        EGL:             $EGL_DRIVERS_DIRS"
1615     echo "        EGL platforms:   $EGL_PLATFORMS"
1616 else
1617     echo "        EGL:             no"
1618 fi
1619 echo "        GLU:             $enable_glu"
1620 echo "        GLw:             $enable_glw (Motif: $enable_motif)"
1621 echo "        glut:            $enable_glut"
1622
1623 dnl Compiler options
1624 # cleanup the CFLAGS/CXXFLAGS/DEFINES vars
1625 cflags=`echo $CFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1626     $SED 's/^ *//;s/  */ /;s/ *$//'`
1627 cxxflags=`echo $CXXFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1628     $SED 's/^ *//;s/  */ /;s/ *$//'`
1629 defines=`echo $DEFINES $ASM_FLAGS | $SED 's/^ *//;s/  */ /;s/ *$//'`
1630 echo ""
1631 echo "        CFLAGS:          $cflags"
1632 echo "        CXXFLAGS:        $cxxflags"
1633 echo "        Macros:          $defines"
1634
1635 echo ""
1636 echo "        Run '${MAKE-make}' to build Mesa"
1637 echo ""