trace: adapt to interface changes
[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'])])
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' ;;
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
285 GL_LIB_GLOB='lib$(GL_LIB).*'${LIB_EXTENSION}'*'
286 GLU_LIB_GLOB='lib$(GLU_LIB).*'${LIB_EXTENSION}'*'
287 GLUT_LIB_GLOB='lib$(GLUT_LIB).*'${LIB_EXTENSION}'*'
288 GLW_LIB_GLOB='lib$(GLW_LIB).*'${LIB_EXTENSION}'*'
289 OSMESA_LIB_GLOB='lib$(OSMESA_LIB).*'${LIB_EXTENSION}'*'
290 EGL_LIB_GLOB='lib$(EGL_LIB).*'${LIB_EXTENSION}'*'
291 GLESv1_CM_LIB_GLOB='lib$(GLESv1_CM_LIB).*'${LIB_EXTENSION}'*'
292 GLESv2_LIB_GLOB='lib$(GLESv2_LIB).*'${LIB_EXTENSION}'*'
293
294 AC_SUBST([GL_LIB_NAME])
295 AC_SUBST([GLU_LIB_NAME])
296 AC_SUBST([GLUT_LIB_NAME])
297 AC_SUBST([GLW_LIB_NAME])
298 AC_SUBST([OSMESA_LIB_NAME])
299 AC_SUBST([EGL_LIB_NAME])
300 AC_SUBST([GLESv1_CM_LIB_NAME])
301 AC_SUBST([GLESv2_LIB_NAME])
302
303 AC_SUBST([GL_LIB_GLOB])
304 AC_SUBST([GLU_LIB_GLOB])
305 AC_SUBST([GLUT_LIB_GLOB])
306 AC_SUBST([GLW_LIB_GLOB])
307 AC_SUBST([OSMESA_LIB_GLOB])
308 AC_SUBST([EGL_LIB_GLOB])
309 AC_SUBST([GLESv1_CM_LIB_GLOB])
310 AC_SUBST([GLESv2_LIB_GLOB])
311
312 dnl
313 dnl Arch/platform-specific settings
314 dnl
315 AC_ARG_ENABLE([asm],
316     [AS_HELP_STRING([--disable-asm],
317         [disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
318     [enable_asm="$enableval"],
319     [enable_asm=yes]
320 )
321 asm_arch=""
322 ASM_FLAGS=""
323 MESA_ASM_SOURCES=""
324 GLAPI_ASM_SOURCES=""
325 AC_MSG_CHECKING([whether to enable assembly])
326 test "x$enable_asm" = xno && AC_MSG_RESULT([no])
327 # disable if cross compiling on x86/x86_64 since we must run gen_matypes
328 if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
329     case "$host_cpu" in
330     i?86 | x86_64)
331         enable_asm=no
332         AC_MSG_RESULT([no, cross compiling])
333         ;;
334     esac
335 fi
336 # check for supported arches
337 if test "x$enable_asm" = xyes; then
338     case "$host_cpu" in
339     i?86)
340         case "$host_os" in
341         linux* | *freebsd* | dragonfly*)
342             test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86
343             ;;
344         esac
345         ;;
346     x86_64)
347         case "$host_os" in
348         linux* | *freebsd* | dragonfly*)
349             test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
350             ;;
351         esac
352         ;;
353     powerpc)
354         case "$host_os" in
355         linux*)
356             asm_arch=ppc
357             ;;
358         esac
359         ;;
360     sparc*)
361         case "$host_os" in
362         linux*)
363             asm_arch=sparc
364             ;;
365         esac
366         ;;
367     esac
368
369     case "$asm_arch" in
370     x86)
371         ASM_FLAGS="-DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
372         MESA_ASM_SOURCES='$(X86_SOURCES)'
373         GLAPI_ASM_SOURCES='$(X86_API)'
374         AC_MSG_RESULT([yes, x86])
375         ;;
376     x86_64)
377         ASM_FLAGS="-DUSE_X86_64_ASM"
378         MESA_ASM_SOURCES='$(X86-64_SOURCES)'
379         GLAPI_ASM_SOURCES='$(X86-64_API)'
380         AC_MSG_RESULT([yes, x86_64])
381         ;;
382     ppc)
383         ASM_FLAGS="-DUSE_PPC_ASM -DUSE_VMX_ASM"
384         MESA_ASM_SOURCES='$(PPC_SOURCES)'
385         AC_MSG_RESULT([yes, ppc])
386         ;;
387     sparc)
388         ASM_FLAGS="-DUSE_SPARC_ASM"
389         MESA_ASM_SOURCES='$(SPARC_SOURCES)'
390         GLAPI_ASM_SOURCES='$(SPARC_API)'
391         AC_MSG_RESULT([yes, sparc])
392         ;;
393     *)
394         AC_MSG_RESULT([no, platform not supported])
395         ;;
396     esac
397 fi
398 AC_SUBST([ASM_FLAGS])
399 AC_SUBST([MESA_ASM_SOURCES])
400 AC_SUBST([GLAPI_ASM_SOURCES])
401
402 dnl PIC code macro
403 MESA_PIC_FLAGS
404
405 dnl Check to see if dlopen is in default libraries (like Solaris, which
406 dnl has it in libc), or if libdl is needed to get it.
407 AC_CHECK_FUNC([dlopen], [],
408     [AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])])
409
410 dnl See if posix_memalign is available
411 AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
412
413 dnl SELinux awareness.
414 AC_ARG_ENABLE([selinux],
415     [AS_HELP_STRING([--enable-selinux],
416         [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
417     [MESA_SELINUX="$enableval"],
418     [MESA_SELINUX=no])
419 if test "x$enable_selinux" = "xyes"; then
420     AC_CHECK_HEADER([selinux/selinux.h],[],
421                     [AC_MSG_ERROR([SELinux headers not found])])
422     AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
423                  [AC_MSG_ERROR([SELinux library not found])])
424     SELINUX_LIBS="-lselinux"
425     DEFINES="$DEFINES -DMESA_SELINUX"
426 fi
427
428 dnl
429 dnl Driver configuration. Options are xlib, dri and osmesa right now.
430 dnl More later: fbdev, ...
431 dnl
432 default_driver="xlib"
433
434 case "$host_os" in
435 linux*)
436     case "$host_cpu" in
437     i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
438     esac
439     ;;
440 *freebsd* | dragonfly*)
441     case "$host_cpu" in
442     i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
443     esac
444     ;;
445 esac
446
447 AC_ARG_WITH([driver],
448     [AS_HELP_STRING([--with-driver=DRIVER],
449         [driver for Mesa: xlib,dri,osmesa @<:@default=dri when available, or xlib@:>@])],
450     [mesa_driver="$withval"],
451     [mesa_driver="$default_driver"])
452 dnl Check for valid option
453 case "x$mesa_driver" in
454 xxlib|xdri|xosmesa)
455     ;;
456 *)
457     AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option])
458     ;;
459 esac
460
461 dnl
462 dnl Driver specific build directories
463 dnl
464
465 dnl this variable will be prepended to SRC_DIRS and is not exported
466 CORE_DIRS="glsl mesa"
467
468 SRC_DIRS="glew"
469 GLU_DIRS="sgi"
470 GALLIUM_DIRS="auxiliary drivers state_trackers"
471 GALLIUM_TARGET_DIRS=""
472 GALLIUM_WINSYS_DIRS="sw"
473 GALLIUM_DRIVERS_DIRS="softpipe failover trace identity"
474 GALLIUM_STATE_TRACKERS_DIRS=""
475
476 case "$mesa_driver" in
477 xlib)
478     DRIVER_DIRS="x11"
479     GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
480     GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
481     ;;
482 dri)
483     SRC_DIRS="$SRC_DIRS glx"
484     DRIVER_DIRS="dri"
485     GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib sw/dri sw/drm"
486     ;;
487 osmesa)
488     DRIVER_DIRS="osmesa"
489     ;;
490 esac
491 AC_SUBST([SRC_DIRS])
492 AC_SUBST([GLU_DIRS])
493 AC_SUBST([DRIVER_DIRS])
494 AC_SUBST([GALLIUM_DIRS])
495 AC_SUBST([GALLIUM_TARGET_DIRS])
496 AC_SUBST([GALLIUM_WINSYS_DIRS])
497 AC_SUBST([GALLIUM_DRIVERS_DIRS])
498 AC_SUBST([GALLIUM_STATE_TRACKERS_DIRS])
499 AC_SUBST([MESA_LLVM])
500
501 dnl
502 dnl User supplied program configuration
503 dnl
504 if test -d "$srcdir/progs/demos"; then
505     default_demos=yes
506 else
507     default_demos=no
508 fi
509 AC_ARG_WITH([demos],
510     [AS_HELP_STRING([--with-demos@<:@=DIRS...@:>@],
511         [optional comma delimited demo directories to build
512         @<:@default=auto if source available@:>@])],
513     [with_demos="$withval"],
514     [with_demos="$default_demos"])
515 if test "x$with_demos" = x; then
516     with_demos=no
517 fi
518
519 dnl If $with_demos is yes, directories will be added as libs available
520 PROGRAM_DIRS=""
521 case "$with_demos" in
522 no) ;;
523 yes)
524     # If the driver isn't osmesa, we have libGL and can build xdemos
525     if test "$mesa_driver" != osmesa; then
526         PROGRAM_DIRS="xdemos"
527     fi
528     ;;
529 *)
530     # verify the requested demos directories exist
531     demos=`IFS=,; echo $with_demos`
532     for demo in $demos; do
533         test -d "$srcdir/progs/$demo" || \
534             AC_MSG_ERROR([Program directory '$demo' doesn't exist])
535     done
536     PROGRAM_DIRS="$demos"
537     ;;
538 esac
539
540 dnl
541 dnl Find out if X is available. The variable have_x is set if libX11 is
542 dnl found to mimic AC_PATH_XTRA.
543 dnl
544 if test -n "$PKG_CONFIG"; then
545     AC_MSG_CHECKING([pkg-config files for X11 are available])
546     PKG_CHECK_EXISTS([x11],[
547         x11_pkgconfig=yes
548         have_x=yes
549         ],[
550         x11_pkgconfig=no
551     ])
552     AC_MSG_RESULT([$x11_pkgconfig])
553 else
554     x11_pkgconfig=no
555 fi
556 dnl Use the autoconf macro if no pkg-config files
557 if test "$x11_pkgconfig" = yes; then
558     PKG_CHECK_MODULES([X11], [x11])
559 else
560     AC_PATH_XTRA
561     test -z "$X11_CFLAGS" && X11_CFLAGS="$X_CFLAGS"
562     test -z "$X11_LIBS" && X11_LIBS="$X_LIBS -lX11"
563     AC_SUBST([X11_CFLAGS])
564     AC_SUBST([X11_LIBS])
565 fi
566
567 dnl Try to tell the user that the --x-* options are only used when
568 dnl pkg-config is not available. This must be right after AC_PATH_XTRA.
569 m4_divert_once([HELP_BEGIN],
570 [These options are only used when the X libraries cannot be found by the
571 pkg-config utility.])
572
573 dnl We need X for xlib and dri, so bomb now if it's not found
574 case "$mesa_driver" in
575 xlib|dri)
576     if test "$no_x" = yes; then
577         AC_MSG_ERROR([X11 development libraries needed for $mesa_driver driver])
578     fi
579     ;;
580 esac
581
582 dnl XCB - this is only used for GLX right now
583 AC_ARG_ENABLE([xcb],
584     [AS_HELP_STRING([--enable-xcb],
585         [use XCB for GLX @<:@default=disabled@:>@])],
586     [enable_xcb="$enableval"],
587     [enable_xcb=no])
588 if test "x$enable_xcb" = xyes; then
589     DEFINES="$DEFINES -DUSE_XCB"
590 else
591     enable_xcb=no
592 fi
593
594 dnl
595 dnl libGL configuration per driver
596 dnl
597 case "$mesa_driver" in
598 xlib)
599     if test "$x11_pkgconfig" = yes; then
600         PKG_CHECK_MODULES([XLIBGL], [x11 xext])
601         GL_PC_REQ_PRIV="x11 xext"
602         X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
603         GL_LIB_DEPS="$XLIBGL_LIBS"
604     else
605         # should check these...
606         X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
607         GL_LIB_DEPS="$X_LIBS -lX11 -lXext"
608         GL_PC_LIB_PRIV="$GL_LIB_DEPS"
609         GL_PC_CFLAGS="$X11_INCLUDES"
610     fi
611     GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread"
612     GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm -lpthread"
613
614     # if static, move the external libraries to the programs
615     # and empty the libraries for libGL
616     if test "$enable_static" = yes; then
617         APP_LIB_DEPS="$APP_LIB_DEPS $GL_LIB_DEPS"
618         GL_LIB_DEPS=""
619     fi
620     ;;
621 dri)
622     # DRI must be shared, I think
623     if test "$enable_static" = yes; then
624         AC_MSG_ERROR([Can't use static libraries for DRI drivers])
625     fi
626
627     # Check for libdrm
628     PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
629     PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
630     PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
631     GL_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED glproto >= $GLPROTO_REQUIRED"
632     DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
633
634     # find the DRI deps for libGL
635     if test "$x11_pkgconfig" = yes; then
636         # add xcb modules if necessary
637         dri_modules="x11 xext xxf86vm xdamage xfixes"
638         if test "$enable_xcb" = yes; then
639             dri_modules="$dri_modules x11-xcb xcb-glx"
640         fi
641
642         PKG_CHECK_MODULES([DRIGL], [$dri_modules])
643         GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
644         X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
645         GL_LIB_DEPS="$DRIGL_LIBS"
646     else
647         # should check these...
648         X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
649         GL_LIB_DEPS="$X_LIBS -lX11 -lXext -lXxf86vm -lXdamage -lXfixes"
650         GL_PC_LIB_PRIV="$GL_LIB_DEPS"
651         GL_PC_CFLAGS="$X11_INCLUDES"
652
653         # XCB can only be used from pkg-config
654         if test "$enable_xcb" = yes; then
655             PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx])
656             GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV x11-xcb xcb-glx"
657             X11_INCLUDES="$X11_INCLUDES $XCB_CFLAGS"
658             GL_LIB_DEPS="$GL_LIB_DEPS $XCB_LIBS"
659         fi
660     fi
661
662     # need DRM libs, -lpthread, etc.
663     GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
664     GL_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
665     GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
666     GLESv1_CM_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
667     GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
668     GLESv2_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
669     ;;
670 osmesa)
671     # No libGL for osmesa
672     GL_LIB_DEPS=""
673     ;;
674 esac
675 AC_SUBST([GL_LIB_DEPS])
676 AC_SUBST([GL_PC_REQ_PRIV])
677 AC_SUBST([GL_PC_LIB_PRIV])
678 AC_SUBST([GL_PC_CFLAGS])
679 AC_SUBST([DRI_PC_REQ_PRIV])
680 AC_SUBST([GLESv1_LIB_DEPS])
681 AC_SUBST([GLESv2_LIB_DEPS])
682
683 dnl
684 dnl More X11 setup
685 dnl
686 if test "$mesa_driver" = xlib; then
687     DEFINES="$DEFINES -DUSE_XSHM"
688 fi
689
690 dnl
691 dnl More DRI setup
692 dnl
693 AC_ARG_ENABLE([glx-tls],
694     [AS_HELP_STRING([--enable-glx-tls],
695         [enable TLS support in GLX @<:@default=disabled@:>@])],
696     [GLX_USE_TLS="$enableval"],
697     [GLX_USE_TLS=no])
698 dnl Directory for DRI drivers
699 AC_ARG_WITH([dri-driverdir],
700     [AS_HELP_STRING([--with-dri-driverdir=DIR],
701         [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
702     [DRI_DRIVER_INSTALL_DIR="$withval"],
703     [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
704 AC_SUBST([DRI_DRIVER_INSTALL_DIR])
705 dnl Extra search path for DRI drivers
706 AC_ARG_WITH([dri-searchpath],
707     [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
708         [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
709     [DRI_DRIVER_SEARCH_DIR="$withval"],
710     [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
711 AC_SUBST([DRI_DRIVER_SEARCH_DIR])
712 dnl Direct rendering or just indirect rendering
713 AC_ARG_ENABLE([driglx-direct],
714     [AS_HELP_STRING([--disable-driglx-direct],
715         [enable direct rendering in GLX for DRI @<:@default=enabled@:>@])],
716     [driglx_direct="$enableval"],
717     [driglx_direct="yes"])
718 dnl Which drivers to build - default is chosen by platform
719 AC_ARG_WITH([dri-drivers],
720     [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
721         [comma delimited DRI drivers list, e.g.
722         "swrast,i965,radeon" @<:@default=auto@:>@])],
723     [with_dri_drivers="$withval"],
724     [with_dri_drivers=yes])
725 if test "x$with_dri_drivers" = x; then
726     with_dri_drivers=no
727 fi
728
729 dnl Determine which APIs to support
730 AC_ARG_ENABLE([opengl],
731     [AS_HELP_STRING([--disable-opengl],
732         [disable support for standard OpenGL API @<:@default=no@:>@])],
733     [enable_opengl="$enableval"],
734     [enable_opengl=yes])
735 AC_ARG_ENABLE([gles1],
736     [AS_HELP_STRING([--enable-gles1],
737         [enable support for OpenGL ES 1.x API @<:@default=no@:>@])],
738     [enable_gles1="$enableval"],
739     [enable_gles1=no])
740 AC_ARG_ENABLE([gles2],
741     [AS_HELP_STRING([--enable-gles2],
742         [enable support for OpenGL ES 2.x API @<:@default=no@:>@])],
743     [enable_gles2="$enableval"],
744     [enable_gles2=no])
745
746 API_DEFINES=""
747 APIS=""
748 ES1_SOURCES=""
749 ES2_SOURCES=""
750 if test "x$enable_opengl" = xno; then
751     API_DEFINES="$API_DEFINES -DFEATURE_GL=0"
752 else
753     API_DEFINES="$API_DEFINES -DFEATURE_GL=1"
754     APIS="$APIS gl"
755 fi
756 if test "x$enable_gles1" = xyes; then
757     API_DEFINES="$API_DEFINES -DFEATURE_ES1=1"
758     APIS="$APIS es1"
759     ES1_SOURCES='$(ES1_SOURCES)'
760 fi
761 if test "x$enable_gles2" = xyes; then
762     API_DEFINES="$API_DEFINES -DFEATURE_ES2=1"
763     APIS="$APIS es2"
764     ES2_SOURCES='$(ES2_SOURCES)'
765 fi
766 if test "x$enable_gles1" = xyes -o "x$enable_gles2" = xyes; then
767     SRC_DIRS="$SRC_DIRS gles"
768 fi
769 AC_SUBST([API_DEFINES])
770 AC_SUBST([APIS])
771 AC_SUBST([ES1_SOURCES])
772 AC_SUBST([ES2_SOURCES])
773
774 dnl If $with_dri_drivers is yes, directories will be added through
775 dnl platform checks
776 DRI_DIRS=""
777 case "$with_dri_drivers" in
778 no) ;;
779 yes)
780     DRI_DIRS="yes"
781     ;;
782 *)
783     # verify the requested driver directories exist
784     dri_drivers=`IFS=', '; echo $with_dri_drivers`
785     for driver in $dri_drivers; do
786         test -d "$srcdir/src/mesa/drivers/dri/$driver" || \
787             AC_MSG_ERROR([DRI driver directory '$driver' doesn't exist])
788     done
789     DRI_DIRS="$dri_drivers"
790     ;;
791 esac
792
793 dnl Set DRI_DIRS, DEFINES and LIB_DEPS
794 if test "$mesa_driver" = dri; then
795     # Use TLS in GLX?
796     if test "x$GLX_USE_TLS" = xyes; then
797         DEFINES="$DEFINES -DGLX_USE_TLS -DPTHREADS"
798     fi
799
800     # Platform specific settings and drivers to build
801     case "$host_os" in
802     linux*)
803         DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
804         if test "x$driglx_direct" = xyes; then
805             DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
806         fi
807         DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
808
809         case "$host_cpu" in
810         x86_64)
811             # sis is missing because they have not be converted to use
812             # the new interface.  i810 are missing because there is no
813             # x86-64 system where they could *ever* be used.
814             if test "x$DRI_DIRS" = "xyes"; then
815                 DRI_DIRS="i915 i965 mach64 mga r128 r200 r300 r600 radeon \
816                     savage tdfx unichrome swrast"
817             fi
818             ;;
819         powerpc*)
820             # Build only the drivers for cards that exist on PowerPC.
821             # At some point MGA will be added, but not yet.
822             if test "x$DRI_DIRS" = "xyes"; then
823                 DRI_DIRS="mach64 r128 r200 r300 r600 radeon tdfx swrast"
824             fi
825             ;;
826         sparc*)
827             # Build only the drivers for cards that exist on sparc`
828             if test "x$DRI_DIRS" = "xyes"; then
829                 DRI_DIRS="mach64 r128 r200 r300 r600 radeon swrast"
830             fi
831             ;;
832         esac
833         ;;
834     freebsd* | dragonfly*)
835         DEFINES="$DEFINES -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1"
836         DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS"
837         DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
838         if test "x$driglx_direct" = xyes; then
839             DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
840         fi
841         if test "x$GXX" = xyes; then
842             CXXFLAGS="$CXXFLAGS -ansi -pedantic"
843         fi
844
845         if test "x$DRI_DIRS" = "xyes"; then
846             DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon tdfx \
847                 unichrome savage sis swrast"
848         fi
849         ;;
850     gnu*)
851         DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
852         DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
853         ;;
854     solaris*)
855         DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
856         DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
857         if test "x$driglx_direct" = xyes; then
858             DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
859         fi
860         ;;
861     esac
862
863     # default drivers
864     if test "x$DRI_DIRS" = "xyes"; then
865         DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon \
866             savage sis tdfx unichrome swrast"
867     fi
868
869     DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/  */ /g'`
870
871     # Check for expat
872     EXPAT_INCLUDES=""
873     EXPAT_LIB=-lexpat
874     AC_ARG_WITH([expat],
875         [AS_HELP_STRING([--with-expat=DIR],
876             [expat install directory])],[
877         EXPAT_INCLUDES="-I$withval/include"
878         CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES"
879         LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR"
880         EXPAT_LIB="-L$withval/$LIB_DIR -lexpat"
881         ])
882     AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])])
883     AC_CHECK_LIB([expat],[XML_ParserCreate],[],
884         [AC_MSG_ERROR([Expat required for DRI.])])
885
886     # put all the necessary libs together
887     DRI_LIB_DEPS="$SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread $DLOPEN_LIBS"
888 fi
889 AC_SUBST([DRI_DIRS])
890 AC_SUBST([EXPAT_INCLUDES])
891 AC_SUBST([DRI_LIB_DEPS])
892
893 case $DRI_DIRS in
894 *i915*|*i965*)
895     PKG_CHECK_MODULES([INTEL], [libdrm_intel >= 2.4.19])
896     ;;
897 esac
898
899 case $DRI_DIRS in
900 *radeon*|*r200*|*r300*|*r600*)
901     PKG_CHECK_MODULES([LIBDRM_RADEON],
902                       [libdrm_radeon libdrm >= $LIBDRM_RADEON_REQUIRED],
903                       HAVE_LIBDRM_RADEON=yes,
904                       HAVE_LIBDRM_RADEON=no)
905
906     if test "$HAVE_LIBDRM_RADEON" = yes; then
907         RADEON_CFLAGS="-DHAVE_LIBDRM_RADEON=1 $LIBDRM_RADEON_CFLAGS"
908         RADEON_LDFLAGS=$LIBDRM_RADEON_LIBS
909     fi
910     ;;
911 esac
912 AC_SUBST([RADEON_CFLAGS])
913 AC_SUBST([RADEON_LDFLAGS])
914
915
916 dnl
917 dnl OSMesa configuration
918 dnl
919 if test "$mesa_driver" = xlib; then
920     default_gl_osmesa=yes
921 else
922     default_gl_osmesa=no
923 fi
924 AC_ARG_ENABLE([gl-osmesa],
925     [AS_HELP_STRING([--enable-gl-osmesa],
926         [enable OSMesa on libGL @<:@default=enabled for xlib driver@:>@])],
927     [gl_osmesa="$enableval"],
928     [gl_osmesa="$default_gl_osmesa"])
929 if test "x$gl_osmesa" = xyes; then
930     if test "$mesa_driver" = osmesa; then
931         AC_MSG_ERROR([libGL is not available for OSMesa driver])
932     else
933         DRIVER_DIRS="$DRIVER_DIRS osmesa"
934     fi
935 fi
936
937 dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
938 AC_ARG_WITH([osmesa-bits],
939     [AS_HELP_STRING([--with-osmesa-bits=BITS],
940         [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
941     [osmesa_bits="$withval"],
942     [osmesa_bits=8])
943 if test "$mesa_driver" != osmesa && test "x$osmesa_bits" != x8; then
944     AC_MSG_WARN([Ignoring OSMesa channel bits for non-OSMesa driver])
945     osmesa_bits=8
946 fi
947 case "x$osmesa_bits" in
948 x8)
949     OSMESA_LIB=OSMesa
950     ;;
951 x16|x32)
952     OSMESA_LIB="OSMesa$osmesa_bits"
953     DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
954     ;;
955 *)
956     AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
957     ;;
958 esac
959 AC_SUBST([OSMESA_LIB])
960
961 case "$mesa_driver" in
962 osmesa)
963     # only link libraries with osmesa if shared
964     if test "$enable_static" = no; then
965         OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS"
966     else
967         OSMESA_LIB_DEPS=""
968     fi
969     OSMESA_MESA_DEPS=""
970     OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS"
971     ;;
972 *)
973     # Link OSMesa to libGL otherwise
974     OSMESA_LIB_DEPS=""
975     # only link libraries with osmesa if shared
976     if test "$enable_static" = no; then
977         OSMESA_MESA_DEPS='-l$(GL_LIB)'
978     else
979         OSMESA_MESA_DEPS=""
980     fi
981     OSMESA_PC_REQ="gl"
982     ;;
983 esac
984 OSMESA_PC_LIB_PRIV="$OSMESA_PC_LIB_PRIV"
985 AC_SUBST([OSMESA_LIB_DEPS])
986 AC_SUBST([OSMESA_MESA_DEPS])
987 AC_SUBST([OSMESA_PC_REQ])
988 AC_SUBST([OSMESA_PC_LIB_PRIV])
989
990 dnl
991 dnl EGL configuration
992 dnl
993 AC_ARG_ENABLE([egl],
994     [AS_HELP_STRING([--disable-egl],
995         [disable EGL library @<:@default=enabled@:>@])],
996     [enable_egl="$enableval"],
997     [enable_egl=yes])
998 if test "x$enable_egl" = xyes; then
999     SRC_DIRS="$SRC_DIRS egl"
1000     EGL_LIB_DEPS="$DLOPEN_LIBS -lpthread"
1001     EGL_DRIVERS_DIRS=""
1002     if test "$enable_static" != yes; then
1003         # build egl_glx when libGL is built
1004         if test "$mesa_driver" != osmesa; then
1005             EGL_DRIVERS_DIRS="glx"
1006         fi
1007
1008         # build egl_dri2 when xcb-dri2 is available
1009         PKG_CHECK_MODULES([EGL_DRI2], [x11-xcb xcb-dri2 xcb-xfixes libdrm],
1010                           [have_xcb_dri2=yes],[have_xcb_dri2=no])
1011         if test "$have_xcb_dri2" = yes; then
1012             EGL_DRIVERS_DIRS="$EGL_DRIVERS_DIRS dri2"
1013         fi
1014     fi
1015
1016     if test "$with_demos" = yes; then
1017         PROGRAM_DIRS="$PROGRAM_DIRS egl/eglut egl/opengl"
1018     fi
1019 fi
1020 AC_SUBST([EGL_LIB_DEPS])
1021 AC_SUBST([EGL_DRIVERS_DIRS])
1022
1023 dnl
1024 dnl GLU configuration
1025 dnl
1026 AC_ARG_ENABLE([glu],
1027     [AS_HELP_STRING([--disable-glu],
1028         [enable OpenGL Utility library @<:@default=enabled@:>@])],
1029     [enable_glu="$enableval"],
1030     [enable_glu=yes])
1031 if test "x$enable_glu" = xyes; then
1032     SRC_DIRS="$SRC_DIRS glu"
1033
1034     case "$mesa_driver" in
1035     osmesa)
1036         # If GLU is available and we have libOSMesa (not 16 or 32),
1037         # we can build the osdemos
1038         if test "$with_demos" = yes && test "$osmesa_bits" = 8; then
1039             PROGRAM_DIRS="$PROGRAM_DIRS osdemos"
1040         fi
1041
1042         # Link libGLU to libOSMesa instead of libGL
1043         GLU_LIB_DEPS=""
1044         GLU_PC_REQ="osmesa"
1045         if test "$enable_static" = no; then
1046             GLU_MESA_DEPS='-l$(OSMESA_LIB)'
1047         else
1048             GLU_MESA_DEPS=""
1049         fi
1050         ;;
1051     *)
1052         # If static, empty GLU_LIB_DEPS and add libs for programs to link
1053         GLU_PC_REQ="gl"
1054         GLU_PC_LIB_PRIV="-lm"
1055         if test "$enable_static" = no; then
1056             GLU_LIB_DEPS="-lm"
1057             GLU_MESA_DEPS='-l$(GL_LIB)'
1058         else
1059             GLU_LIB_DEPS=""
1060             GLU_MESA_DEPS=""
1061             APP_LIB_DEPS="$APP_LIB_DEPS -lstdc++"
1062         fi
1063         ;;
1064     esac
1065 fi
1066 if test "$enable_static" = no; then
1067     GLU_LIB_DEPS="$GLU_LIB_DEPS $OS_CPLUSPLUS_LIBS"
1068 fi
1069 GLU_PC_LIB_PRIV="$GLU_PC_LIB_PRIV $OS_CPLUSPLUS_LIBS"
1070 AC_SUBST([GLU_LIB_DEPS])
1071 AC_SUBST([GLU_MESA_DEPS])
1072 AC_SUBST([GLU_PC_REQ])
1073 AC_SUBST([GLU_PC_REQ_PRIV])
1074 AC_SUBST([GLU_PC_LIB_PRIV])
1075 AC_SUBST([GLU_PC_CFLAGS])
1076
1077 dnl
1078 dnl GLw configuration
1079 dnl
1080 AC_ARG_ENABLE([glw],
1081     [AS_HELP_STRING([--disable-glw],
1082         [enable Xt/Motif widget library @<:@default=enabled@:>@])],
1083     [enable_glw="$enableval"],
1084     [enable_glw=yes])
1085 dnl Don't build GLw on osmesa
1086 if test "x$enable_glw" = xyes && test "$mesa_driver" = osmesa; then
1087     AC_MSG_WARN([Disabling GLw since the driver is OSMesa])
1088     enable_glw=no
1089 fi
1090 AC_ARG_ENABLE([motif],
1091     [AS_HELP_STRING([--enable-motif],
1092         [use Motif widgets in GLw @<:@default=disabled@:>@])],
1093     [enable_motif="$enableval"],
1094     [enable_motif=no])
1095
1096 if test "x$enable_glw" = xyes; then
1097     SRC_DIRS="$SRC_DIRS glw"
1098     if test "$x11_pkgconfig" = yes; then
1099         PKG_CHECK_MODULES([GLW],[x11 xt])
1100         GLW_PC_REQ_PRIV="x11 xt"
1101         GLW_LIB_DEPS="$GLW_LIBS"
1102     else
1103         # should check these...
1104         GLW_LIB_DEPS="$X_LIBS -lXt -lX11"
1105         GLW_PC_LIB_PRIV="$GLW_LIB_DEPS"
1106         GLW_PC_CFLAGS="$X11_INCLUDES"
1107     fi
1108
1109     GLW_SOURCES="GLwDrawA.c"
1110     MOTIF_CFLAGS=
1111     if test "x$enable_motif" = xyes; then
1112         GLW_SOURCES="$GLW_SOURCES GLwMDrawA.c"
1113         AC_PATH_PROG([MOTIF_CONFIG], [motif-config], [no])
1114         if test "x$MOTIF_CONFIG" != xno; then
1115             MOTIF_CFLAGS=`$MOTIF_CONFIG --cflags`
1116             MOTIF_LIBS=`$MOTIF_CONFIG --libs`
1117         else
1118             AC_CHECK_HEADER([Xm/PrimitiveP.h], [],
1119                 [AC_MSG_ERROR([Can't locate Motif headers])])
1120             AC_CHECK_LIB([Xm], [XmGetPixmap], [MOTIF_LIBS="-lXm"],
1121                 [AC_MSG_ERROR([Can't locate Motif Xm library])])
1122         fi
1123         # MOTIF_LIBS is prepended to GLW_LIB_DEPS since Xm needs Xt/X11
1124         GLW_LIB_DEPS="$MOTIF_LIBS $GLW_LIB_DEPS"
1125         GLW_PC_LIB_PRIV="$MOTIF_LIBS $GLW_PC_LIB_PRIV"
1126         GLW_PC_CFLAGS="$MOTIF_CFLAGS $GLW_PC_CFLAGS"
1127     fi
1128
1129     # If static, empty GLW_LIB_DEPS and add libs for programs to link
1130     GLW_PC_LIB_PRIV="$GLW_PC_LIB_PRIV"
1131     if test "$enable_static" = no; then
1132         GLW_MESA_DEPS='-l$(GL_LIB)'
1133         GLW_LIB_DEPS="$GLW_LIB_DEPS"
1134     else
1135         APP_LIB_DEPS="$APP_LIB_DEPS $GLW_LIB_DEPS"
1136         GLW_LIB_DEPS=""
1137         GLW_MESA_DEPS=""
1138     fi
1139 fi
1140 AC_SUBST([GLW_LIB_DEPS])
1141 AC_SUBST([GLW_MESA_DEPS])
1142 AC_SUBST([GLW_SOURCES])
1143 AC_SUBST([MOTIF_CFLAGS])
1144 AC_SUBST([GLW_PC_REQ_PRIV])
1145 AC_SUBST([GLW_PC_LIB_PRIV])
1146 AC_SUBST([GLW_PC_CFLAGS])
1147
1148 dnl
1149 dnl GLUT configuration
1150 dnl
1151 if test -f "$srcdir/include/GL/glut.h"; then
1152     default_glut=yes
1153 else
1154     default_glut=no
1155 fi
1156 AC_ARG_ENABLE([glut],
1157     [AS_HELP_STRING([--disable-glut],
1158         [enable GLUT library @<:@default=enabled if source available@:>@])],
1159     [enable_glut="$enableval"],
1160     [enable_glut="$default_glut"])
1161
1162 dnl Can't build glut if GLU not available
1163 if test "x$enable_glu$enable_glut" = xnoyes; then
1164     AC_MSG_WARN([Disabling glut since GLU is disabled])
1165     enable_glut=no
1166 fi
1167 dnl Don't build glut on osmesa
1168 if test "x$enable_glut" = xyes && test "$mesa_driver" = osmesa; then
1169     AC_MSG_WARN([Disabling glut since the driver is OSMesa])
1170     enable_glut=no
1171 fi
1172
1173 if test "x$enable_glut" = xyes; then
1174     SRC_DIRS="$SRC_DIRS glut/glx"
1175     GLUT_CFLAGS=""
1176     if test "x$GCC" = xyes; then
1177         GLUT_CFLAGS="-fexceptions"
1178     fi
1179     if test "$x11_pkgconfig" = yes; then
1180         PKG_CHECK_MODULES([GLUT],[x11 xmu xi])
1181         GLUT_PC_REQ_PRIV="x11 xmu xi"
1182         GLUT_LIB_DEPS="$GLUT_LIBS"
1183     else
1184         # should check these...
1185         GLUT_LIB_DEPS="$X_LIBS -lX11 -lXmu -lXi"
1186         GLUT_PC_LIB_PRIV="$GLUT_LIB_DEPS"
1187         GLUT_PC_CFLAGS="$X11_INCLUDES"
1188     fi
1189     GLUT_LIB_DEPS="$GLUT_LIB_DEPS -lm"
1190     GLUT_PC_LIB_PRIV="$GLUT_PC_LIB_PRIV -lm"
1191
1192     # If glut is available, we can build most programs
1193     if test "$with_demos" = yes; then
1194         PROGRAM_DIRS="$PROGRAM_DIRS demos redbook samples glsl"
1195     fi
1196
1197     # If static, empty GLUT_LIB_DEPS and add libs for programs to link
1198     if test "$enable_static" = no; then
1199         GLUT_MESA_DEPS='-l$(GLU_LIB) -l$(GL_LIB)'
1200     else
1201         APP_LIB_DEPS="$APP_LIB_DEPS $GLUT_LIB_DEPS"
1202         GLUT_LIB_DEPS=""
1203         GLUT_MESA_DEPS=""
1204     fi
1205 fi
1206 AC_SUBST([GLUT_LIB_DEPS])
1207 AC_SUBST([GLUT_MESA_DEPS])
1208 AC_SUBST([GLUT_CFLAGS])
1209 AC_SUBST([GLUT_PC_REQ_PRIV])
1210 AC_SUBST([GLUT_PC_LIB_PRIV])
1211 AC_SUBST([GLUT_PC_CFLAGS])
1212
1213 dnl
1214 dnl Program library dependencies
1215 dnl    Only libm is added here if necessary as the libraries should
1216 dnl    be pulled in by the linker
1217 dnl
1218 if test "x$APP_LIB_DEPS" = x; then
1219     case "$host_os" in
1220     solaris*)
1221         APP_LIB_DEPS="-lX11 -lsocket -lnsl -lm"
1222         ;;
1223     cygwin*)
1224         APP_LIB_DEPS="-lX11"
1225         ;;
1226     *)
1227         APP_LIB_DEPS="-lm"
1228         ;;
1229     esac
1230 fi
1231 AC_SUBST([APP_LIB_DEPS])
1232 AC_SUBST([PROGRAM_DIRS])
1233
1234 dnl
1235 dnl Gallium configuration
1236 dnl
1237 AC_ARG_ENABLE([gallium],
1238     [AS_HELP_STRING([--disable-gallium],
1239         [build gallium @<:@default=enabled@:>@])],
1240     [enable_gallium="$enableval"],
1241     [enable_gallium=yes])
1242 if test "x$enable_gallium" = xyes; then
1243     SRC_DIRS="$SRC_DIRS gallium gallium/winsys gallium/targets"
1244     AC_CHECK_HEADER([udis86.h], [HAS_UDIS86="yes"],
1245                 [HAS_UDIS86="no"])
1246     AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
1247 fi
1248
1249 AC_SUBST([LLVM_CFLAGS])
1250 AC_SUBST([LLVM_LIBS])
1251 AC_SUBST([LLVM_LDFLAGS])
1252 AC_SUBST([LLVM_VERSION])
1253
1254 dnl
1255 dnl Gallium state trackers configuration
1256 dnl
1257 AC_ARG_WITH([state-trackers],
1258     [AS_HELP_STRING([--with-state-trackers@<:@=DIRS...@:>@],
1259         [comma delimited state_trackers list, e.g.
1260         "egl,glx" @<:@default=auto@:>@])],
1261     [with_state_trackers="$withval"],
1262     [with_state_trackers=yes])
1263
1264 case "$with_state_trackers" in
1265 no)
1266     GALLIUM_STATE_TRACKERS_DIRS=""
1267     ;;
1268 yes)
1269     # look at what else is built
1270     case "$mesa_driver" in
1271     xlib)
1272         GALLIUM_STATE_TRACKERS_DIRS=glx
1273         ;;
1274     dri)
1275         GALLIUM_STATE_TRACKERS_DIRS="dri"
1276         HAVE_ST_DRI="yes"
1277         if test "x$enable_egl" = xyes; then
1278             GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS egl"
1279             HAVE_ST_EGL="yes"
1280         fi
1281         # Have only tested st/xorg on 1.6.0 servers
1282         PKG_CHECK_MODULES(XORG, [xorg-server >= 1.6.0 libdrm >= $LIBDRM_XORG_REQUIRED libkms >= $LIBKMS_XORG_REQUIRED],
1283             HAVE_ST_XORG="yes"; GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xorg",
1284             HAVE_ST_XORG="no")
1285         ;;
1286     esac
1287     ;;
1288 *)
1289     # verify the requested state tracker exist
1290     state_trackers=`IFS=', '; echo $with_state_trackers`
1291     for tracker in $state_trackers; do
1292         test -d "$srcdir/src/gallium/state_trackers/$tracker" || \
1293             AC_MSG_ERROR([state tracker '$tracker' doesn't exist])
1294
1295         case "$tracker" in
1296         dri)
1297             if test "x$mesa_driver" != xdri; then
1298                 AC_MSG_ERROR([cannot build dri state tracker without mesa driver set to dri])
1299             fi
1300             HAVE_ST_DRI="yes"
1301             ;;
1302         egl)
1303             if test "x$enable_egl" != xyes; then
1304                 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1305             fi
1306             HAVE_ST_EGL="yes"
1307             ;;
1308         xorg)
1309             PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
1310             PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
1311             HAVE_ST_XORG="yes"
1312             ;;
1313         es)
1314             # mesa/es is required to build es state tracker
1315             CORE_DIRS="$CORE_DIRS mesa/es"
1316             ;;
1317         esac
1318     done
1319     GALLIUM_STATE_TRACKERS_DIRS="$state_trackers"
1320     ;;
1321 esac
1322
1323 if test "x$HAVE_ST_XORG" = xyes; then
1324     PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
1325         HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
1326         HAVE_XEXTPROTO_71="no")
1327 fi
1328
1329 AC_ARG_WITH([egl-displays],
1330     [AS_HELP_STRING([--with-egl-displays@<:@=DIRS...@:>@],
1331         [comma delimited native displays libEGL supports, e.g.
1332         "x11,kms" @<:@default=auto@:>@])],
1333     [with_egl_displays="$withval"],
1334     [with_egl_displays=yes])
1335
1336 EGL_DISPLAYS=""
1337 case "$with_egl_displays" in
1338 yes)
1339     if test "x$enable_egl" = xyes && test "x$mesa_driver" != xosmesa; then
1340         EGL_DISPLAYS="x11"
1341     fi
1342     ;;
1343 *)
1344     if test "x$enable_egl" != xyes; then
1345         AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1346     fi
1347     # verify the requested driver directories exist
1348     egl_displays=`IFS=', '; echo $with_egl_displays`
1349     for dpy in $egl_displays; do
1350         test -d "$srcdir/src/gallium/state_trackers/egl/$dpy" || \
1351             AC_MSG_ERROR([EGL display '$dpy' does't exist])
1352     done
1353     EGL_DISPLAYS="$egl_displays"
1354     ;;
1355 esac
1356 AC_SUBST([EGL_DISPLAYS])
1357
1358 AC_ARG_WITH([egl-driver-dir],
1359     [AS_HELP_STRING([--with-egl-driver-dir=DIR],
1360                     [directory for EGL drivers [[default=${libdir}/egl]]])],
1361     [EGL_DRIVER_INSTALL_DIR="$withval"],
1362     [EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
1363 AC_SUBST([EGL_DRIVER_INSTALL_DIR])
1364
1365 AC_ARG_WITH([xorg-driver-dir],
1366     [AS_HELP_STRING([--with-xorg-driver-dir=DIR],
1367                     [Default xorg driver directory[[default=${libdir}/xorg/modules/drivers]]])],
1368     [XORG_DRIVER_INSTALL_DIR="$withval"],
1369     [XORG_DRIVER_INSTALL_DIR="${libdir}/xorg/modules/drivers"])
1370 AC_SUBST([XORG_DRIVER_INSTALL_DIR])
1371
1372 AC_ARG_WITH([max-width],
1373     [AS_HELP_STRING([--with-max-width=N],
1374                     [Maximum framebuffer width (4096)])],
1375     [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1376      AS_IF([test "${withval}" -gt "4096"],
1377            [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1378 )
1379 AC_ARG_WITH([max-height],
1380     [AS_HELP_STRING([--with-max-height=N],
1381                     [Maximum framebuffer height (4096)])],
1382     [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1383      AS_IF([test "${withval}" -gt "4096"],
1384            [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1385 )
1386
1387 dnl
1388 dnl Gallium LLVM
1389 dnl
1390 AC_ARG_ENABLE([gallium-llvm],
1391     [AS_HELP_STRING([--enable-gallium-llvm],
1392         [build gallium LLVM support @<:@default=disabled@:>@])],
1393     [enable_gallium_llvm="$enableval"],
1394     [enable_gallium_llvm=auto])
1395 if test "x$enable_gallium_llvm" = xyes; then
1396     if test "x$LLVM_CONFIG" != xno; then
1397         LLVM_VERSION=`$LLVM_CONFIG --version`
1398         LLVM_CFLAGS=`$LLVM_CONFIG --cflags`
1399         LLVM_LIBS="`$LLVM_CONFIG --libs jit interpreter nativecodegen bitwriter` -lstdc++"
1400
1401         if test "x$HAS_UDIS86" != xno; then
1402             LLVM_LIBS="$LLVM_LIBS -ludis86"
1403             DEFINES="$DEFINES -DHAVE_UDIS86"
1404         fi
1405         LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1406         GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
1407         DEFINES="$DEFINES -DMESA_LLVM -D__STDC_CONSTANT_MACROS"
1408         MESA_LLVM=1
1409     else
1410         MESA_LLVM=0
1411     fi
1412 else
1413     MESA_LLVM=0
1414 fi
1415
1416 dnl
1417 dnl Gallium helper functions
1418 dnl
1419 gallium_check_st() {
1420     if test "x$HAVE_ST_DRI" = xyes || test "x$HAVE_ST_EGL" = xyes || test "x$HAVE_ST_XORG" = xyes; then
1421          GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
1422     fi
1423     if test "x$HAVE_ST_DRI" = xyes && test "x$2" != x; then
1424          GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
1425     fi
1426     if test "x$HAVE_ST_EGL" = xyes && test "x$3" != x; then
1427          GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
1428     fi
1429     if test "x$HAVE_ST_XORG" = xyes && test "x$4" != x; then
1430          GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $4"
1431     fi
1432 }
1433
1434
1435 dnl
1436 dnl Gallium SVGA configuration
1437 dnl
1438 AC_ARG_ENABLE([gallium-svga],
1439     [AS_HELP_STRING([--enable-gallium-svga],
1440         [build gallium SVGA @<:@default=disabled@:>@])],
1441     [enable_gallium_svga="$enableval"],
1442     [enable_gallium_svga=auto])
1443 if test "x$enable_gallium_svga" = xyes; then
1444     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga"
1445     gallium_check_st "svga/drm" "dri-vmwgfx" "egl-vmwgfx" "xorg-vmwgfx"
1446 elif test "x$enable_gallium_svga" = xauto; then
1447     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga"
1448 fi
1449
1450 dnl
1451 dnl Gallium Intel configuration
1452 dnl
1453 AC_ARG_ENABLE([gallium-intel],
1454     [AS_HELP_STRING([--enable-gallium-intel],
1455         [build gallium intel @<:@default=disabled@:>@])],
1456     [enable_gallium_intel="$enableval"],
1457     [enable_gallium_intel=auto])
1458 if test "x$enable_gallium_intel" = xyes; then
1459     GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1460     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915 i965"
1461     gallium_check_st "i915/drm i965/drm" "dri-i915 dri-i965" "egl-i915 egl-i965" "xorg-i915 xorg-i965"
1462 elif test "x$enable_gallium_intel" = xauto; then
1463     GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
1464     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915 i965"
1465 fi
1466
1467 dnl
1468 dnl Gallium Radeon configuration
1469 dnl
1470 AC_ARG_ENABLE([gallium-radeon],
1471     [AS_HELP_STRING([--enable-gallium-radeon],
1472         [build gallium radeon @<:@default=disabled@:>@])],
1473     [enable_gallium_radeon="$enableval"],
1474     [enable_gallium_radeon=auto])
1475 if test "x$enable_gallium_radeon" = xyes; then
1476     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
1477     gallium_check_st "radeon/drm" "dri-radeong" "egl-radeon" "xorg-radeon"
1478 elif test "x$enable_gallium_radeon" = xauto; then
1479     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
1480 fi
1481
1482 dnl
1483 dnl Gallium Nouveau configuration
1484 dnl
1485 AC_ARG_ENABLE([gallium-nouveau],
1486     [AS_HELP_STRING([--enable-gallium-nouveau],
1487         [build gallium nouveau @<:@default=disabled@:>@])],
1488     [enable_gallium_nouveau="$enableval"],
1489     [enable_gallium_nouveau=no])
1490 if test "x$enable_gallium_nouveau" = xyes; then
1491     GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nvfx nv50"
1492     gallium_check_st "nouveau/drm" "dri-nouveau" "egl-nouveau" "xorg-nouveau"
1493 fi
1494
1495 dnl
1496 dnl Gallium swrast configuration
1497 dnl
1498 AC_ARG_ENABLE([gallium-swrast],
1499     [AS_HELP_STRING([--enable-gallium-swrast],
1500         [build gallium swrast @<:@default=auto@:>@])],
1501     [enable_gallium_swrast="$enableval"],
1502     [enable_gallium_swrast=auto])
1503 if test "x$enable_gallium_swrast" = xyes || test "x$enable_gallium_swrast" = xauto; then
1504     if test "x$HAVE_ST_DRI" = xyes; then
1505         GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast"
1506     fi
1507     if test "x$HAVE_ST_EGL" = xyes; then
1508         GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl-swrast"
1509     fi
1510 fi
1511
1512 dnl prepend CORE_DIRS to SRC_DIRS
1513 SRC_DIRS="$CORE_DIRS $SRC_DIRS"
1514
1515 dnl Restore LDFLAGS and CPPFLAGS
1516 LDFLAGS="$_SAVE_LDFLAGS"
1517 CPPFLAGS="$_SAVE_CPPFLAGS"
1518
1519 dnl Substitute the config
1520 AC_CONFIG_FILES([configs/autoconf])
1521
1522 dnl Replace the configs/current symlink
1523 AC_CONFIG_COMMANDS([configs],[
1524 if test -f configs/current || test -L configs/current; then
1525     rm -f configs/current
1526 fi
1527 ln -s autoconf configs/current
1528 ])
1529
1530 AC_OUTPUT
1531
1532 dnl
1533 dnl Output some configuration info for the user
1534 dnl
1535 echo ""
1536 echo "        prefix:          $prefix"
1537 echo "        exec_prefix:     $exec_prefix"
1538 echo "        libdir:          $libdir"
1539 echo "        includedir:      $includedir"
1540
1541 dnl Driver info
1542 echo ""
1543 echo "        Driver:          $mesa_driver"
1544 if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then
1545     echo "        OSMesa:          lib$OSMESA_LIB"
1546 else
1547     echo "        OSMesa:          no"
1548 fi
1549 if test "$mesa_driver" = dri; then
1550     # cleanup the drivers var
1551     dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/  */ /;s/ *$//'`
1552 if test "x$DRI_DIRS" = x; then
1553     echo "        DRI drivers:     no"
1554 else
1555     echo "        DRI drivers:     $dri_dirs"
1556 fi
1557     echo "        DRI driver dir:  $DRI_DRIVER_INSTALL_DIR"
1558 fi
1559 echo "        Use XCB:         $enable_xcb"
1560
1561 echo ""
1562 if test "x$MESA_LLVM" == x1; then
1563     echo "        llvm:            yes"
1564     echo "        llvm-config:     $LLVM_CONFIG"
1565     echo "        llvm-version:    $LLVM_VERSION"
1566 else
1567     echo "        llvm:            no"
1568 fi
1569
1570 echo ""
1571 if echo "$SRC_DIRS" | grep 'gallium' >/dev/null 2>&1; then
1572     echo "        Gallium:         yes"
1573     echo "        Gallium dirs:    $GALLIUM_DIRS"
1574     echo "        Target dirs:     $GALLIUM_TARGET_DIRS"
1575     echo "        Winsys dirs:     $GALLIUM_WINSYS_DIRS"
1576     echo "        Driver dirs:     $GALLIUM_DRIVERS_DIRS"
1577     echo "        Trackers dirs:   $GALLIUM_STATE_TRACKERS_DIRS"
1578 else
1579     echo "        Gallium:         no"
1580 fi
1581
1582 dnl Libraries
1583 echo ""
1584 echo "        Shared libs:     $enable_shared"
1585 echo "        Static libs:     $enable_static"
1586 if test "$enable_egl" = yes; then
1587     echo "        EGL:             $EGL_DRIVERS_DIRS"
1588 else
1589     echo "        EGL:             no"
1590 fi
1591 echo "        GLU:             $enable_glu"
1592 echo "        GLw:             $enable_glw (Motif: $enable_motif)"
1593 echo "        glut:            $enable_glut"
1594
1595 dnl Programs
1596 # cleanup the programs var for display
1597 program_dirs=`echo $PROGRAM_DIRS | $SED 's/^ *//;s/  */ /;s/ *$//'`
1598 if test "x$program_dirs" = x; then
1599     echo "        Demos:           no"
1600 else
1601     echo "        Demos:           $program_dirs"
1602 fi
1603
1604 dnl Compiler options
1605 # cleanup the CFLAGS/CXXFLAGS/DEFINES vars
1606 cflags=`echo $CFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1607     $SED 's/^ *//;s/  */ /;s/ *$//'`
1608 cxxflags=`echo $CXXFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1609     $SED 's/^ *//;s/  */ /;s/ *$//'`
1610 defines=`echo $DEFINES $ASM_FLAGS | $SED 's/^ *//;s/  */ /;s/ *$//'`
1611 echo ""
1612 echo "        CFLAGS:          $cflags"
1613 echo "        CXXFLAGS:        $cxxflags"
1614 echo "        Macros:          $defines"
1615
1616 echo ""
1617 echo "        Run '${MAKE-make}' to build Mesa"
1618 echo ""