blob: d6f15b5c346d43ee7d5b15fffafb16cc0f92cb28 [file] [log] [blame]
Dan Nicholsondca1b792007-10-23 09:25:58 -07001dnl Process this file with autoconf to create configure.
2
Dan Nicholson297e16c2008-05-05 15:42:53 -07003AC_PREREQ([2.59])
Dan Nicholsondca1b792007-10-23 09:25:58 -07004
Dan Nicholson00994ac2008-04-30 15:06:00 -07005dnl Versioning - scrape the version from configs/default
6m4_define([mesa_version],
Vinson Lee48f8a762010-05-11 12:33:30 -07007 [m4_esyscmd([${MAKE-make} -s -f bin/version.mk version | tr -d '\n' | tr -d '\r'])])
Dan Nicholson356f3112009-04-29 06:49:27 -07008m4_ifval(mesa_version,,
9 [m4_fatal([Failed to get the Mesa version from `make -f bin/version.mk version`])])
Dan Nicholsondca1b792007-10-23 09:25:58 -070010
Dan Nicholsone97ab722008-07-01 08:55:42 -070011dnl Tell the user about autoconf.html in the --help output
12m4_divert_once([HELP_END], [
13See docs/autoconf.html for more details on the options for Mesa.])
14
Dan Nicholson00994ac2008-04-30 15:06:00 -070015AC_INIT([Mesa],[mesa_version],
Dan Nicholsonf64d6fe2007-12-12 17:57:45 -080016 [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
Dan Nicholson297e16c2008-05-05 15:42:53 -070017AC_CONFIG_AUX_DIR([bin])
Dan Nicholsondca1b792007-10-23 09:25:58 -070018AC_CANONICAL_HOST
19
Dan Nicholsoncc77e8f2008-05-05 14:38:22 -070020dnl Versions for external dependencies
Eric Anholt859828c2009-10-08 17:18:12 -070021LIBDRM_REQUIRED=2.4.15
Fabio Pedrettiae1c0a02009-12-22 10:43:35 +100022LIBDRM_RADEON_REQUIRED=2.4.17
Kristian Høgsbergaa0cd702010-02-15 10:44:05 -050023DRI2PROTO_REQUIRED=2.1
Jesse Barnesf2f83d92010-01-11 17:28:10 -050024GLPROTO_REQUIRED=1.4.11
Jakob Bornecrantz683a0992010-03-11 19:23:15 +000025LIBDRM_XORG_REQUIRED=2.4.17
26LIBKMS_XORG_REQUIRED=1.0.0
Dan Nicholsoncc77e8f2008-05-05 14:38:22 -070027
Dan Nicholsondca1b792007-10-23 09:25:58 -070028dnl Check for progs
29AC_PROG_CPP
30AC_PROG_CC
31AC_PROG_CXX
Dan Nicholson297e16c2008-05-05 15:42:53 -070032AC_CHECK_PROGS([MAKE], [gmake make])
Kenneth Graunke3acc8262010-10-25 13:52:58 -070033AC_CHECK_PROGS([PYTHON2], [python2 python])
Dan Nicholson297e16c2008-05-05 15:42:53 -070034AC_PATH_PROG([MKDEP], [makedepend])
35AC_PATH_PROG([SED], [sed])
Dan Nicholson41b00702007-12-12 08:48:30 -080036
Luca Barbierif762f7b2010-09-24 10:10:09 +020037if test "x$MKDEP" = "x"; then
38 AC_MSG_ERROR([makedepend is required to build Mesa])
39fi
40
Dan Nicholsonbc302b22009-05-22 09:39:02 -070041dnl Our fallback install-sh is a symlink to minstall. Use the existing
42dnl configuration in that case.
43AC_PROG_INSTALL
44test "x$INSTALL" = "x$ac_install_sh" && INSTALL='$(MINSTALL)'
45
Dan Nicholsonbfb27b52008-06-30 09:40:30 -070046dnl We need a POSIX shell for parts of the build. Assume we have one
47dnl in most cases.
Alan Coopersmithe1f9adc2008-06-20 17:58:53 -070048case "$host_os" in
49solaris*)
50 # Solaris /bin/sh is too old/non-POSIX compliant
51 AC_PATH_PROGS(POSIX_SHELL, [ksh93 ksh sh])
Dan Nicholsonbfb27b52008-06-30 09:40:30 -070052 SHELL="$POSIX_SHELL"
Alan Coopersmithe1f9adc2008-06-20 17:58:53 -070053 ;;
54esac
55
nobled2a501872010-08-29 20:03:37 -040056dnl clang is mostly GCC-compatible, but its version is much lower,
57dnl so we have to check for it.
58AC_MSG_CHECKING([if compiling with clang])
59
60AC_COMPILE_IFELSE(
61[AC_LANG_PROGRAM([], [[
62#ifndef __clang__
63 not clang
64#endif
65]])],
66[CLANG=yes], [CLANG=no])
67
68AC_MSG_RESULT([$CLANG])
69
Ian Romanick9aa3aa72010-03-03 15:59:37 -080070dnl If we're using GCC, make sure that it is at least version 3.3.0. Older
71dnl versions are explictly not supported.
nobled2a501872010-08-29 20:03:37 -040072if test "x$GCC" = xyes -a "x$CLANG" = xno; then
Ian Romanick9aa3aa72010-03-03 15:59:37 -080073 AC_MSG_CHECKING([whether gcc version is sufficient])
74 major=0
75 minor=0
76
77 GCC_VERSION=`$CC -dumpversion`
78 if test $? -eq 0; then
79 major=`echo $GCC_VERSION | cut -d. -f1`
80 minor=`echo $GCC_VERSION | cut -d. -f1`
81 fi
82
83 if test $major -lt 3 -o $major -eq 3 -a $minor -lt 3 ; then
84 AC_MSG_RESULT([no])
85 AC_MSG_ERROR([If using GCC, version 3.3.0 or later is required.])
86 else
87 AC_MSG_RESULT([yes])
88 fi
89fi
90
91
Dan Nicholsondb7fc632008-03-07 11:48:09 -080092MKDEP_OPTIONS=-fdepend
Kristian Høgsbergbcecea62008-02-25 18:50:26 -050093dnl Ask gcc where it's keeping its secret headers
94if test "x$GCC" = xyes; then
Dan Nicholsona3d223f2009-01-30 10:52:09 -080095 for dir in include include-fixed; do
96 GCC_INCLUDES=`$CC -print-file-name=$dir`
97 if test "x$GCC_INCLUDES" != x && \
98 test "$GCC_INCLUDES" != "$dir" && \
99 test -d "$GCC_INCLUDES"; then
100 MKDEP_OPTIONS="$MKDEP_OPTIONS -I$GCC_INCLUDES"
101 fi
102 done
Kristian Høgsbergbcecea62008-02-25 18:50:26 -0500103fi
Dan Nicholson297e16c2008-05-05 15:42:53 -0700104AC_SUBST([MKDEP_OPTIONS])
Kristian Høgsbergbcecea62008-02-25 18:50:26 -0500105
Dan Nicholson41b00702007-12-12 08:48:30 -0800106dnl Make sure the pkg-config macros are defined
Dan Nicholson356f3112009-04-29 06:49:27 -0700107m4_ifndef([PKG_PROG_PKG_CONFIG],
108 [m4_fatal([Could not locate the pkg-config autoconf macros.
109 These are usually located in /usr/share/aclocal/pkg.m4. If your macros
110 are in a different location, try setting the environment variable
111 ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
Dan Nicholsondca1b792007-10-23 09:25:58 -0700112PKG_PROG_PKG_CONFIG()
113
114dnl LIB_DIR - library basename
115LIB_DIR=`echo $libdir | $SED 's%.*/%%'`
Dan Nicholson297e16c2008-05-05 15:42:53 -0700116AC_SUBST([LIB_DIR])
Dan Nicholsondca1b792007-10-23 09:25:58 -0700117
118dnl Cache LDFLAGS so we can add EXTRA_LIB_PATH and restore it later
119_SAVE_LDFLAGS="$LDFLAGS"
Dan Nicholson297e16c2008-05-05 15:42:53 -0700120AC_ARG_VAR([EXTRA_LIB_PATH],[Extra -L paths for the linker])
121AC_SUBST([EXTRA_LIB_PATH])
Dan Nicholsondca1b792007-10-23 09:25:58 -0700122
123dnl Cache CPPFLAGS so we can add *_INCLUDES and restore it later
124_SAVE_CPPFLAGS="$CPPFLAGS"
Dan Nicholson297e16c2008-05-05 15:42:53 -0700125AC_ARG_VAR([X11_INCLUDES],[Extra -I paths for X11 headers])
126AC_SUBST([X11_INCLUDES])
Dan Nicholsondca1b792007-10-23 09:25:58 -0700127
128dnl Compiler macros
129DEFINES=""
Dan Nicholson297e16c2008-05-05 15:42:53 -0700130AC_SUBST([DEFINES])
Dan Nicholsondca1b792007-10-23 09:25:58 -0700131case "$host_os" in
Samuel Thibaultd18dd6a2009-04-23 05:43:22 -0700132linux*|*-gnu*|gnu*)
Dan Nicholson29f603a2009-01-12 11:10:31 -0800133 DEFINES="$DEFINES -D_GNU_SOURCE -DPTHREADS"
Dan Nicholsondca1b792007-10-23 09:25:58 -0700134 ;;
Alan Coopersmithe1f9adc2008-06-20 17:58:53 -0700135solaris*)
136 DEFINES="$DEFINES -DPTHREADS -DSVR4"
137 ;;
Brian Paul97988902010-02-18 12:46:12 -0700138cygwin*)
139 DEFINES="$DEFINES -DPTHREADS"
140 ;;
Dan Nicholsondca1b792007-10-23 09:25:58 -0700141esac
142
143dnl Add flags for gcc and g++
144if test "x$GCC" = xyes; then
Eric Anholta3c2bd42010-08-30 14:19:23 -0700145 CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -std=c99"
146 if test "x$CLANG" = "xno"; then
147 CFLAGS="$CFLAGS -ffast-math"
148 fi
Alan Coopersmithadda7f32010-01-16 18:34:23 -0800149
150 # Enable -fvisibility=hidden if using a gcc that supports it
151 save_CFLAGS="$CFLAGS"
Alan Coopersmithf8107a42010-01-21 16:42:58 -0800152 AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
Alan Coopersmithadda7f32010-01-16 18:34:23 -0800153 CFLAGS="$CFLAGS -fvisibility=hidden"
154 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
155 [CFLAGS="$save_CFLAGS" ; AC_MSG_RESULT([no])]);
Dan Nicholson0c275b62008-01-15 22:52:25 -0800156
157 # Work around aliasing bugs - developers should comment this out
158 CFLAGS="$CFLAGS -fno-strict-aliasing"
Dan Nicholsondca1b792007-10-23 09:25:58 -0700159fi
160if test "x$GXX" = xyes; then
161 CXXFLAGS="$CXXFLAGS -Wall"
Dan Nicholson0c275b62008-01-15 22:52:25 -0800162
Kristian Høgsberg7b34fcc2010-09-08 20:34:07 -0400163 # Enable -fvisibility=hidden if using a gcc that supports it
164 save_CXXFLAGS="$CXXFLAGS"
165 AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
166 CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
167 AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
168 [CXXFLAGS="$save_CXXFLAGS" ; AC_MSG_RESULT([no])]);
169
Dan Nicholson0c275b62008-01-15 22:52:25 -0800170 # Work around aliasing bugs - developers should comment this out
171 CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
Dan Nicholsondca1b792007-10-23 09:25:58 -0700172fi
173
174dnl These should be unnecessary, but let the user set them if they want
Dan Nicholson297e16c2008-05-05 15:42:53 -0700175AC_ARG_VAR([OPT_FLAGS], [Additional optimization flags for the compiler.
Dan Nicholsondca1b792007-10-23 09:25:58 -0700176 Default is to use CFLAGS.])
Dan Nicholson297e16c2008-05-05 15:42:53 -0700177AC_ARG_VAR([ARCH_FLAGS], [Additional architecture specific flags for the
Dan Nicholsondca1b792007-10-23 09:25:58 -0700178 compiler. Default is to use CFLAGS.])
Dan Nicholson297e16c2008-05-05 15:42:53 -0700179AC_SUBST([OPT_FLAGS])
180AC_SUBST([ARCH_FLAGS])
Dan Nicholsondca1b792007-10-23 09:25:58 -0700181
182dnl
Dan Nicholsonab57cba2007-12-26 11:12:29 -0600183dnl Hacks to enable 32 or 64 bit build
184dnl
Dan Nicholson297e16c2008-05-05 15:42:53 -0700185AC_ARG_ENABLE([32-bit],
Dan Nicholsonab57cba2007-12-26 11:12:29 -0600186 [AS_HELP_STRING([--enable-32-bit],
187 [build 32-bit libraries @<:@default=auto@:>@])],
Dan Nicholson297e16c2008-05-05 15:42:53 -0700188 [enable_32bit="$enableval"],
189 [enable_32bit=auto]
Dan Nicholsonab57cba2007-12-26 11:12:29 -0600190)
191if test "x$enable_32bit" = xyes; then
192 if test "x$GCC" = xyes; then
193 CFLAGS="$CFLAGS -m32"
Marc Dietrichc705e722009-08-31 08:56:33 -0700194 ARCH_FLAGS="$ARCH_FLAGS -m32"
Dan Nicholsonab57cba2007-12-26 11:12:29 -0600195 fi
196 if test "x$GXX" = xyes; then
197 CXXFLAGS="$CXXFLAGS -m32"
198 fi
199fi
Dan Nicholson297e16c2008-05-05 15:42:53 -0700200AC_ARG_ENABLE([64-bit],
Dan Nicholsonab57cba2007-12-26 11:12:29 -0600201 [AS_HELP_STRING([--enable-64-bit],
202 [build 64-bit libraries @<:@default=auto@:>@])],
Dan Nicholson297e16c2008-05-05 15:42:53 -0700203 [enable_64bit="$enableval"],
204 [enable_64bit=auto]
Dan Nicholsonab57cba2007-12-26 11:12:29 -0600205)
206if test "x$enable_64bit" = xyes; then
207 if test "x$GCC" = xyes; then
208 CFLAGS="$CFLAGS -m64"
209 fi
210 if test "x$GXX" = xyes; then
211 CXXFLAGS="$CXXFLAGS -m64"
212 fi
213fi
214
215dnl
Dan Nicholson88586332007-11-15 08:59:57 -0800216dnl shared/static libraries, mimic libtool options
217dnl
Dan Nicholson297e16c2008-05-05 15:42:53 -0700218AC_ARG_ENABLE([static],
Dan Nicholson88586332007-11-15 08:59:57 -0800219 [AS_HELP_STRING([--enable-static],
Dan Nicholson79ad4582007-12-07 19:11:01 -0800220 [build static libraries @<:@default=disabled@:>@])],
Dan Nicholson297e16c2008-05-05 15:42:53 -0700221 [enable_static="$enableval"],
222 [enable_static=no]
Dan Nicholson88586332007-11-15 08:59:57 -0800223)
224case "x$enable_static" in
225xyes|xno ) ;;
226x ) enable_static=no ;;
227* )
228 AC_MSG_ERROR([Static library option '$enable_static' is not a valid])
229 ;;
230esac
Dan Nicholson297e16c2008-05-05 15:42:53 -0700231AC_ARG_ENABLE([shared],
Dan Nicholson88586332007-11-15 08:59:57 -0800232 [AS_HELP_STRING([--disable-shared],
Dan Nicholson79ad4582007-12-07 19:11:01 -0800233 [build shared libraries @<:@default=enabled@:>@])],
Dan Nicholson297e16c2008-05-05 15:42:53 -0700234 [enable_shared="$enableval"],
235 [enable_shared=yes]
Dan Nicholson88586332007-11-15 08:59:57 -0800236)
237case "x$enable_shared" in
238xyes|xno ) ;;
239x ) enable_shared=yes ;;
240* )
241 AC_MSG_ERROR([Shared library option '$enable_shared' is not a valid])
242 ;;
243esac
244
245dnl Can't have static and shared libraries, default to static if user
246dnl explicitly requested. If both disabled, set to static since shared
247dnl was explicitly requirested.
248case "x$enable_static$enable_shared" in
249xyesyes )
250 AC_MSG_WARN([Can't build static and shared libraries, disabling shared])
251 enable_shared=no
252 ;;
253xnono )
254 AC_MSG_WARN([Can't disable both static and shared libraries, enabling static])
255 enable_static=yes
256 ;;
257esac
258
259dnl
260dnl mklib options
261dnl
Dan Nicholson297e16c2008-05-05 15:42:53 -0700262AC_ARG_VAR([MKLIB_OPTIONS],[Options for the Mesa library script, mklib])
Dan Nicholson88586332007-11-15 08:59:57 -0800263if test "$enable_static" = yes; then
264 MKLIB_OPTIONS="$MKLIB_OPTIONS -static"
265fi
Dan Nicholson297e16c2008-05-05 15:42:53 -0700266AC_SUBST([MKLIB_OPTIONS])
Dan Nicholson88586332007-11-15 08:59:57 -0800267
Dan Nicholson23656c42007-12-12 09:02:31 -0800268dnl
269dnl other compiler options
270dnl
Dan Nicholson297e16c2008-05-05 15:42:53 -0700271AC_ARG_ENABLE([debug],
Dan Nicholson23656c42007-12-12 09:02:31 -0800272 [AS_HELP_STRING([--enable-debug],
273 [use debug compiler flags and macros @<:@default=disabled@:>@])],
Dan Nicholson297e16c2008-05-05 15:42:53 -0700274 [enable_debug="$enableval"],
275 [enable_debug=no]
Dan Nicholson23656c42007-12-12 09:02:31 -0800276)
277if test "x$enable_debug" = xyes; then
278 DEFINES="$DEFINES -DDEBUG"
279 if test "x$GCC" = xyes; then
280 CFLAGS="$CFLAGS -g"
281 fi
282 if test "x$GXX" = xyes; then
283 CXXFLAGS="$CXXFLAGS -g"
284 fi
285fi
Dan Nicholson88586332007-11-15 08:59:57 -0800286
287dnl
Dan Nicholsondca1b792007-10-23 09:25:58 -0700288dnl library names
289dnl
Jon TURNEYc55a8a72010-07-24 12:05:34 +0100290LIB_PREFIX_GLOB='lib'
291LIB_VERSION_SEPARATOR='.'
Dan Nicholson88586332007-11-15 08:59:57 -0800292if test "$enable_static" = yes; then
Dan Nicholson8217f242009-02-11 15:16:00 -0800293 LIB_EXTENSION='a'
Dan Nicholson88586332007-11-15 08:59:57 -0800294else
Siddhartha Chaudhuri1a46c8a2009-02-09 07:58:38 -0700295 case "$host_os" in
296 darwin* )
297 LIB_EXTENSION='dylib' ;;
Jon TURNEY7eed6ab2009-06-08 16:02:18 +0100298 cygwin* )
Jon TURNEYc55a8a72010-07-24 12:05:34 +0100299 dnl prefix can be 'cyg' or 'lib'
300 LIB_PREFIX_GLOB='???'
301 LIB_VERSION_SEPARATOR='-'
302 LIB_EXTENSION='dll' ;;
Tom Fogal9282edf2009-10-13 10:55:33 -0700303 aix* )
304 LIB_EXTENSION='a' ;;
Siddhartha Chaudhuri1a46c8a2009-02-09 07:58:38 -0700305 * )
306 LIB_EXTENSION='so' ;;
307 esac
Dan Nicholson88586332007-11-15 08:59:57 -0800308fi
Dan Nicholson8217f242009-02-11 15:16:00 -0800309
310GL_LIB_NAME='lib$(GL_LIB).'${LIB_EXTENSION}
311GLU_LIB_NAME='lib$(GLU_LIB).'${LIB_EXTENSION}
312GLUT_LIB_NAME='lib$(GLUT_LIB).'${LIB_EXTENSION}
313GLW_LIB_NAME='lib$(GLW_LIB).'${LIB_EXTENSION}
314OSMESA_LIB_NAME='lib$(OSMESA_LIB).'${LIB_EXTENSION}
Chia-I Wud4c1ee02009-12-21 11:13:18 +0800315EGL_LIB_NAME='lib$(EGL_LIB).'${LIB_EXTENSION}
Kristian Høgsberg9339c122010-03-05 19:01:43 -0500316GLESv1_CM_LIB_NAME='lib$(GLESv1_CM_LIB).'${LIB_EXTENSION}
317GLESv2_LIB_NAME='lib$(GLESv2_LIB).'${LIB_EXTENSION}
Chia-I Wu874ccd52010-05-04 22:43:05 +0800318VG_LIB_NAME='lib$(VG_LIB).'${LIB_EXTENSION}
Dan Nicholson8217f242009-02-11 15:16:00 -0800319
Jon TURNEYc55a8a72010-07-24 12:05:34 +0100320GL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
321GLU_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLU_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
322GLUT_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLUT_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
323GLW_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLW_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
324OSMESA_LIB_GLOB=${LIB_PREFIX_GLOB}'$(OSMESA_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
325EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
326EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
327GLESv1_CM_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv1_CM_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
328GLESv2_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv2_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
329VG_LIB_GLOB=${LIB_PREFIX_GLOB}'$(VG_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
Dan Nicholson8217f242009-02-11 15:16:00 -0800330
Dan Nicholson297e16c2008-05-05 15:42:53 -0700331AC_SUBST([GL_LIB_NAME])
332AC_SUBST([GLU_LIB_NAME])
333AC_SUBST([GLUT_LIB_NAME])
334AC_SUBST([GLW_LIB_NAME])
335AC_SUBST([OSMESA_LIB_NAME])
Chia-I Wud4c1ee02009-12-21 11:13:18 +0800336AC_SUBST([EGL_LIB_NAME])
Kristian Høgsberg9339c122010-03-05 19:01:43 -0500337AC_SUBST([GLESv1_CM_LIB_NAME])
338AC_SUBST([GLESv2_LIB_NAME])
Chia-I Wu874ccd52010-05-04 22:43:05 +0800339AC_SUBST([VG_LIB_NAME])
Dan Nicholsondca1b792007-10-23 09:25:58 -0700340
Siddhartha Chaudhuri1a46c8a2009-02-09 07:58:38 -0700341AC_SUBST([GL_LIB_GLOB])
342AC_SUBST([GLU_LIB_GLOB])
343AC_SUBST([GLUT_LIB_GLOB])
344AC_SUBST([GLW_LIB_GLOB])
345AC_SUBST([OSMESA_LIB_GLOB])
Chia-I Wud4c1ee02009-12-21 11:13:18 +0800346AC_SUBST([EGL_LIB_GLOB])
Kristian Høgsberg9339c122010-03-05 19:01:43 -0500347AC_SUBST([GLESv1_CM_LIB_GLOB])
348AC_SUBST([GLESv2_LIB_GLOB])
Chia-I Wu874ccd52010-05-04 22:43:05 +0800349AC_SUBST([VG_LIB_GLOB])
Siddhartha Chaudhuri1a46c8a2009-02-09 07:58:38 -0700350
Dan Nicholsondca1b792007-10-23 09:25:58 -0700351dnl
Dan Nicholson871125a2008-06-04 13:00:35 -0700352dnl Arch/platform-specific settings
353dnl
354AC_ARG_ENABLE([asm],
355 [AS_HELP_STRING([--disable-asm],
356 [disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
357 [enable_asm="$enableval"],
358 [enable_asm=yes]
359)
360asm_arch=""
361ASM_FLAGS=""
Dan Nicholsonc5bae142009-02-11 11:04:29 -0800362MESA_ASM_SOURCES=""
363GLAPI_ASM_SOURCES=""
Dan Nicholson871125a2008-06-04 13:00:35 -0700364AC_MSG_CHECKING([whether to enable assembly])
365test "x$enable_asm" = xno && AC_MSG_RESULT([no])
366# disable if cross compiling on x86/x86_64 since we must run gen_matypes
367if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
368 case "$host_cpu" in
369 i?86 | x86_64)
370 enable_asm=no
371 AC_MSG_RESULT([no, cross compiling])
372 ;;
373 esac
374fi
375# check for supported arches
376if test "x$enable_asm" = xyes; then
377 case "$host_cpu" in
378 i?86)
379 case "$host_os" in
Julien Cristau98fcdf32008-10-28 18:56:05 +0100380 linux* | *freebsd* | dragonfly*)
Dan Nicholson871125a2008-06-04 13:00:35 -0700381 test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86
382 ;;
383 esac
384 ;;
385 x86_64)
386 case "$host_os" in
Julien Cristau98fcdf32008-10-28 18:56:05 +0100387 linux* | *freebsd* | dragonfly*)
Dan Nicholson871125a2008-06-04 13:00:35 -0700388 test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
389 ;;
390 esac
391 ;;
392 powerpc)
393 case "$host_os" in
394 linux*)
395 asm_arch=ppc
396 ;;
397 esac
398 ;;
David S. Miller857ac1e2009-02-26 05:35:15 -0800399 sparc*)
400 case "$host_os" in
401 linux*)
402 asm_arch=sparc
403 ;;
404 esac
405 ;;
Dan Nicholson871125a2008-06-04 13:00:35 -0700406 esac
407
408 case "$asm_arch" in
409 x86)
Dan Nicholson61e925f2009-02-11 10:42:34 -0800410 ASM_FLAGS="-DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
Dan Nicholsonc5bae142009-02-11 11:04:29 -0800411 MESA_ASM_SOURCES='$(X86_SOURCES)'
412 GLAPI_ASM_SOURCES='$(X86_API)'
Dan Nicholson871125a2008-06-04 13:00:35 -0700413 AC_MSG_RESULT([yes, x86])
414 ;;
415 x86_64)
416 ASM_FLAGS="-DUSE_X86_64_ASM"
Dan Nicholsonc5bae142009-02-11 11:04:29 -0800417 MESA_ASM_SOURCES='$(X86-64_SOURCES)'
418 GLAPI_ASM_SOURCES='$(X86-64_API)'
Dan Nicholson871125a2008-06-04 13:00:35 -0700419 AC_MSG_RESULT([yes, x86_64])
420 ;;
421 ppc)
422 ASM_FLAGS="-DUSE_PPC_ASM -DUSE_VMX_ASM"
Dan Nicholsonc5bae142009-02-11 11:04:29 -0800423 MESA_ASM_SOURCES='$(PPC_SOURCES)'
Dan Nicholson871125a2008-06-04 13:00:35 -0700424 AC_MSG_RESULT([yes, ppc])
425 ;;
David S. Miller857ac1e2009-02-26 05:35:15 -0800426 sparc)
427 ASM_FLAGS="-DUSE_SPARC_ASM"
428 MESA_ASM_SOURCES='$(SPARC_SOURCES)'
429 GLAPI_ASM_SOURCES='$(SPARC_API)'
430 AC_MSG_RESULT([yes, sparc])
431 ;;
Dan Nicholson871125a2008-06-04 13:00:35 -0700432 *)
433 AC_MSG_RESULT([no, platform not supported])
434 ;;
435 esac
436fi
437AC_SUBST([ASM_FLAGS])
Dan Nicholsonc5bae142009-02-11 11:04:29 -0800438AC_SUBST([MESA_ASM_SOURCES])
439AC_SUBST([GLAPI_ASM_SOURCES])
Dan Nicholson871125a2008-06-04 13:00:35 -0700440
441dnl PIC code macro
442MESA_PIC_FLAGS
443
444dnl Check to see if dlopen is in default libraries (like Solaris, which
445dnl has it in libc), or if libdl is needed to get it.
446AC_CHECK_FUNC([dlopen], [],
447 [AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])])
Chia-I Wu08f4bc02010-07-16 20:09:29 +0800448AC_SUBST([DLOPEN_LIBS])
Dan Nicholson871125a2008-06-04 13:00:35 -0700449
Dan Nicholson985e1cd2008-06-04 13:17:06 -0700450dnl See if posix_memalign is available
451AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
452
Dan Nicholson871125a2008-06-04 13:00:35 -0700453dnl SELinux awareness.
454AC_ARG_ENABLE([selinux],
455 [AS_HELP_STRING([--enable-selinux],
456 [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
457 [MESA_SELINUX="$enableval"],
458 [MESA_SELINUX=no])
459if test "x$enable_selinux" = "xyes"; then
460 AC_CHECK_HEADER([selinux/selinux.h],[],
461 [AC_MSG_ERROR([SELinux headers not found])])
462 AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
463 [AC_MSG_ERROR([SELinux library not found])])
464 SELINUX_LIBS="-lselinux"
465 DEFINES="$DEFINES -DMESA_SELINUX"
466fi
467
Dan Nicholson871125a2008-06-04 13:00:35 -0700468dnl
Dan Nicholsona1307182007-12-12 17:49:49 -0800469dnl Driver configuration. Options are xlib, dri and osmesa right now.
Kristian Høgsberg43875802010-02-25 15:49:18 -0500470dnl More later: fbdev, ...
Dan Nicholson44d99142007-12-05 18:47:01 -0800471dnl
Eric Anholt711222b2008-04-18 15:03:01 -0700472default_driver="xlib"
473
474case "$host_os" in
475linux*)
476 case "$host_cpu" in
David S. Miller32dc28a2009-02-24 20:06:05 -0700477 i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
Eric Anholt711222b2008-04-18 15:03:01 -0700478 esac
479 ;;
Julien Cristau98fcdf32008-10-28 18:56:05 +0100480*freebsd* | dragonfly*)
Eric Anholt711222b2008-04-18 15:03:01 -0700481 case "$host_cpu" in
Robert Noland48f05432009-04-10 11:41:27 -0500482 i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
Eric Anholt711222b2008-04-18 15:03:01 -0700483 esac
484 ;;
485esac
486
Dan Nicholson297e16c2008-05-05 15:42:53 -0700487AC_ARG_WITH([driver],
Dan Nicholson44d99142007-12-05 18:47:01 -0800488 [AS_HELP_STRING([--with-driver=DRIVER],
Eric Anholt711222b2008-04-18 15:03:01 -0700489 [driver for Mesa: xlib,dri,osmesa @<:@default=dri when available, or xlib@:>@])],
Dan Nicholson297e16c2008-05-05 15:42:53 -0700490 [mesa_driver="$withval"],
491 [mesa_driver="$default_driver"])
Dan Nicholson44d99142007-12-05 18:47:01 -0800492dnl Check for valid option
493case "x$mesa_driver" in
Dan Nicholsona1307182007-12-12 17:49:49 -0800494xxlib|xdri|xosmesa)
Dan Nicholson44d99142007-12-05 18:47:01 -0800495 ;;
496*)
497 AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option])
498 ;;
499esac
500
Eric Anholt0a1b54d2010-06-21 11:29:15 -0700501PKG_CHECK_MODULES([TALLOC], [talloc])
Eric Anholt639cdd32010-08-22 17:34:18 -0700502AC_SUBST([TALLOC_LIBS])
503AC_SUBST([TALLOC_CFLAGS])
Eric Anholt0a1b54d2010-06-21 11:29:15 -0700504
Dan Nicholson44d99142007-12-05 18:47:01 -0800505dnl
506dnl Driver specific build directories
Dan Nicholsondca1b792007-10-23 09:25:58 -0700507dnl
Chia-I Wu99a37ed2010-01-05 17:39:05 +0800508
509dnl this variable will be prepended to SRC_DIRS and is not exported
Chia-I Wu296adbd2010-04-26 12:56:44 +0800510CORE_DIRS="mapi/glapi glsl mesa"
Chia-I Wu99a37ed2010-01-05 17:39:05 +0800511
Jakob Bornecrantz05281062010-06-05 13:33:58 +0200512SRC_DIRS=""
Dan Nicholsondca1b792007-10-23 09:25:58 -0700513GLU_DIRS="sgi"
Jakob Bornecrantz7e54d7d2009-02-11 02:38:21 +0100514GALLIUM_DIRS="auxiliary drivers state_trackers"
Keith Whitwell51bff092010-03-11 14:43:00 +0000515GALLIUM_TARGET_DIRS=""
Jakob Bornecrantzc9f98672010-03-16 13:54:18 +0000516GALLIUM_WINSYS_DIRS="sw"
Corbin Simpson25609782010-06-22 22:00:43 -0700517GALLIUM_DRIVERS_DIRS="softpipe failover galahad trace rbug identity"
Jakob Bornecrantz7e54d7d2009-02-11 02:38:21 +0100518GALLIUM_STATE_TRACKERS_DIRS=""
519
Dan Nicholson44d99142007-12-05 18:47:01 -0800520case "$mesa_driver" in
Dan Nicholsona1307182007-12-12 17:49:49 -0800521xlib)
Dan Nicholson44d99142007-12-05 18:47:01 -0800522 DRIVER_DIRS="x11"
Jakob Bornecrantzc9f98672010-03-16 13:54:18 +0000523 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
Keith Whitwell51bff092010-03-11 14:43:00 +0000524 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
Dan Nicholson44d99142007-12-05 18:47:01 -0800525 ;;
526dri)
Kristian Høgsberg6e8897f2010-02-09 09:58:36 -0500527 SRC_DIRS="$SRC_DIRS glx"
Jakob Bornecrantz7e54d7d2009-02-11 02:38:21 +0100528 DRIVER_DIRS="dri"
Jakob Bornecrantz23a915e2010-06-23 03:31:18 +0200529 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib sw/dri"
Dan Nicholson44d99142007-12-05 18:47:01 -0800530 ;;
Dan Nicholson979ff512007-12-05 18:47:01 -0800531osmesa)
532 DRIVER_DIRS="osmesa"
533 ;;
Dan Nicholson44d99142007-12-05 18:47:01 -0800534esac
Dan Nicholson297e16c2008-05-05 15:42:53 -0700535AC_SUBST([SRC_DIRS])
536AC_SUBST([GLU_DIRS])
537AC_SUBST([DRIVER_DIRS])
Jakob Bornecrantz7e54d7d2009-02-11 02:38:21 +0100538AC_SUBST([GALLIUM_DIRS])
Keith Whitwell51bff092010-03-11 14:43:00 +0000539AC_SUBST([GALLIUM_TARGET_DIRS])
Jerome Glisse14f79d42008-12-18 13:36:07 +0100540AC_SUBST([GALLIUM_WINSYS_DIRS])
Jakob Bornecrantzd67bd602009-02-20 11:03:18 +0000541AC_SUBST([GALLIUM_DRIVERS_DIRS])
Jakob Bornecrantz7e54d7d2009-02-11 02:38:21 +0100542AC_SUBST([GALLIUM_STATE_TRACKERS_DIRS])
Dave Airlie81fe1982010-04-22 14:59:29 +1000543AC_SUBST([MESA_LLVM])
Dan Nicholsondca1b792007-10-23 09:25:58 -0700544
545dnl
Dan Nicholsone6a06092008-05-05 15:16:22 -0700546dnl Find out if X is available. The variable have_x is set if libX11 is
Dan Nicholson99803a42008-07-01 09:03:15 -0700547dnl found to mimic AC_PATH_XTRA.
Dan Nicholsondca1b792007-10-23 09:25:58 -0700548dnl
549if test -n "$PKG_CONFIG"; then
550 AC_MSG_CHECKING([pkg-config files for X11 are available])
Dan Nicholsone6a06092008-05-05 15:16:22 -0700551 PKG_CHECK_EXISTS([x11],[
Dan Nicholsondca1b792007-10-23 09:25:58 -0700552 x11_pkgconfig=yes
553 have_x=yes
Dan Nicholsone6a06092008-05-05 15:16:22 -0700554 ],[
Dan Nicholsondca1b792007-10-23 09:25:58 -0700555 x11_pkgconfig=no
Dan Nicholsone6a06092008-05-05 15:16:22 -0700556 ])
557 AC_MSG_RESULT([$x11_pkgconfig])
Dan Nicholsondca1b792007-10-23 09:25:58 -0700558else
559 x11_pkgconfig=no
560fi
561dnl Use the autoconf macro if no pkg-config files
Jeff Smith8d86d392010-03-12 18:55:09 -0600562if test "$x11_pkgconfig" = yes; then
Dan Nicholsone725ef12010-03-15 20:53:56 -0700563 PKG_CHECK_MODULES([X11], [x11])
Jeff Smith8d86d392010-03-12 18:55:09 -0600564else
Dan Nicholsondca1b792007-10-23 09:25:58 -0700565 AC_PATH_XTRA
Dan Nicholsone725ef12010-03-15 20:53:56 -0700566 test -z "$X11_CFLAGS" && X11_CFLAGS="$X_CFLAGS"
567 test -z "$X11_LIBS" && X11_LIBS="$X_LIBS -lX11"
568 AC_SUBST([X11_CFLAGS])
569 AC_SUBST([X11_LIBS])
Dan Nicholsondca1b792007-10-23 09:25:58 -0700570fi
571
Dan Nicholson99803a42008-07-01 09:03:15 -0700572dnl Try to tell the user that the --x-* options are only used when
573dnl pkg-config is not available. This must be right after AC_PATH_XTRA.
574m4_divert_once([HELP_BEGIN],
575[These options are only used when the X libraries cannot be found by the
576pkg-config utility.])
577
Dan Nicholson44d99142007-12-05 18:47:01 -0800578dnl We need X for xlib and dri, so bomb now if it's not found
579case "$mesa_driver" in
Dan Nicholsona1307182007-12-12 17:49:49 -0800580xlib|dri)
Dan Nicholson44d99142007-12-05 18:47:01 -0800581 if test "$no_x" = yes; then
582 AC_MSG_ERROR([X11 development libraries needed for $mesa_driver driver])
583 fi
584 ;;
585esac
Dan Nicholsondca1b792007-10-23 09:25:58 -0700586
Dan Nicholson2d709fe2008-05-06 10:51:49 -0700587dnl XCB - this is only used for GLX right now
588AC_ARG_ENABLE([xcb],
589 [AS_HELP_STRING([--enable-xcb],
590 [use XCB for GLX @<:@default=disabled@:>@])],
591 [enable_xcb="$enableval"],
592 [enable_xcb=no])
593if test "x$enable_xcb" = xyes; then
594 DEFINES="$DEFINES -DUSE_XCB"
595else
596 enable_xcb=no
597fi
598
Dan Nicholson44d99142007-12-05 18:47:01 -0800599dnl
600dnl libGL configuration per driver
601dnl
602case "$mesa_driver" in
Dan Nicholsona1307182007-12-12 17:49:49 -0800603xlib)
Dan Nicholson44d99142007-12-05 18:47:01 -0800604 if test "$x11_pkgconfig" = yes; then
Dan Nicholson297e16c2008-05-05 15:42:53 -0700605 PKG_CHECK_MODULES([XLIBGL], [x11 xext])
Dan Nicholson71e208b2008-11-24 11:01:57 -0800606 GL_PC_REQ_PRIV="x11 xext"
Dan Nicholsona1307182007-12-12 17:49:49 -0800607 X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
608 GL_LIB_DEPS="$XLIBGL_LIBS"
Dan Nicholson44d99142007-12-05 18:47:01 -0800609 else
610 # should check these...
611 X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
612 GL_LIB_DEPS="$X_LIBS -lX11 -lXext"
Dan Nicholson71e208b2008-11-24 11:01:57 -0800613 GL_PC_LIB_PRIV="$GL_LIB_DEPS"
614 GL_PC_CFLAGS="$X11_INCLUDES"
Dan Nicholson44d99142007-12-05 18:47:01 -0800615 fi
Jon TURNEY63563032010-08-30 12:41:15 +0100616 GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread $TALLOC_LIBS"
617 GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm -lpthread $TALLOC_LIBS"
Dan Nicholson88586332007-11-15 08:59:57 -0800618
619 # if static, move the external libraries to the programs
620 # and empty the libraries for libGL
621 if test "$enable_static" = yes; then
622 APP_LIB_DEPS="$APP_LIB_DEPS $GL_LIB_DEPS"
623 GL_LIB_DEPS=""
624 fi
Dan Nicholson44d99142007-12-05 18:47:01 -0800625 ;;
626dri)
Dan Nicholson88586332007-11-15 08:59:57 -0800627 # DRI must be shared, I think
628 if test "$enable_static" = yes; then
629 AC_MSG_ERROR([Can't use static libraries for DRI drivers])
630 fi
631
Dan Nicholson44d99142007-12-05 18:47:01 -0800632 # Check for libdrm
Dan Nicholsoncc77e8f2008-05-05 14:38:22 -0700633 PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
634 PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
Jesse Barnesf2f83d92010-01-11 17:28:10 -0500635 PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
Jesse Barnesed59b132010-01-13 15:48:14 -0500636 GL_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED glproto >= $GLPROTO_REQUIRED"
637 DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
Dan Nicholson44d99142007-12-05 18:47:01 -0800638
639 # find the DRI deps for libGL
640 if test "$x11_pkgconfig" = yes; then
Jon TURNEY2b9dac32010-04-21 12:58:54 +0100641 dri_modules="x11 xext xdamage xfixes"
642
643 # add xf86vidmode if available
644 PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no)
645 if test "$HAVE_XF86VIDMODE" = yes ; then
646 dri_modules="$dri_modules xxf86vm"
647 fi
648
Dan Nicholson2d709fe2008-05-06 10:51:49 -0700649 # add xcb modules if necessary
Dan Nicholson2d709fe2008-05-06 10:51:49 -0700650 if test "$enable_xcb" = yes; then
651 dri_modules="$dri_modules x11-xcb xcb-glx"
652 fi
653
654 PKG_CHECK_MODULES([DRIGL], [$dri_modules])
Dan Nicholson71e208b2008-11-24 11:01:57 -0800655 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
Dan Nicholson44d99142007-12-05 18:47:01 -0800656 X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
657 GL_LIB_DEPS="$DRIGL_LIBS"
658 else
659 # should check these...
660 X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
661 GL_LIB_DEPS="$X_LIBS -lX11 -lXext -lXxf86vm -lXdamage -lXfixes"
Dan Nicholson71e208b2008-11-24 11:01:57 -0800662 GL_PC_LIB_PRIV="$GL_LIB_DEPS"
663 GL_PC_CFLAGS="$X11_INCLUDES"
Dan Nicholson2d709fe2008-05-06 10:51:49 -0700664
665 # XCB can only be used from pkg-config
666 if test "$enable_xcb" = yes; then
667 PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx])
Dan Nicholson71e208b2008-11-24 11:01:57 -0800668 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV x11-xcb xcb-glx"
Dan Nicholson2d709fe2008-05-06 10:51:49 -0700669 X11_INCLUDES="$X11_INCLUDES $XCB_CFLAGS"
670 GL_LIB_DEPS="$GL_LIB_DEPS $XCB_LIBS"
671 fi
Dan Nicholson44d99142007-12-05 18:47:01 -0800672 fi
673
674 # need DRM libs, -lpthread, etc.
Alan Coopersmith3cf6e622009-03-23 16:51:54 -0700675 GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
676 GL_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
Kristian Høgsberg9339c122010-03-05 19:01:43 -0500677 GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
Kristian Høgsberg74399d42010-05-02 09:51:13 -0400678 GLESv1_CM_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
Kristian Høgsberg9339c122010-03-05 19:01:43 -0500679 GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
Kristian Høgsberg74399d42010-05-02 09:51:13 -0400680 GLESv2_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
Dan Nicholson44d99142007-12-05 18:47:01 -0800681 ;;
Dan Nicholson979ff512007-12-05 18:47:01 -0800682osmesa)
683 # No libGL for osmesa
Alan Coopersmith3cf6e622009-03-23 16:51:54 -0700684 GL_LIB_DEPS=""
Dan Nicholson979ff512007-12-05 18:47:01 -0800685 ;;
Dan Nicholson44d99142007-12-05 18:47:01 -0800686esac
Dan Nicholson297e16c2008-05-05 15:42:53 -0700687AC_SUBST([GL_LIB_DEPS])
Dan Nicholson71e208b2008-11-24 11:01:57 -0800688AC_SUBST([GL_PC_REQ_PRIV])
689AC_SUBST([GL_PC_LIB_PRIV])
690AC_SUBST([GL_PC_CFLAGS])
691AC_SUBST([DRI_PC_REQ_PRIV])
Li Pengc33c1912010-07-30 12:26:15 +0800692AC_SUBST([GLESv1_CM_LIB_DEPS])
Kristian Høgsberg9e4f2da2010-05-04 14:13:11 -0400693AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
Kristian Høgsberg9339c122010-03-05 19:01:43 -0500694AC_SUBST([GLESv2_LIB_DEPS])
Kristian Høgsberg9e4f2da2010-05-04 14:13:11 -0400695AC_SUBST([GLESv2_PC_LIB_PRIV])
696
Dan Nicholsondca1b792007-10-23 09:25:58 -0700697
Jon TURNEY2b9dac32010-04-21 12:58:54 +0100698AC_SUBST([HAVE_XF86VIDMODE])
699
Marek Olšáka1aec2e2010-09-26 17:52:58 +0200700PKG_CHECK_MODULES([LIBDRM_RADEON],
701 [libdrm_radeon libdrm >= $LIBDRM_RADEON_REQUIRED],
702 HAVE_LIBDRM_RADEON=yes,
703 HAVE_LIBDRM_RADEON=no)
704
Dan Nicholsondca1b792007-10-23 09:25:58 -0700705dnl
706dnl More X11 setup
707dnl
Dan Nicholsona1307182007-12-12 17:49:49 -0800708if test "$mesa_driver" = xlib; then
Dan Nicholsondca1b792007-10-23 09:25:58 -0700709 DEFINES="$DEFINES -DUSE_XSHM"
710fi
711
712dnl
Dan Nicholson44d99142007-12-05 18:47:01 -0800713dnl More DRI setup
714dnl
Dan Nicholson297e16c2008-05-05 15:42:53 -0700715AC_ARG_ENABLE([glx-tls],
Dan Nicholson44d99142007-12-05 18:47:01 -0800716 [AS_HELP_STRING([--enable-glx-tls],
Dan Nicholson79ad4582007-12-07 19:11:01 -0800717 [enable TLS support in GLX @<:@default=disabled@:>@])],
Dan Nicholson297e16c2008-05-05 15:42:53 -0700718 [GLX_USE_TLS="$enableval"],
719 [GLX_USE_TLS=no])
Dan Nicholson44d99142007-12-05 18:47:01 -0800720dnl Directory for DRI drivers
Dan Nicholson297e16c2008-05-05 15:42:53 -0700721AC_ARG_WITH([dri-driverdir],
Dan Nicholsonaf3d2f22007-11-15 08:59:57 -0800722 [AS_HELP_STRING([--with-dri-driverdir=DIR],
Dan Nicholson5dbbde52008-05-06 06:21:41 -0700723 [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
Dan Nicholson297e16c2008-05-05 15:42:53 -0700724 [DRI_DRIVER_INSTALL_DIR="$withval"],
Dan Nicholson5dbbde52008-05-06 06:21:41 -0700725 [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
Dan Nicholson297e16c2008-05-05 15:42:53 -0700726AC_SUBST([DRI_DRIVER_INSTALL_DIR])
Chow Loong Jin35506de2009-10-28 14:34:14 +0800727dnl Extra search path for DRI drivers
728AC_ARG_WITH([dri-searchpath],
729 [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
730 [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
731 [DRI_DRIVER_SEARCH_DIR="$withval"],
732 [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
733AC_SUBST([DRI_DRIVER_SEARCH_DIR])
Dan Nicholson44d99142007-12-05 18:47:01 -0800734dnl Direct rendering or just indirect rendering
Dan Nicholson297e16c2008-05-05 15:42:53 -0700735AC_ARG_ENABLE([driglx-direct],
Dan Nicholson79ad4582007-12-07 19:11:01 -0800736 [AS_HELP_STRING([--disable-driglx-direct],
Chia-I Wucf588ab2010-07-06 14:34:43 +0800737 [enable direct rendering in GLX and EGL for DRI @<:@default=enabled@:>@])],
Dan Nicholson297e16c2008-05-05 15:42:53 -0700738 [driglx_direct="$enableval"],
739 [driglx_direct="yes"])
Dan Nicholsonaf3d2f22007-11-15 08:59:57 -0800740dnl Which drivers to build - default is chosen by platform
Dan Nicholson297e16c2008-05-05 15:42:53 -0700741AC_ARG_WITH([dri-drivers],
Dan Nicholsonaf3d2f22007-11-15 08:59:57 -0800742 [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
Dan Nicholson5cae1b72008-06-30 10:28:02 -0700743 [comma delimited DRI drivers list, e.g.
Michel Dänzercade0712009-07-10 14:49:46 +0200744 "swrast,i965,radeon" @<:@default=auto@:>@])],
Dan Nicholson297e16c2008-05-05 15:42:53 -0700745 [with_dri_drivers="$withval"],
746 [with_dri_drivers=yes])
Dan Nicholsonaf3d2f22007-11-15 08:59:57 -0800747if test "x$with_dri_drivers" = x; then
748 with_dri_drivers=no
749fi
750
Kristian Høgsberg0f680322010-04-27 13:42:33 -0400751dnl Determine which APIs to support
752AC_ARG_ENABLE([opengl],
753 [AS_HELP_STRING([--disable-opengl],
754 [disable support for standard OpenGL API @<:@default=no@:>@])],
755 [enable_opengl="$enableval"],
756 [enable_opengl=yes])
757AC_ARG_ENABLE([gles1],
758 [AS_HELP_STRING([--enable-gles1],
759 [enable support for OpenGL ES 1.x API @<:@default=no@:>@])],
760 [enable_gles1="$enableval"],
761 [enable_gles1=no])
762AC_ARG_ENABLE([gles2],
763 [AS_HELP_STRING([--enable-gles2],
764 [enable support for OpenGL ES 2.x API @<:@default=no@:>@])],
765 [enable_gles2="$enableval"],
766 [enable_gles2=no])
Chia-I Wu63ab2502010-05-05 15:38:02 +0800767AC_ARG_ENABLE([gles-overlay],
768 [AS_HELP_STRING([--enable-gles-overlay],
769 [build separate OpenGL ES only libraries @<:@default=no@:>@])],
770 [enable_gles_overlay="$enableval"],
771 [enable_gles_overlay=no])
Kristian Høgsberg0f680322010-04-27 13:42:33 -0400772
773API_DEFINES=""
Chia-I Wu87cc2da2010-05-12 14:17:17 +0800774GLES_OVERLAY=0
Kristian Høgsberg0f680322010-04-27 13:42:33 -0400775if test "x$enable_opengl" = xno; then
776 API_DEFINES="$API_DEFINES -DFEATURE_GL=0"
777else
778 API_DEFINES="$API_DEFINES -DFEATURE_GL=1"
779fi
780if test "x$enable_gles1" = xyes; then
781 API_DEFINES="$API_DEFINES -DFEATURE_ES1=1"
782fi
783if test "x$enable_gles2" = xyes; then
784 API_DEFINES="$API_DEFINES -DFEATURE_ES2=1"
785fi
Chia-I Wu63ab2502010-05-05 15:38:02 +0800786if test "x$enable_gles_overlay" = xyes -o \
787 "x$enable_gles1" = xyes -o "x$enable_gles2" = xyes; then
Chia-I Wu296adbd2010-04-26 12:56:44 +0800788 CORE_DIRS="mapi/es1api mapi/es2api $CORE_DIRS"
Chia-I Wu63ab2502010-05-05 15:38:02 +0800789 if test "x$enable_gles_overlay" = xyes; then
Chia-I Wu87cc2da2010-05-12 14:17:17 +0800790 GLES_OVERLAY=1
Chia-I Wu63ab2502010-05-05 15:38:02 +0800791 fi
Kristian Høgsberg9339c122010-03-05 19:01:43 -0500792fi
Kristian Høgsberg0f680322010-04-27 13:42:33 -0400793AC_SUBST([API_DEFINES])
Chia-I Wu87cc2da2010-05-12 14:17:17 +0800794AC_SUBST([GLES_OVERLAY])
Kristian Høgsberg0f680322010-04-27 13:42:33 -0400795
Dan Nicholsonaf3d2f22007-11-15 08:59:57 -0800796dnl If $with_dri_drivers is yes, directories will be added through
797dnl platform checks
798DRI_DIRS=""
799case "$with_dri_drivers" in
Florent Thoumieb5095ab2008-07-28 14:44:43 +0100800no) ;;
801yes)
802 DRI_DIRS="yes"
803 ;;
Dan Nicholsonaf3d2f22007-11-15 08:59:57 -0800804*)
805 # verify the requested driver directories exist
Dan Nicholsone6e4f252008-07-06 14:17:39 -0700806 dri_drivers=`IFS=', '; echo $with_dri_drivers`
Dan Nicholsonaf3d2f22007-11-15 08:59:57 -0800807 for driver in $dri_drivers; do
808 test -d "$srcdir/src/mesa/drivers/dri/$driver" || \
809 AC_MSG_ERROR([DRI driver directory '$driver' doesn't exist])
810 done
811 DRI_DIRS="$dri_drivers"
812 ;;
813esac
814
Dan Nicholson44d99142007-12-05 18:47:01 -0800815dnl Set DRI_DIRS, DEFINES and LIB_DEPS
816if test "$mesa_driver" = dri; then
817 # Use TLS in GLX?
818 if test "x$GLX_USE_TLS" = xyes; then
819 DEFINES="$DEFINES -DGLX_USE_TLS -DPTHREADS"
820 fi
821
Dan Nicholson44d99142007-12-05 18:47:01 -0800822 # Platform specific settings and drivers to build
823 case "$host_os" in
824 linux*)
825 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
Dan Nicholson44d99142007-12-05 18:47:01 -0800826 if test "x$driglx_direct" = xyes; then
827 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
828 fi
Jerome Glisse14f79d42008-12-18 13:36:07 +0100829 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
Dan Nicholson44d99142007-12-05 18:47:01 -0800830
831 case "$host_cpu" in
Dan Nicholson44d99142007-12-05 18:47:01 -0800832 x86_64)
Kristian Høgsberg79aeafd2010-02-25 16:12:58 -0500833 # sis is missing because they have not be converted to use
834 # the new interface. i810 are missing because there is no
835 # x86-64 system where they could *ever* be used.
Florent Thoumieb5095ab2008-07-28 14:44:43 +0100836 if test "x$DRI_DIRS" = "xyes"; then
Alex Deucher4138bdb2009-04-08 15:16:35 -0400837 DRI_DIRS="i915 i965 mach64 mga r128 r200 r300 r600 radeon \
George Sapountzis280bf892008-05-11 14:43:40 +0300838 savage tdfx unichrome swrast"
Dan Nicholsonaf3d2f22007-11-15 08:59:57 -0800839 fi
Dan Nicholson44d99142007-12-05 18:47:01 -0800840 ;;
841 powerpc*)
Dan Nicholsona76e2452007-12-07 11:25:08 -0800842 # Build only the drivers for cards that exist on PowerPC.
843 # At some point MGA will be added, but not yet.
Florent Thoumieb5095ab2008-07-28 14:44:43 +0100844 if test "x$DRI_DIRS" = "xyes"; then
Alex Deucher4138bdb2009-04-08 15:16:35 -0400845 DRI_DIRS="mach64 r128 r200 r300 r600 radeon tdfx swrast"
Dan Nicholsonaf3d2f22007-11-15 08:59:57 -0800846 fi
Dan Nicholson44d99142007-12-05 18:47:01 -0800847 ;;
Dave Airlie2b0e75e2008-06-12 12:06:50 +1000848 sparc*)
849 # Build only the drivers for cards that exist on sparc`
Florent Thoumieb5095ab2008-07-28 14:44:43 +0100850 if test "x$DRI_DIRS" = "xyes"; then
Kristian Høgsberg79aeafd2010-02-25 16:12:58 -0500851 DRI_DIRS="mach64 r128 r200 r300 r600 radeon swrast"
Dave Airlie2b0e75e2008-06-12 12:06:50 +1000852 fi
853 ;;
Dan Nicholson44d99142007-12-05 18:47:01 -0800854 esac
855 ;;
Hasso Tepper9f8df2d2008-04-09 10:51:21 -0700856 freebsd* | dragonfly*)
Dan Nicholson44d99142007-12-05 18:47:01 -0800857 DEFINES="$DEFINES -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1"
858 DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS"
859 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
860 if test "x$driglx_direct" = xyes; then
861 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
862 fi
863 if test "x$GXX" = xyes; then
864 CXXFLAGS="$CXXFLAGS -ansi -pedantic"
865 fi
866
Florent Thoumieb5095ab2008-07-28 14:44:43 +0100867 if test "x$DRI_DIRS" = "xyes"; then
Alex Deucher4138bdb2009-04-08 15:16:35 -0400868 DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon tdfx \
George Sapountzis280bf892008-05-11 14:43:40 +0300869 unichrome savage sis swrast"
Dan Nicholsonaf3d2f22007-11-15 08:59:57 -0800870 fi
Dan Nicholson44d99142007-12-05 18:47:01 -0800871 ;;
Samuel Thibaultd18dd6a2009-04-23 05:43:22 -0700872 gnu*)
873 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
874 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
875 ;;
Alan Coopersmithe1f9adc2008-06-20 17:58:53 -0700876 solaris*)
877 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
878 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
879 if test "x$driglx_direct" = xyes; then
880 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
881 fi
882 ;;
Dan Nicholson44d99142007-12-05 18:47:01 -0800883 esac
Dan Nicholson112a40e2008-02-21 10:17:19 -0800884
885 # default drivers
Florent Thoumieb5095ab2008-07-28 14:44:43 +0100886 if test "x$DRI_DIRS" = "xyes"; then
Corbin Simpson8e4657a2009-10-22 12:29:30 -0700887 DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon \
Kristian Høgsberg79aeafd2010-02-25 16:12:58 -0500888 savage sis tdfx unichrome swrast"
Dan Nicholson112a40e2008-02-21 10:17:19 -0800889 fi
890
Dan Nicholson44d99142007-12-05 18:47:01 -0800891 DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'`
892
893 # Check for expat
894 EXPAT_INCLUDES=""
895 EXPAT_LIB=-lexpat
Dan Nicholson297e16c2008-05-05 15:42:53 -0700896 AC_ARG_WITH([expat],
897 [AS_HELP_STRING([--with-expat=DIR],
898 [expat install directory])],[
Dan Nicholson44d99142007-12-05 18:47:01 -0800899 EXPAT_INCLUDES="-I$withval/include"
900 CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES"
901 LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR"
902 EXPAT_LIB="-L$withval/$LIB_DIR -lexpat"
903 ])
Dan Nicholson297e16c2008-05-05 15:42:53 -0700904 AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])])
905 AC_CHECK_LIB([expat],[XML_ParserCreate],[],
906 [AC_MSG_ERROR([Expat required for DRI.])])
Dan Nicholson44d99142007-12-05 18:47:01 -0800907
908 # put all the necessary libs together
Eric Anholt0a1b54d2010-06-21 11:29:15 -0700909 DRI_LIB_DEPS="$SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread $DLOPEN_LIBS $TALLOC_LIBS"
Dan Nicholson44d99142007-12-05 18:47:01 -0800910fi
Dan Nicholson297e16c2008-05-05 15:42:53 -0700911AC_SUBST([DRI_DIRS])
912AC_SUBST([EXPAT_INCLUDES])
913AC_SUBST([DRI_LIB_DEPS])
Dan Nicholson44d99142007-12-05 18:47:01 -0800914
Kristian Høgsberg8616cec2010-01-01 17:03:33 -0500915case $DRI_DIRS in
916*i915*|*i965*)
Eric Anholt73de09f2010-06-07 09:25:10 -0700917 PKG_CHECK_MODULES([INTEL], [libdrm_intel >= 2.4.21])
Kristian Høgsberg8616cec2010-01-01 17:03:33 -0500918 ;;
Kristian Høgsberg27fe7a72010-01-07 10:29:29 -0500919esac
Kristian Høgsberg8616cec2010-01-01 17:03:33 -0500920
Kristian Høgsberg27fe7a72010-01-07 10:29:29 -0500921case $DRI_DIRS in
Kristian Høgsberg8616cec2010-01-01 17:03:33 -0500922*radeon*|*r200*|*r300*|*r600*)
Marek Olšáka1aec2e2010-09-26 17:52:58 +0200923 if test "x$HAVE_LIBDRM_RADEON" = xyes; then
Kristian Høgsberg8616cec2010-01-01 17:03:33 -0500924 RADEON_CFLAGS="-DHAVE_LIBDRM_RADEON=1 $LIBDRM_RADEON_CFLAGS"
925 RADEON_LDFLAGS=$LIBDRM_RADEON_LIBS
926 fi
927 ;;
928esac
929AC_SUBST([RADEON_CFLAGS])
930AC_SUBST([RADEON_LDFLAGS])
931
932
Dan Nicholson44d99142007-12-05 18:47:01 -0800933dnl
Dan Nicholsondca1b792007-10-23 09:25:58 -0700934dnl OSMesa configuration
935dnl
Dan Nicholsona1307182007-12-12 17:49:49 -0800936if test "$mesa_driver" = xlib; then
Dan Nicholson544ab202007-12-30 08:41:53 -0800937 default_gl_osmesa=yes
Dan Nicholson979ff512007-12-05 18:47:01 -0800938else
Dan Nicholson544ab202007-12-30 08:41:53 -0800939 default_gl_osmesa=no
Dan Nicholson44d99142007-12-05 18:47:01 -0800940fi
Dan Nicholson297e16c2008-05-05 15:42:53 -0700941AC_ARG_ENABLE([gl-osmesa],
Dan Nicholson544ab202007-12-30 08:41:53 -0800942 [AS_HELP_STRING([--enable-gl-osmesa],
Dan Nicholsoncbf30fc2010-06-16 09:23:17 -0700943 [enable OSMesa with libGL @<:@default=enabled for xlib driver@:>@])],
Dan Nicholson297e16c2008-05-05 15:42:53 -0700944 [gl_osmesa="$enableval"],
945 [gl_osmesa="$default_gl_osmesa"])
Dan Nicholson544ab202007-12-30 08:41:53 -0800946if test "x$gl_osmesa" = xyes; then
947 if test "$mesa_driver" = osmesa; then
948 AC_MSG_ERROR([libGL is not available for OSMesa driver])
Dan Nicholson979ff512007-12-05 18:47:01 -0800949 else
Dan Nicholson544ab202007-12-30 08:41:53 -0800950 DRIVER_DIRS="$DRIVER_DIRS osmesa"
Dan Nicholson979ff512007-12-05 18:47:01 -0800951 fi
952fi
953
Dan Nicholson6689f9e2007-12-05 21:04:15 -0800954dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
Dan Nicholson297e16c2008-05-05 15:42:53 -0700955AC_ARG_WITH([osmesa-bits],
Dan Nicholson6689f9e2007-12-05 21:04:15 -0800956 [AS_HELP_STRING([--with-osmesa-bits=BITS],
957 [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
Dan Nicholson297e16c2008-05-05 15:42:53 -0700958 [osmesa_bits="$withval"],
959 [osmesa_bits=8])
Dan Nicholson6689f9e2007-12-05 21:04:15 -0800960if test "$mesa_driver" != osmesa && test "x$osmesa_bits" != x8; then
961 AC_MSG_WARN([Ignoring OSMesa channel bits for non-OSMesa driver])
962 osmesa_bits=8
963fi
964case "x$osmesa_bits" in
965x8)
966 OSMESA_LIB=OSMesa
967 ;;
968x16|x32)
969 OSMESA_LIB="OSMesa$osmesa_bits"
970 DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
971 ;;
972*)
973 AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
974 ;;
975esac
Dan Nicholson297e16c2008-05-05 15:42:53 -0700976AC_SUBST([OSMESA_LIB])
Dan Nicholson6689f9e2007-12-05 21:04:15 -0800977
Dan Nicholsoncbf30fc2010-06-16 09:23:17 -0700978case "$DRIVER_DIRS" in
979*osmesa*)
Alan Coopersmithe1f9adc2008-06-20 17:58:53 -0700980 # only link libraries with osmesa if shared
Dan Nicholson88586332007-11-15 08:59:57 -0800981 if test "$enable_static" = no; then
Jon TURNEYe637f8b2010-08-30 12:41:16 +0100982 OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS $TALLOC_LIBS"
Dan Nicholson88586332007-11-15 08:59:57 -0800983 else
984 OSMESA_LIB_DEPS=""
985 fi
Dan Nicholson979ff512007-12-05 18:47:01 -0800986 OSMESA_MESA_DEPS=""
Jon TURNEYe637f8b2010-08-30 12:41:16 +0100987 OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS $TALLOC_LIBS"
Dan Nicholson979ff512007-12-05 18:47:01 -0800988 ;;
Dan Nicholson979ff512007-12-05 18:47:01 -0800989esac
Dan Nicholson297e16c2008-05-05 15:42:53 -0700990AC_SUBST([OSMESA_LIB_DEPS])
991AC_SUBST([OSMESA_MESA_DEPS])
Dan Nicholson8be02fc2008-12-14 09:35:29 -0800992AC_SUBST([OSMESA_PC_REQ])
993AC_SUBST([OSMESA_PC_LIB_PRIV])
Dan Nicholsondca1b792007-10-23 09:25:58 -0700994
995dnl
Dan Nicholson53b37342009-02-25 17:45:34 -0800996dnl EGL configuration
997dnl
Dan Nicholson66f97862009-04-29 12:11:43 -0700998AC_ARG_ENABLE([egl],
999 [AS_HELP_STRING([--disable-egl],
1000 [disable EGL library @<:@default=enabled@:>@])],
1001 [enable_egl="$enableval"],
1002 [enable_egl=yes])
1003if test "x$enable_egl" = xyes; then
1004 SRC_DIRS="$SRC_DIRS egl"
Chia-I Wud4c1ee02009-12-21 11:13:18 +08001005 EGL_LIB_DEPS="$DLOPEN_LIBS -lpthread"
1006 EGL_DRIVERS_DIRS=""
Chia-I Wu2eb7a2f2010-02-05 10:46:11 +08001007 if test "$enable_static" != yes; then
Chia-I Wud4c1ee02009-12-21 11:13:18 +08001008 # build egl_glx when libGL is built
Chia-I Wu2eb7a2f2010-02-05 10:46:11 +08001009 if test "$mesa_driver" != osmesa; then
1010 EGL_DRIVERS_DIRS="glx"
1011 fi
1012
Chia-I Wu39ae9652010-07-16 19:48:52 +08001013 if test "$mesa_driver" = dri; then
1014 # build egl_dri2 when xcb-dri2 is available
1015 PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 xcb-xfixes],
1016 [have_xcb_dri2=yes],[have_xcb_dri2=no])
1017 PKG_CHECK_MODULES([LIBUDEV], [libudev > 150],
1018 [have_libudev=yes],[have_libudev=no])
1019
1020 if test "$have_xcb_dri2" = yes; then
1021 EGL_DRIVER_DRI2=dri2
1022 DEFINES="$DEFINES -DHAVE_XCB_DRI2"
1023 if test "$have_libudev" = yes; then
1024 DEFINES="$DEFINES -DHAVE_LIBUDEV"
1025 fi
1026 fi
1027 fi
Kristian Høgsberg2168b872010-06-02 22:48:06 -04001028
1029 EGL_DRIVERS_DIRS="$EGL_DRIVERS_DIRS $EGL_DRIVER_DRI2"
Kristian Høgsberg42fa0092010-02-03 10:18:28 -05001030 fi
Dan Nicholson53b37342009-02-25 17:45:34 -08001031fi
Dan Nicholson53b37342009-02-25 17:45:34 -08001032AC_SUBST([EGL_LIB_DEPS])
Chia-I Wud4c1ee02009-12-21 11:13:18 +08001033AC_SUBST([EGL_DRIVERS_DIRS])
Dan Nicholson53b37342009-02-25 17:45:34 -08001034
1035dnl
Dan Nicholsondca1b792007-10-23 09:25:58 -07001036dnl GLU configuration
1037dnl
Dan Nicholson297e16c2008-05-05 15:42:53 -07001038AC_ARG_ENABLE([glu],
Dan Nicholson79ad4582007-12-07 19:11:01 -08001039 [AS_HELP_STRING([--disable-glu],
1040 [enable OpenGL Utility library @<:@default=enabled@:>@])],
Dan Nicholson297e16c2008-05-05 15:42:53 -07001041 [enable_glu="$enableval"],
1042 [enable_glu=yes])
Dan Nicholsondca1b792007-10-23 09:25:58 -07001043if test "x$enable_glu" = xyes; then
1044 SRC_DIRS="$SRC_DIRS glu"
1045
Dan Nicholson979ff512007-12-05 18:47:01 -08001046 case "$mesa_driver" in
1047 osmesa)
Dan Nicholson979ff512007-12-05 18:47:01 -08001048 # Link libGLU to libOSMesa instead of libGL
1049 GLU_LIB_DEPS=""
Dan Nicholson8be02fc2008-12-14 09:35:29 -08001050 GLU_PC_REQ="osmesa"
Dan Nicholson88586332007-11-15 08:59:57 -08001051 if test "$enable_static" = no; then
1052 GLU_MESA_DEPS='-l$(OSMESA_LIB)'
1053 else
1054 GLU_MESA_DEPS=""
1055 fi
Dan Nicholson979ff512007-12-05 18:47:01 -08001056 ;;
1057 *)
Dan Nicholson88586332007-11-15 08:59:57 -08001058 # If static, empty GLU_LIB_DEPS and add libs for programs to link
Dan Nicholson71e208b2008-11-24 11:01:57 -08001059 GLU_PC_REQ="gl"
1060 GLU_PC_LIB_PRIV="-lm"
Dan Nicholson88586332007-11-15 08:59:57 -08001061 if test "$enable_static" = no; then
1062 GLU_LIB_DEPS="-lm"
1063 GLU_MESA_DEPS='-l$(GL_LIB)'
1064 else
1065 GLU_LIB_DEPS=""
1066 GLU_MESA_DEPS=""
1067 APP_LIB_DEPS="$APP_LIB_DEPS -lstdc++"
1068 fi
Dan Nicholson979ff512007-12-05 18:47:01 -08001069 ;;
1070 esac
Dan Nicholsondca1b792007-10-23 09:25:58 -07001071fi
Alan Coopersmithe1f9adc2008-06-20 17:58:53 -07001072if test "$enable_static" = no; then
1073 GLU_LIB_DEPS="$GLU_LIB_DEPS $OS_CPLUSPLUS_LIBS"
1074fi
Dan Nicholson71e208b2008-11-24 11:01:57 -08001075GLU_PC_LIB_PRIV="$GLU_PC_LIB_PRIV $OS_CPLUSPLUS_LIBS"
Dan Nicholson297e16c2008-05-05 15:42:53 -07001076AC_SUBST([GLU_LIB_DEPS])
1077AC_SUBST([GLU_MESA_DEPS])
Dan Nicholson71e208b2008-11-24 11:01:57 -08001078AC_SUBST([GLU_PC_REQ])
1079AC_SUBST([GLU_PC_REQ_PRIV])
Dan Nicholson71e208b2008-11-24 11:01:57 -08001080AC_SUBST([GLU_PC_LIB_PRIV])
1081AC_SUBST([GLU_PC_CFLAGS])
Dan Nicholsondca1b792007-10-23 09:25:58 -07001082
1083dnl
1084dnl GLw configuration
1085dnl
Dan Nicholson297e16c2008-05-05 15:42:53 -07001086AC_ARG_ENABLE([glw],
Dan Nicholson79ad4582007-12-07 19:11:01 -08001087 [AS_HELP_STRING([--disable-glw],
1088 [enable Xt/Motif widget library @<:@default=enabled@:>@])],
Dan Nicholson297e16c2008-05-05 15:42:53 -07001089 [enable_glw="$enableval"],
1090 [enable_glw=yes])
Dan Nicholson979ff512007-12-05 18:47:01 -08001091dnl Don't build GLw on osmesa
1092if test "x$enable_glw" = xyes && test "$mesa_driver" = osmesa; then
1093 AC_MSG_WARN([Disabling GLw since the driver is OSMesa])
1094 enable_glw=no
1095fi
Dan Nicholson776c60d2008-07-18 07:40:41 -07001096AC_ARG_ENABLE([motif],
1097 [AS_HELP_STRING([--enable-motif],
1098 [use Motif widgets in GLw @<:@default=disabled@:>@])],
1099 [enable_motif="$enableval"],
1100 [enable_motif=no])
1101
Dan Nicholsondca1b792007-10-23 09:25:58 -07001102if test "x$enable_glw" = xyes; then
1103 SRC_DIRS="$SRC_DIRS glw"
1104 if test "$x11_pkgconfig" = yes; then
Dan Nicholson297e16c2008-05-05 15:42:53 -07001105 PKG_CHECK_MODULES([GLW],[x11 xt])
Dan Nicholson71e208b2008-11-24 11:01:57 -08001106 GLW_PC_REQ_PRIV="x11 xt"
Dan Nicholsondca1b792007-10-23 09:25:58 -07001107 GLW_LIB_DEPS="$GLW_LIBS"
1108 else
1109 # should check these...
Dan Nicholson776c60d2008-07-18 07:40:41 -07001110 GLW_LIB_DEPS="$X_LIBS -lXt -lX11"
Dan Nicholson71e208b2008-11-24 11:01:57 -08001111 GLW_PC_LIB_PRIV="$GLW_LIB_DEPS"
1112 GLW_PC_CFLAGS="$X11_INCLUDES"
Dan Nicholson776c60d2008-07-18 07:40:41 -07001113 fi
1114
1115 GLW_SOURCES="GLwDrawA.c"
1116 MOTIF_CFLAGS=
1117 if test "x$enable_motif" = xyes; then
1118 GLW_SOURCES="$GLW_SOURCES GLwMDrawA.c"
1119 AC_PATH_PROG([MOTIF_CONFIG], [motif-config], [no])
1120 if test "x$MOTIF_CONFIG" != xno; then
1121 MOTIF_CFLAGS=`$MOTIF_CONFIG --cflags`
1122 MOTIF_LIBS=`$MOTIF_CONFIG --libs`
1123 else
1124 AC_CHECK_HEADER([Xm/PrimitiveP.h], [],
1125 [AC_MSG_ERROR([Can't locate Motif headers])])
1126 AC_CHECK_LIB([Xm], [XmGetPixmap], [MOTIF_LIBS="-lXm"],
1127 [AC_MSG_ERROR([Can't locate Motif Xm library])])
1128 fi
1129 # MOTIF_LIBS is prepended to GLW_LIB_DEPS since Xm needs Xt/X11
1130 GLW_LIB_DEPS="$MOTIF_LIBS $GLW_LIB_DEPS"
Dan Nicholson71e208b2008-11-24 11:01:57 -08001131 GLW_PC_LIB_PRIV="$MOTIF_LIBS $GLW_PC_LIB_PRIV"
1132 GLW_PC_CFLAGS="$MOTIF_CFLAGS $GLW_PC_CFLAGS"
Dan Nicholsondca1b792007-10-23 09:25:58 -07001133 fi
1134
Dan Nicholson88586332007-11-15 08:59:57 -08001135 # If static, empty GLW_LIB_DEPS and add libs for programs to link
Alan Coopersmith3cf6e622009-03-23 16:51:54 -07001136 GLW_PC_LIB_PRIV="$GLW_PC_LIB_PRIV"
Dan Nicholson88586332007-11-15 08:59:57 -08001137 if test "$enable_static" = no; then
1138 GLW_MESA_DEPS='-l$(GL_LIB)'
Alan Coopersmith3cf6e622009-03-23 16:51:54 -07001139 GLW_LIB_DEPS="$GLW_LIB_DEPS"
Dan Nicholson88586332007-11-15 08:59:57 -08001140 else
1141 APP_LIB_DEPS="$APP_LIB_DEPS $GLW_LIB_DEPS"
1142 GLW_LIB_DEPS=""
1143 GLW_MESA_DEPS=""
1144 fi
Dan Nicholsondca1b792007-10-23 09:25:58 -07001145fi
Dan Nicholson297e16c2008-05-05 15:42:53 -07001146AC_SUBST([GLW_LIB_DEPS])
1147AC_SUBST([GLW_MESA_DEPS])
Dan Nicholson776c60d2008-07-18 07:40:41 -07001148AC_SUBST([GLW_SOURCES])
1149AC_SUBST([MOTIF_CFLAGS])
Dan Nicholson71e208b2008-11-24 11:01:57 -08001150AC_SUBST([GLW_PC_REQ_PRIV])
1151AC_SUBST([GLW_PC_LIB_PRIV])
1152AC_SUBST([GLW_PC_CFLAGS])
Dan Nicholsondca1b792007-10-23 09:25:58 -07001153
1154dnl
1155dnl GLUT configuration
1156dnl
1157if test -f "$srcdir/include/GL/glut.h"; then
1158 default_glut=yes
1159else
1160 default_glut=no
1161fi
Dan Nicholson297e16c2008-05-05 15:42:53 -07001162AC_ARG_ENABLE([glut],
Dan Nicholson79ad4582007-12-07 19:11:01 -08001163 [AS_HELP_STRING([--disable-glut],
1164 [enable GLUT library @<:@default=enabled if source available@:>@])],
Dan Nicholson297e16c2008-05-05 15:42:53 -07001165 [enable_glut="$enableval"],
1166 [enable_glut="$default_glut"])
Dan Nicholsondca1b792007-10-23 09:25:58 -07001167
1168dnl Can't build glut if GLU not available
1169if test "x$enable_glu$enable_glut" = xnoyes; then
1170 AC_MSG_WARN([Disabling glut since GLU is disabled])
1171 enable_glut=no
1172fi
Dan Nicholson979ff512007-12-05 18:47:01 -08001173dnl Don't build glut on osmesa
1174if test "x$enable_glut" = xyes && test "$mesa_driver" = osmesa; then
1175 AC_MSG_WARN([Disabling glut since the driver is OSMesa])
1176 enable_glut=no
1177fi
1178
Dan Nicholsondca1b792007-10-23 09:25:58 -07001179if test "x$enable_glut" = xyes; then
1180 SRC_DIRS="$SRC_DIRS glut/glx"
Dan Nicholsondca1b792007-10-23 09:25:58 -07001181 if test "$x11_pkgconfig" = yes; then
Dan Nicholson297e16c2008-05-05 15:42:53 -07001182 PKG_CHECK_MODULES([GLUT],[x11 xmu xi])
Dan Nicholson71e208b2008-11-24 11:01:57 -08001183 GLUT_PC_REQ_PRIV="x11 xmu xi"
Dan Nicholsondca1b792007-10-23 09:25:58 -07001184 GLUT_LIB_DEPS="$GLUT_LIBS"
1185 else
1186 # should check these...
Dan Nicholson70d0c832007-12-07 11:12:20 -08001187 GLUT_LIB_DEPS="$X_LIBS -lX11 -lXmu -lXi"
Dan Nicholson71e208b2008-11-24 11:01:57 -08001188 GLUT_PC_LIB_PRIV="$GLUT_LIB_DEPS"
1189 GLUT_PC_CFLAGS="$X11_INCLUDES"
Dan Nicholsondca1b792007-10-23 09:25:58 -07001190 fi
John Hein96172542010-07-01 12:53:28 -07001191 if test "x$GCC" = xyes; then
1192 GLUT_CFLAGS="$GLUT_CFLAGS -fexceptions"
1193 fi
Alan Coopersmith3cf6e622009-03-23 16:51:54 -07001194 GLUT_LIB_DEPS="$GLUT_LIB_DEPS -lm"
1195 GLUT_PC_LIB_PRIV="$GLUT_PC_LIB_PRIV -lm"
Dan Nicholsondca1b792007-10-23 09:25:58 -07001196
Dan Nicholson88586332007-11-15 08:59:57 -08001197 # 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
Dan Nicholsondca1b792007-10-23 09:25:58 -07001205fi
Dan Nicholson297e16c2008-05-05 15:42:53 -07001206AC_SUBST([GLUT_LIB_DEPS])
1207AC_SUBST([GLUT_MESA_DEPS])
1208AC_SUBST([GLUT_CFLAGS])
Dan Nicholson71e208b2008-11-24 11:01:57 -08001209AC_SUBST([GLUT_PC_REQ_PRIV])
1210AC_SUBST([GLUT_PC_LIB_PRIV])
1211AC_SUBST([GLUT_PC_CFLAGS])
Dan Nicholsondca1b792007-10-23 09:25:58 -07001212
1213dnl
1214dnl Program library dependencies
1215dnl Only libm is added here if necessary as the libraries should
1216dnl be pulled in by the linker
1217dnl
1218if test "x$APP_LIB_DEPS" = x; then
Alan Coopersmithe1f9adc2008-06-20 17:58:53 -07001219 case "$host_os" in
1220 solaris*)
1221 APP_LIB_DEPS="-lX11 -lsocket -lnsl -lm"
1222 ;;
Jon TURNEY7eed6ab2009-06-08 16:02:18 +01001223 cygwin*)
1224 APP_LIB_DEPS="-lX11"
1225 ;;
Alan Coopersmithe1f9adc2008-06-20 17:58:53 -07001226 *)
1227 APP_LIB_DEPS="-lm"
1228 ;;
1229 esac
Dan Nicholsondca1b792007-10-23 09:25:58 -07001230fi
Dan Nicholson297e16c2008-05-05 15:42:53 -07001231AC_SUBST([APP_LIB_DEPS])
1232AC_SUBST([PROGRAM_DIRS])
Dan Nicholsondca1b792007-10-23 09:25:58 -07001233
Jakob Bornecrantz7e54d7d2009-02-11 02:38:21 +01001234dnl
1235dnl Gallium configuration
1236dnl
1237AC_ARG_ENABLE([gallium],
1238 [AS_HELP_STRING([--disable-gallium],
1239 [build gallium @<:@default=enabled@:>@])],
1240 [enable_gallium="$enableval"],
1241 [enable_gallium=yes])
1242if test "x$enable_gallium" = xyes; then
Jakob Bornecrantzbe38b322010-03-23 13:23:26 +00001243 SRC_DIRS="$SRC_DIRS gallium gallium/winsys gallium/targets"
Dave Airlie81fe1982010-04-22 14:59:29 +10001244 AC_CHECK_HEADER([udis86.h], [HAS_UDIS86="yes"],
1245 [HAS_UDIS86="no"])
1246 AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
Jakob Bornecrantz7e54d7d2009-02-11 02:38:21 +01001247fi
Dan Nicholsondca1b792007-10-23 09:25:58 -07001248
Dave Airlie81fe1982010-04-22 14:59:29 +10001249AC_SUBST([LLVM_CFLAGS])
1250AC_SUBST([LLVM_LIBS])
1251AC_SUBST([LLVM_LDFLAGS])
1252AC_SUBST([LLVM_VERSION])
1253
Chia-I Wu874ccd52010-05-04 22:43:05 +08001254VG_LIB_DEPS=""
Chia-I Wu63ab2502010-05-05 15:38:02 +08001255EGL_CLIENT_APIS='$(GL_LIB)'
1256if test "x$enable_gles_overlay" = xyes; then
1257 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GLESv1_CM_LIB) $(GLESv2_LIB)'
1258fi
Chia-I Wu874ccd52010-05-04 22:43:05 +08001259
Jakob Bornecrantz3ede3772009-02-13 00:57:47 +01001260dnl
1261dnl Gallium state trackers configuration
1262dnl
1263AC_ARG_WITH([state-trackers],
1264 [AS_HELP_STRING([--with-state-trackers@<:@=DIRS...@:>@],
1265 [comma delimited state_trackers list, e.g.
1266 "egl,glx" @<:@default=auto@:>@])],
1267 [with_state_trackers="$withval"],
1268 [with_state_trackers=yes])
1269
1270case "$with_state_trackers" in
1271no)
1272 GALLIUM_STATE_TRACKERS_DIRS=""
1273 ;;
1274yes)
1275 # look at what else is built
1276 case "$mesa_driver" in
Jakob Bornecrantz373e6712009-04-18 23:13:56 +01001277 xlib)
1278 GALLIUM_STATE_TRACKERS_DIRS=glx
1279 ;;
Jakob Bornecrantz3ede3772009-02-13 00:57:47 +01001280 dri)
Jakob Bornecrantz5b1fc142010-03-25 18:29:51 +01001281 GALLIUM_STATE_TRACKERS_DIRS="dri"
Jakob Bornecrantza82e37b2010-03-25 22:21:39 +01001282 HAVE_ST_DRI="yes"
Jakob Bornecrantzbc0532b2009-12-04 18:50:29 +00001283 if test "x$enable_egl" = xyes; then
Chia-I Wu3c967a92010-01-22 16:31:43 +08001284 GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS egl"
Jakob Bornecrantza82e37b2010-03-25 22:21:39 +01001285 HAVE_ST_EGL="yes"
Jakob Bornecrantzbc0532b2009-12-04 18:50:29 +00001286 fi
1287 # Have only tested st/xorg on 1.6.0 servers
Jakob Bornecrantz683a0992010-03-11 19:23:15 +00001288 PKG_CHECK_MODULES(XORG, [xorg-server >= 1.6.0 libdrm >= $LIBDRM_XORG_REQUIRED libkms >= $LIBKMS_XORG_REQUIRED],
Jakob Bornecrantza82e37b2010-03-25 22:21:39 +01001289 HAVE_ST_XORG="yes"; GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xorg",
1290 HAVE_ST_XORG="no")
Jakob Bornecrantz3ede3772009-02-13 00:57:47 +01001291 ;;
1292 esac
1293 ;;
1294*)
1295 # verify the requested state tracker exist
Chia-I Wu63ab2502010-05-05 15:38:02 +08001296 state_trackers=""
1297 _state_trackers=`IFS=', '; echo $with_state_trackers`
1298 for tracker in $_state_trackers; do
Chia-I Wue5d351d2009-12-23 11:18:00 +08001299 case "$tracker" in
Jakob Bornecrantza82e37b2010-03-25 22:21:39 +01001300 dri)
1301 if test "x$mesa_driver" != xdri; then
1302 AC_MSG_ERROR([cannot build dri state tracker without mesa driver set to dri])
1303 fi
1304 HAVE_ST_DRI="yes"
1305 ;;
Chia-I Wu3c967a92010-01-22 16:31:43 +08001306 egl)
Chia-I Wue5d351d2009-12-23 11:18:00 +08001307 if test "x$enable_egl" != xyes; then
Chia-I Wu3c967a92010-01-22 16:31:43 +08001308 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
Chia-I Wue5d351d2009-12-23 11:18:00 +08001309 fi
Jakob Bornecrantza82e37b2010-03-25 22:21:39 +01001310 HAVE_ST_EGL="yes"
Chia-I Wue5d351d2009-12-23 11:18:00 +08001311 ;;
1312 xorg)
Jakob Bornecrantz4f956882010-07-13 07:40:47 -07001313 PKG_CHECK_MODULES([XORG], [xorg-server >= 1.6.0])
Jakob Bornecrantz683a0992010-03-11 19:23:15 +00001314 PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
1315 PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
Jakob Bornecrantza82e37b2010-03-25 22:21:39 +01001316 HAVE_ST_XORG="yes"
Chia-I Wue5d351d2009-12-23 11:18:00 +08001317 ;;
1318 es)
Chia-I Wu63ab2502010-05-05 15:38:02 +08001319 AC_MSG_WARN([state tracker 'es' has been replaced by --enable-gles-overlay])
1320
1321 if test "x$enable_gles_overlay" != xyes; then
1322 if test "x$enable_gles1" != xyes -a "x$enable_gles2" != xyes; then
1323 CORE_DIRS="mapi/es1api mapi/es2api $CORE_DIRS"
1324 fi
Chia-I Wu87cc2da2010-05-12 14:17:17 +08001325 GLES_OVERLAY=1
Chia-I Wu63ab2502010-05-05 15:38:02 +08001326 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GLESv1_CM_LIB) $(GLESv2_LIB)'
Chia-I Wu296adbd2010-04-26 12:56:44 +08001327 fi
Chia-I Wu63ab2502010-05-05 15:38:02 +08001328 tracker=""
Chia-I Wue5d351d2009-12-23 11:18:00 +08001329 ;;
Chia-I Wu75143ef2010-04-16 18:12:37 +08001330 vega)
1331 CORE_DIRS="$CORE_DIRS mapi/vgapi"
Chia-I Wu874ccd52010-05-04 22:43:05 +08001332 VG_LIB_DEPS="$VG_LIB_DEPS -lpthread"
Chia-I Wu63ab2502010-05-05 15:38:02 +08001333 EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
Chia-I Wu75143ef2010-04-16 18:12:37 +08001334 ;;
Chia-I Wue5d351d2009-12-23 11:18:00 +08001335 esac
Chia-I Wu63ab2502010-05-05 15:38:02 +08001336
1337 if test -n "$tracker"; then
1338 test -d "$srcdir/src/gallium/state_trackers/$tracker" || \
1339 AC_MSG_ERROR([state tracker '$tracker' doesn't exist])
1340 if test -n "$state_trackers"; then
1341 state_trackers="$state_trackers $tracker"
1342 else
1343 state_trackers="$tracker"
1344 fi
1345 fi
Jakob Bornecrantz3ede3772009-02-13 00:57:47 +01001346 done
1347 GALLIUM_STATE_TRACKERS_DIRS="$state_trackers"
1348 ;;
1349esac
1350
Chia-I Wu874ccd52010-05-04 22:43:05 +08001351AC_SUBST([VG_LIB_DEPS])
Chia-I Wu63ab2502010-05-05 15:38:02 +08001352AC_SUBST([EGL_CLIENT_APIS])
1353
1354if test "x$HAVE_ST_EGL" = xyes; then
Chia-I Wud8e0e112010-06-29 14:04:27 +08001355 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl"
Chia-I Wucf588ab2010-07-06 14:34:43 +08001356 # define GLX_DIRECT_RENDERING even when the driver is not dri
1357 if test "x$mesa_driver" != xdri -a "x$driglx_direct" = xyes; then
1358 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
1359 fi
Chia-I Wu63ab2502010-05-05 15:38:02 +08001360fi
Chia-I Wu874ccd52010-05-04 22:43:05 +08001361
Jakob Bornecrantza82e37b2010-03-25 22:21:39 +01001362if test "x$HAVE_ST_XORG" = xyes; then
Jakob Bornecrantz683a0992010-03-11 19:23:15 +00001363 PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
1364 HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
1365 HAVE_XEXTPROTO_71="no")
1366fi
1367
Chia-I Wuda39d5d2010-06-17 16:07:46 +08001368AC_ARG_WITH([egl-platforms],
1369 [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
1370 [comma delimited native platforms libEGL supports, e.g.
Chia-I Wue7424d72010-09-19 16:54:39 +08001371 "x11,drm" @<:@default=auto@:>@])],
Chia-I Wuda39d5d2010-06-17 16:07:46 +08001372 [with_egl_platforms="$withval"],
1373 [with_egl_platforms=yes])
Chia-I Wu49381d62010-01-11 01:23:01 +08001374AC_ARG_WITH([egl-displays],
1375 [AS_HELP_STRING([--with-egl-displays@<:@=DIRS...@:>@],
Chia-I Wuda39d5d2010-06-17 16:07:46 +08001376 [DEPRECATED. Use --with-egl-platforms instead])],
1377 [with_egl_platforms="$withval"])
Chia-I Wu49381d62010-01-11 01:23:01 +08001378
Chia-I Wuda39d5d2010-06-17 16:07:46 +08001379EGL_PLATFORMS=""
1380case "$with_egl_platforms" in
Chia-I Wu49381d62010-01-11 01:23:01 +08001381yes)
1382 if test "x$enable_egl" = xyes && test "x$mesa_driver" != xosmesa; then
Chia-I Wuda39d5d2010-06-17 16:07:46 +08001383 EGL_PLATFORMS="x11"
Chia-I Wu2a910b32010-09-19 17:31:34 +08001384 if test "$mesa_driver" = dri; then
1385 EGL_PLATFORMS="$EGL_PLATFORMS drm"
1386 fi
Chia-I Wu49381d62010-01-11 01:23:01 +08001387 fi
1388 ;;
1389*)
1390 if test "x$enable_egl" != xyes; then
1391 AC_MSG_ERROR([cannot build egl state tracker without EGL library])
1392 fi
1393 # verify the requested driver directories exist
Chia-I Wuda39d5d2010-06-17 16:07:46 +08001394 egl_platforms=`IFS=', '; echo $with_egl_platforms`
1395 for plat in $egl_platforms; do
1396 test -d "$srcdir/src/gallium/state_trackers/egl/$plat" || \
1397 AC_MSG_ERROR([EGL platform '$plat' does't exist])
1398 if test "$plat" = "fbdev"; then
Chia-I Wu8f3e48e2010-06-17 14:10:53 +08001399 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/fbdev"
1400 fi
Chia-I Wu49381d62010-01-11 01:23:01 +08001401 done
Chia-I Wuda39d5d2010-06-17 16:07:46 +08001402 EGL_PLATFORMS="$egl_platforms"
Chia-I Wu49381d62010-01-11 01:23:01 +08001403 ;;
1404esac
Chia-I Wuda39d5d2010-06-17 16:07:46 +08001405AC_SUBST([EGL_PLATFORMS])
Chia-I Wu49381d62010-01-11 01:23:01 +08001406
Chia-I Wu28c3e572010-01-23 20:18:43 +08001407AC_ARG_WITH([egl-driver-dir],
1408 [AS_HELP_STRING([--with-egl-driver-dir=DIR],
1409 [directory for EGL drivers [[default=${libdir}/egl]]])],
1410 [EGL_DRIVER_INSTALL_DIR="$withval"],
1411 [EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
1412AC_SUBST([EGL_DRIVER_INSTALL_DIR])
1413
Joel Bosveld8acca482009-03-06 08:46:08 +09001414AC_ARG_WITH([xorg-driver-dir],
1415 [AS_HELP_STRING([--with-xorg-driver-dir=DIR],
1416 [Default xorg driver directory[[default=${libdir}/xorg/modules/drivers]]])],
1417 [XORG_DRIVER_INSTALL_DIR="$withval"],
1418 [XORG_DRIVER_INSTALL_DIR="${libdir}/xorg/modules/drivers"])
1419AC_SUBST([XORG_DRIVER_INSTALL_DIR])
1420
Tom Fogal7085dce2009-08-13 19:40:30 -06001421AC_ARG_WITH([max-width],
1422 [AS_HELP_STRING([--with-max-width=N],
1423 [Maximum framebuffer width (4096)])],
1424 [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
1425 AS_IF([test "${withval}" -gt "4096"],
1426 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1427)
1428AC_ARG_WITH([max-height],
1429 [AS_HELP_STRING([--with-max-height=N],
1430 [Maximum framebuffer height (4096)])],
1431 [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
1432 AS_IF([test "${withval}" -gt "4096"],
1433 [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
1434)
1435
Jakob Bornecrantz3ede3772009-02-13 00:57:47 +01001436dnl
Dave Airlie81fe1982010-04-22 14:59:29 +10001437dnl Gallium LLVM
1438dnl
1439AC_ARG_ENABLE([gallium-llvm],
1440 [AS_HELP_STRING([--enable-gallium-llvm],
1441 [build gallium LLVM support @<:@default=disabled@:>@])],
1442 [enable_gallium_llvm="$enableval"],
1443 [enable_gallium_llvm=auto])
1444if test "x$enable_gallium_llvm" = xyes; then
Dave Airlie22e8ddc2010-04-25 07:48:48 +10001445 if test "x$LLVM_CONFIG" != xno; then
1446 LLVM_VERSION=`$LLVM_CONFIG --version`
1447 LLVM_CFLAGS=`$LLVM_CONFIG --cflags`
1448 LLVM_LIBS="`$LLVM_CONFIG --libs jit interpreter nativecodegen bitwriter` -lstdc++"
1449
1450 if test "x$HAS_UDIS86" != xno; then
1451 LLVM_LIBS="$LLVM_LIBS -ludis86"
1452 DEFINES="$DEFINES -DHAVE_UDIS86"
Dave Airlie81fe1982010-04-22 14:59:29 +10001453 fi
Dave Airlie22e8ddc2010-04-25 07:48:48 +10001454 LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
1455 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
Chia-I Wu3ecb8c22010-05-11 12:36:49 +08001456 DEFINES="$DEFINES -DGALLIUM_LLVMPIPE -D__STDC_CONSTANT_MACROS"
Dave Airlie22e8ddc2010-04-25 07:48:48 +10001457 MESA_LLVM=1
1458 else
Dave Airlie81fe1982010-04-22 14:59:29 +10001459 MESA_LLVM=0
Dave Airlie22e8ddc2010-04-25 07:48:48 +10001460 fi
1461else
1462 MESA_LLVM=0
Dave Airlie81fe1982010-04-22 14:59:29 +10001463fi
1464
1465dnl
Jakob Bornecrantza82e37b2010-03-25 22:21:39 +01001466dnl Gallium helper functions
1467dnl
1468gallium_check_st() {
Chia-I Wud8e0e112010-06-29 14:04:27 +08001469 if test "x$HAVE_ST_DRI" = xyes || test "x$HAVE_ST_XORG" = xyes; then
Jakob Bornecrantza82e37b2010-03-25 22:21:39 +01001470 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
1471 fi
1472 if test "x$HAVE_ST_DRI" = xyes && test "x$2" != x; then
1473 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
1474 fi
Chia-I Wud8e0e112010-06-29 14:04:27 +08001475 if test "x$HAVE_ST_XORG" = xyes && test "x$3" != x; then
Jakob Bornecrantza82e37b2010-03-25 22:21:39 +01001476 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
1477 fi
Jakob Bornecrantza82e37b2010-03-25 22:21:39 +01001478}
1479
1480
1481dnl
Jakob Bornecrantz60769b22009-11-12 01:28:26 +01001482dnl Gallium SVGA configuration
1483dnl
1484AC_ARG_ENABLE([gallium-svga],
Jakob Bornecrantz5e6fff72009-07-19 09:22:31 +02001485 [AS_HELP_STRING([--enable-gallium-svga],
1486 [build gallium SVGA @<:@default=disabled@:>@])],
Jakob Bornecrantz60769b22009-11-12 01:28:26 +01001487 [enable_gallium_svga="$enableval"],
Jakob Bornecrantz5e6fff72009-07-19 09:22:31 +02001488 [enable_gallium_svga=auto])
Jakob Bornecrantz60769b22009-11-12 01:28:26 +01001489if test "x$enable_gallium_svga" = xyes; then
Xavier Chantryff0987a2010-03-26 11:02:03 +01001490 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga"
Chia-I Wud8e0e112010-06-29 14:04:27 +08001491 gallium_check_st "svga/drm" "dri-vmwgfx" "xorg-vmwgfx"
Jakob Bornecrantz5e6fff72009-07-19 09:22:31 +02001492elif test "x$enable_gallium_svga" = xauto; then
1493 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga"
Jakob Bornecrantz60769b22009-11-12 01:28:26 +01001494fi
1495
1496dnl
Jakob Bornecrantz7dce4f32010-06-11 13:00:16 +02001497dnl Gallium i915 configuration
Jakob Bornecrantz3ede3772009-02-13 00:57:47 +01001498dnl
Jakob Bornecrantz7dce4f32010-06-11 13:00:16 +02001499AC_ARG_ENABLE([gallium-i915],
1500 [AS_HELP_STRING([--enable-gallium-i915],
1501 [build gallium i915 @<:@default=disabled@:>@])],
1502 [enable_gallium_i915="$enableval"],
1503 [enable_gallium_i915=auto])
1504if test "x$enable_gallium_i915" = xyes; then
Jakob Bornecrantz44bafca2010-04-17 15:17:33 +01001505 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
Jakob Bornecrantz7dce4f32010-06-11 13:00:16 +02001506 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915"
Chia-I Wud8e0e112010-06-29 14:04:27 +08001507 gallium_check_st "i915/drm" "dri-i915" "xorg-i915"
Jakob Bornecrantz7dce4f32010-06-11 13:00:16 +02001508elif test "x$enable_gallium_i915" = xauto; then
Jakob Bornecrantz44bafca2010-04-17 15:17:33 +01001509 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
Jakob Bornecrantz7dce4f32010-06-11 13:00:16 +02001510 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915"
1511fi
1512
1513dnl
1514dnl Gallium i965 configuration
1515dnl
1516AC_ARG_ENABLE([gallium-i965],
1517 [AS_HELP_STRING([--enable-gallium-i965],
1518 [build gallium i965 @<:@default=disabled@:>@])],
1519 [enable_gallium_i965="$enableval"],
1520 [enable_gallium_i965=auto])
1521if test "x$enable_gallium_i965" = xyes; then
1522 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i965"
Chia-I Wud8e0e112010-06-29 14:04:27 +08001523 gallium_check_st "i965/drm" "dri-i965" "xorg-i965"
Jakob Bornecrantz7dce4f32010-06-11 13:00:16 +02001524elif test "x$enable_gallium_i965" = xauto; then
1525 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i965"
Jakob Bornecrantz3ede3772009-02-13 00:57:47 +01001526fi
1527
1528dnl
Marek Olšák85a45dc2010-09-23 21:50:43 +02001529dnl Gallium Radeon r300g configuration
Jakob Bornecrantz3ede3772009-02-13 00:57:47 +01001530dnl
1531AC_ARG_ENABLE([gallium-radeon],
1532 [AS_HELP_STRING([--enable-gallium-radeon],
1533 [build gallium radeon @<:@default=disabled@:>@])],
1534 [enable_gallium_radeon="$enableval"],
Jakob Bornecrantz877cadb2010-01-14 22:51:25 +00001535 [enable_gallium_radeon=auto])
Marek Olšák11eb4222010-09-28 19:32:32 +02001536if test "x$enable_gallium_radeon" = xauto; then
1537 if test "x$HAVE_LIBDRM_RADEON" = xyes; then
1538 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
1539 gallium_check_st "radeon/drm" "dri-r300"
1540 else
1541 AC_MSG_WARN([libdrm_radeon is missing, not building gallium-radeon (r300)])
1542 fi
1543fi
1544if test "x$enable_gallium_radeon" = xyes; then
Marek Olšáka1aec2e2010-09-26 17:52:58 +02001545 if test "x$HAVE_LIBDRM_RADEON" = xyes; then
1546 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
1547 gallium_check_st "radeon/drm" "dri-r300" "xorg-radeon"
1548 else
Marek Olšák11eb4222010-09-28 19:32:32 +02001549 AC_MSG_ERROR([libdrm_radeon is missing, cannot build gallium-radeon (r300)])
Marek Olšáka1aec2e2010-09-26 17:52:58 +02001550 fi
Jakob Bornecrantz3ede3772009-02-13 00:57:47 +01001551fi
1552
1553dnl
Jakob Bornecrantzaeee5262010-05-13 20:29:18 +01001554dnl Gallium Radeon r600g configuration
1555dnl
1556AC_ARG_ENABLE([gallium-r600],
1557 [AS_HELP_STRING([--enable-gallium-r600],
1558 [build gallium radeon @<:@default=disabled@:>@])],
1559 [enable_gallium_r600="$enableval"],
1560 [enable_gallium_r600=auto])
1561if test "x$enable_gallium_r600" = xyes; then
Marek Olšáka1aec2e2010-09-26 17:52:58 +02001562 if test "x$HAVE_LIBDRM_RADEON" = xyes; then
1563 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
1564 gallium_check_st "r600/drm" "dri-r600"
1565 else
1566 AC_MSG_ERROR([libdrm_radeon is missing, cannot build gallium-r600])
1567 fi
Jakob Bornecrantzaeee5262010-05-13 20:29:18 +01001568fi
1569
1570dnl
Thierry Vignaud1402ea82009-09-14 11:48:51 -06001571dnl Gallium Nouveau configuration
Jakob Bornecrantz3ede3772009-02-13 00:57:47 +01001572dnl
1573AC_ARG_ENABLE([gallium-nouveau],
1574 [AS_HELP_STRING([--enable-gallium-nouveau],
1575 [build gallium nouveau @<:@default=disabled@:>@])],
1576 [enable_gallium_nouveau="$enableval"],
1577 [enable_gallium_nouveau=no])
1578if test "x$enable_gallium_nouveau" = xyes; then
Luca Barbierif9d09a22010-02-21 15:13:12 +01001579 GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nvfx nv50"
Chia-I Wud8e0e112010-06-29 14:04:27 +08001580 gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau"
Jakob Bornecrantz3ede3772009-02-13 00:57:47 +01001581fi
1582
Chia-I Wua1306f42010-01-22 15:51:51 +08001583dnl
1584dnl Gallium swrast configuration
1585dnl
1586AC_ARG_ENABLE([gallium-swrast],
1587 [AS_HELP_STRING([--enable-gallium-swrast],
Jakob Bornecrantzf5ba2cd2010-03-24 10:58:45 +01001588 [build gallium swrast @<:@default=auto@:>@])],
Chia-I Wua1306f42010-01-22 15:51:51 +08001589 [enable_gallium_swrast="$enableval"],
1590 [enable_gallium_swrast=auto])
George Sapountzis7b333292010-03-25 17:01:54 +02001591if test "x$enable_gallium_swrast" = xyes || test "x$enable_gallium_swrast" = xauto; then
Jakob Bornecrantz5b1fc142010-03-25 18:29:51 +01001592 if test "x$HAVE_ST_DRI" = xyes; then
George Sapountzis7b333292010-03-25 17:01:54 +02001593 GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast"
Jakob Bornecrantzf5ba2cd2010-03-24 10:58:45 +01001594 fi
Chia-I Wua1306f42010-01-22 15:51:51 +08001595fi
1596
Chia-I Wu99a37ed2010-01-05 17:39:05 +08001597dnl prepend CORE_DIRS to SRC_DIRS
1598SRC_DIRS="$CORE_DIRS $SRC_DIRS"
Jakob Bornecrantz3ede3772009-02-13 00:57:47 +01001599
Dan Nicholsondca1b792007-10-23 09:25:58 -07001600dnl Restore LDFLAGS and CPPFLAGS
1601LDFLAGS="$_SAVE_LDFLAGS"
1602CPPFLAGS="$_SAVE_CPPFLAGS"
1603
1604dnl Substitute the config
Dan Nicholsonf64d6fe2007-12-12 17:57:45 -08001605AC_CONFIG_FILES([configs/autoconf])
Dan Nicholsondca1b792007-10-23 09:25:58 -07001606
Dan Nicholsonaab38cf2007-12-11 08:21:51 -08001607dnl Replace the configs/current symlink
Dan Nicholsone14ebbc2008-05-06 11:28:43 -07001608AC_CONFIG_COMMANDS([configs],[
Dan Nicholsonaab38cf2007-12-11 08:21:51 -08001609if test -f configs/current || test -L configs/current; then
1610 rm -f configs/current
1611fi
1612ln -s autoconf configs/current
Dan Nicholsone14ebbc2008-05-06 11:28:43 -07001613])
1614
1615AC_OUTPUT
Dan Nicholsonaab38cf2007-12-11 08:21:51 -08001616
Dan Nicholson9cad8e32007-11-30 08:49:57 -08001617dnl
1618dnl Output some configuration info for the user
1619dnl
1620echo ""
1621echo " prefix: $prefix"
1622echo " exec_prefix: $exec_prefix"
1623echo " libdir: $libdir"
Dan Nicholson11ac5b22008-07-03 09:17:44 -07001624echo " includedir: $includedir"
Dan Nicholson9cad8e32007-11-30 08:49:57 -08001625
1626dnl Driver info
1627echo ""
1628echo " Driver: $mesa_driver"
Dan Nicholson544ab202007-12-30 08:41:53 -08001629if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then
1630 echo " OSMesa: lib$OSMESA_LIB"
1631else
1632 echo " OSMesa: no"
1633fi
1634if test "$mesa_driver" = dri; then
Dan Nicholson9cad8e32007-11-30 08:49:57 -08001635 # cleanup the drivers var
1636 dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'`
Florent Thoumieb5095ab2008-07-28 14:44:43 +01001637if test "x$DRI_DIRS" = x; then
1638 echo " DRI drivers: no"
1639else
Dan Nicholson9cad8e32007-11-30 08:49:57 -08001640 echo " DRI drivers: $dri_dirs"
Florent Thoumieb5095ab2008-07-28 14:44:43 +01001641fi
Dan Nicholson9cad8e32007-11-30 08:49:57 -08001642 echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
Dan Nicholson544ab202007-12-30 08:41:53 -08001643fi
RALOVICH, Kristóf5f19f5c2008-11-04 11:53:32 +01001644echo " Use XCB: $enable_xcb"
Dan Nicholson9cad8e32007-11-30 08:49:57 -08001645
Jakob Bornecrantz7e54d7d2009-02-11 02:38:21 +01001646echo ""
Eric Anholt1a8b1272010-05-21 12:17:24 -07001647if test "x$MESA_LLVM" = x1; then
Jakob Bornecrantzfe0fe672010-04-28 13:38:58 +01001648 echo " llvm: yes"
1649 echo " llvm-config: $LLVM_CONFIG"
1650 echo " llvm-version: $LLVM_VERSION"
1651else
1652 echo " llvm: no"
1653fi
1654
1655echo ""
Jakob Bornecrantz7e54d7d2009-02-11 02:38:21 +01001656if echo "$SRC_DIRS" | grep 'gallium' >/dev/null 2>&1; then
1657 echo " Gallium: yes"
1658 echo " Gallium dirs: $GALLIUM_DIRS"
Keith Whitwell51bff092010-03-11 14:43:00 +00001659 echo " Target dirs: $GALLIUM_TARGET_DIRS"
Jakob Bornecrantz7e54d7d2009-02-11 02:38:21 +01001660 echo " Winsys dirs: $GALLIUM_WINSYS_DIRS"
Jakob Bornecrantzd67bd602009-02-20 11:03:18 +00001661 echo " Driver dirs: $GALLIUM_DRIVERS_DIRS"
Jakob Bornecrantz7e54d7d2009-02-11 02:38:21 +01001662 echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS"
Chia-I Wu63ab2502010-05-05 15:38:02 +08001663 if test "x$HAVE_ST_EGL" = xyes; then
1664 echo " EGL client APIs: $EGL_CLIENT_APIS"
1665 fi
Jakob Bornecrantz7e54d7d2009-02-11 02:38:21 +01001666else
1667 echo " Gallium: no"
1668fi
1669
Dan Nicholson9cad8e32007-11-30 08:49:57 -08001670dnl Libraries
1671echo ""
1672echo " Shared libs: $enable_shared"
1673echo " Static libs: $enable_static"
Kristian Høgsberg42fa0092010-02-03 10:18:28 -05001674if test "$enable_egl" = yes; then
1675 echo " EGL: $EGL_DRIVERS_DIRS"
Chia-I Wuda39d5d2010-06-17 16:07:46 +08001676 echo " EGL platforms: $EGL_PLATFORMS"
Kristian Høgsberg42fa0092010-02-03 10:18:28 -05001677else
1678 echo " EGL: no"
1679fi
Dan Nicholson9cad8e32007-11-30 08:49:57 -08001680echo " GLU: $enable_glu"
Dan Nicholson776c60d2008-07-18 07:40:41 -07001681echo " GLw: $enable_glw (Motif: $enable_motif)"
Dan Nicholson9cad8e32007-11-30 08:49:57 -08001682echo " glut: $enable_glut"
1683
Dan Nicholson16a07fb2007-12-12 09:12:15 -08001684dnl Compiler options
1685# cleanup the CFLAGS/CXXFLAGS/DEFINES vars
1686cflags=`echo $CFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1687 $SED 's/^ *//;s/ */ /;s/ *$//'`
1688cxxflags=`echo $CXXFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
1689 $SED 's/^ *//;s/ */ /;s/ *$//'`
1690defines=`echo $DEFINES $ASM_FLAGS | $SED 's/^ *//;s/ */ /;s/ *$//'`
1691echo ""
1692echo " CFLAGS: $cflags"
1693echo " CXXFLAGS: $cxxflags"
1694echo " Macros: $defines"
Kenneth Graunke3acc8262010-10-25 13:52:58 -07001695echo ""
1696echo " PYTHON2: $PYTHON2"
Dan Nicholson16a07fb2007-12-12 09:12:15 -08001697
Dan Nicholsondca1b792007-10-23 09:25:58 -07001698echo ""
Dan Nicholsonb6459422008-03-24 10:01:50 -07001699echo " Run '${MAKE-make}' to build Mesa"
Dan Nicholsondca1b792007-10-23 09:25:58 -07001700echo ""