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