configure.ac revision 3ede3776e2faffdc0dee102dbd37d33491726c36
1dnl Process this file with autoconf to create configure. 2 3AC_PREREQ([2.59]) 4 5dnl Versioning - scrape the version from configs/default 6m4_define([mesa_version], 7 [m4_esyscmd([${MAKE-make} -s -f bin/version.mk version | tr -d '\n'])]) 8m4_ifval(mesa_version,[],[ 9 m4_errprint([Error: Failed to get the Mesa version from the output of 10 running `make -f bin/version.mk version' 11]) 12 m4_exit([1]) 13]) 14 15dnl Tell the user about autoconf.html in the --help output 16m4_divert_once([HELP_END], [ 17See docs/autoconf.html for more details on the options for Mesa.]) 18 19AC_INIT([Mesa],[mesa_version], 20 [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa]) 21AC_CONFIG_AUX_DIR([bin]) 22AC_CANONICAL_HOST 23 24dnl Versions for external dependencies 25LIBDRM_REQUIRED=2.4.3 26DRI2PROTO_REQUIRED=1.99.3 27 28dnl Check for progs 29AC_PROG_CPP 30AC_PROG_CC 31AC_PROG_CXX 32AC_CHECK_PROGS([MAKE], [gmake make]) 33AC_PATH_PROG([MKDEP], [makedepend]) 34AC_PATH_PROG([SED], [sed]) 35 36dnl We need a POSIX shell for parts of the build. Assume we have one 37dnl in most cases. 38case "$host_os" in 39solaris*) 40 # Solaris /bin/sh is too old/non-POSIX compliant 41 AC_PATH_PROGS(POSIX_SHELL, [ksh93 ksh sh]) 42 SHELL="$POSIX_SHELL" 43 ;; 44esac 45 46MKDEP_OPTIONS=-fdepend 47dnl Ask gcc where it's keeping its secret headers 48if test "x$GCC" = xyes; then 49 for dir in include include-fixed; do 50 GCC_INCLUDES=`$CC -print-file-name=$dir` 51 if test "x$GCC_INCLUDES" != x && \ 52 test "$GCC_INCLUDES" != "$dir" && \ 53 test -d "$GCC_INCLUDES"; then 54 MKDEP_OPTIONS="$MKDEP_OPTIONS -I$GCC_INCLUDES" 55 fi 56 done 57fi 58AC_SUBST([MKDEP_OPTIONS]) 59 60dnl Make sure the pkg-config macros are defined 61m4_ifdef([PKG_PROG_PKG_CONFIG],[],[ 62 m4_errprint([Error: Could not locate the pkg-config autoconf macros. 63 These are usually located in /usr/share/aclocal/pkg.m4. If your 64 macros are in a different location, try setting the environment 65 variable ACLOCAL="aclocal -I/other/macro/dir" before running 66 autoreconf. 67]) 68 m4_exit([1]) 69]) 70PKG_PROG_PKG_CONFIG() 71 72dnl LIB_DIR - library basename 73LIB_DIR=`echo $libdir | $SED 's%.*/%%'` 74AC_SUBST([LIB_DIR]) 75 76dnl Cache LDFLAGS so we can add EXTRA_LIB_PATH and restore it later 77_SAVE_LDFLAGS="$LDFLAGS" 78AC_ARG_VAR([EXTRA_LIB_PATH],[Extra -L paths for the linker]) 79AC_SUBST([EXTRA_LIB_PATH]) 80 81dnl Cache CPPFLAGS so we can add *_INCLUDES and restore it later 82_SAVE_CPPFLAGS="$CPPFLAGS" 83AC_ARG_VAR([X11_INCLUDES],[Extra -I paths for X11 headers]) 84AC_SUBST([X11_INCLUDES]) 85 86dnl Compiler macros 87DEFINES="" 88AC_SUBST([DEFINES]) 89case "$host_os" in 90*-gnu*) 91 DEFINES="$DEFINES -D_GNU_SOURCE -DPTHREADS" 92 ;; 93solaris*) 94 DEFINES="$DEFINES -DPTHREADS -DSVR4" 95 ;; 96esac 97 98dnl Add flags for gcc and g++ 99if test "x$GCC" = xyes; then 100 CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -std=c99 -ffast-math" 101 102 # Work around aliasing bugs - developers should comment this out 103 CFLAGS="$CFLAGS -fno-strict-aliasing" 104fi 105if test "x$GXX" = xyes; then 106 CXXFLAGS="$CXXFLAGS -Wall" 107 108 # Work around aliasing bugs - developers should comment this out 109 CXXFLAGS="$CXXFLAGS -fno-strict-aliasing" 110fi 111 112dnl These should be unnecessary, but let the user set them if they want 113AC_ARG_VAR([OPT_FLAGS], [Additional optimization flags for the compiler. 114 Default is to use CFLAGS.]) 115AC_ARG_VAR([ARCH_FLAGS], [Additional architecture specific flags for the 116 compiler. Default is to use CFLAGS.]) 117AC_SUBST([OPT_FLAGS]) 118AC_SUBST([ARCH_FLAGS]) 119 120dnl 121dnl Hacks to enable 32 or 64 bit build 122dnl 123AC_ARG_ENABLE([32-bit], 124 [AS_HELP_STRING([--enable-32-bit], 125 [build 32-bit libraries @<:@default=auto@:>@])], 126 [enable_32bit="$enableval"], 127 [enable_32bit=auto] 128) 129if test "x$enable_32bit" = xyes; then 130 if test "x$GCC" = xyes; then 131 CFLAGS="$CFLAGS -m32" 132 fi 133 if test "x$GXX" = xyes; then 134 CXXFLAGS="$CXXFLAGS -m32" 135 fi 136fi 137AC_ARG_ENABLE([64-bit], 138 [AS_HELP_STRING([--enable-64-bit], 139 [build 64-bit libraries @<:@default=auto@:>@])], 140 [enable_64bit="$enableval"], 141 [enable_64bit=auto] 142) 143if test "x$enable_64bit" = xyes; then 144 if test "x$GCC" = xyes; then 145 CFLAGS="$CFLAGS -m64" 146 fi 147 if test "x$GXX" = xyes; then 148 CXXFLAGS="$CXXFLAGS -m64" 149 fi 150fi 151 152dnl 153dnl shared/static libraries, mimic libtool options 154dnl 155AC_ARG_ENABLE([static], 156 [AS_HELP_STRING([--enable-static], 157 [build static libraries @<:@default=disabled@:>@])], 158 [enable_static="$enableval"], 159 [enable_static=no] 160) 161case "x$enable_static" in 162xyes|xno ) ;; 163x ) enable_static=no ;; 164* ) 165 AC_MSG_ERROR([Static library option '$enable_static' is not a valid]) 166 ;; 167esac 168AC_ARG_ENABLE([shared], 169 [AS_HELP_STRING([--disable-shared], 170 [build shared libraries @<:@default=enabled@:>@])], 171 [enable_shared="$enableval"], 172 [enable_shared=yes] 173) 174case "x$enable_shared" in 175xyes|xno ) ;; 176x ) enable_shared=yes ;; 177* ) 178 AC_MSG_ERROR([Shared library option '$enable_shared' is not a valid]) 179 ;; 180esac 181 182dnl Can't have static and shared libraries, default to static if user 183dnl explicitly requested. If both disabled, set to static since shared 184dnl was explicitly requirested. 185case "x$enable_static$enable_shared" in 186xyesyes ) 187 AC_MSG_WARN([Can't build static and shared libraries, disabling shared]) 188 enable_shared=no 189 ;; 190xnono ) 191 AC_MSG_WARN([Can't disable both static and shared libraries, enabling static]) 192 enable_static=yes 193 ;; 194esac 195 196dnl 197dnl mklib options 198dnl 199AC_ARG_VAR([MKLIB_OPTIONS],[Options for the Mesa library script, mklib]) 200if test "$enable_static" = yes; then 201 MKLIB_OPTIONS="$MKLIB_OPTIONS -static" 202fi 203AC_SUBST([MKLIB_OPTIONS]) 204 205dnl 206dnl other compiler options 207dnl 208AC_ARG_ENABLE([debug], 209 [AS_HELP_STRING([--enable-debug], 210 [use debug compiler flags and macros @<:@default=disabled@:>@])], 211 [enable_debug="$enableval"], 212 [enable_debug=no] 213) 214if test "x$enable_debug" = xyes; then 215 DEFINES="$DEFINES -DDEBUG" 216 if test "x$GCC" = xyes; then 217 CFLAGS="$CFLAGS -g" 218 fi 219 if test "x$GXX" = xyes; then 220 CXXFLAGS="$CXXFLAGS -g" 221 fi 222fi 223 224dnl 225dnl library names 226dnl 227if test "$enable_static" = yes; then 228 LIB_EXTENSION='a' 229else 230 case "$host_os" in 231 darwin* ) 232 LIB_EXTENSION='dylib' ;; 233 * ) 234 LIB_EXTENSION='so' ;; 235 esac 236fi 237 238GL_LIB_NAME='lib$(GL_LIB).'${LIB_EXTENSION} 239GLU_LIB_NAME='lib$(GLU_LIB).'${LIB_EXTENSION} 240GLUT_LIB_NAME='lib$(GLUT_LIB).'${LIB_EXTENSION} 241GLW_LIB_NAME='lib$(GLW_LIB).'${LIB_EXTENSION} 242OSMESA_LIB_NAME='lib$(OSMESA_LIB).'${LIB_EXTENSION} 243 244GL_LIB_GLOB='lib$(GL_LIB).*'${LIB_EXTENSION}'*' 245GLU_LIB_GLOB='lib$(GLU_LIB).*'${LIB_EXTENSION}'*' 246GLUT_LIB_GLOB='lib$(GLUT_LIB).*'${LIB_EXTENSION}'*' 247GLW_LIB_GLOB='lib$(GLW_LIB).*'${LIB_EXTENSION}'*' 248OSMESA_LIB_GLOB='lib$(OSMESA_LIB).*'${LIB_EXTENSION}'*' 249 250AC_SUBST([GL_LIB_NAME]) 251AC_SUBST([GLU_LIB_NAME]) 252AC_SUBST([GLUT_LIB_NAME]) 253AC_SUBST([GLW_LIB_NAME]) 254AC_SUBST([OSMESA_LIB_NAME]) 255 256AC_SUBST([GL_LIB_GLOB]) 257AC_SUBST([GLU_LIB_GLOB]) 258AC_SUBST([GLUT_LIB_GLOB]) 259AC_SUBST([GLW_LIB_GLOB]) 260AC_SUBST([OSMESA_LIB_GLOB]) 261 262dnl 263dnl Arch/platform-specific settings 264dnl 265AC_ARG_ENABLE([asm], 266 [AS_HELP_STRING([--disable-asm], 267 [disable assembly usage @<:@default=enabled on supported plaforms@:>@])], 268 [enable_asm="$enableval"], 269 [enable_asm=yes] 270) 271asm_arch="" 272ASM_FLAGS="" 273MESA_ASM_SOURCES="" 274GLAPI_ASM_SOURCES="" 275AC_MSG_CHECKING([whether to enable assembly]) 276test "x$enable_asm" = xno && AC_MSG_RESULT([no]) 277# disable if cross compiling on x86/x86_64 since we must run gen_matypes 278if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then 279 case "$host_cpu" in 280 i?86 | x86_64) 281 enable_asm=no 282 AC_MSG_RESULT([no, cross compiling]) 283 ;; 284 esac 285fi 286# check for supported arches 287if test "x$enable_asm" = xyes; then 288 case "$host_cpu" in 289 i?86) 290 case "$host_os" in 291 linux* | *freebsd* | dragonfly*) 292 test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86 293 ;; 294 esac 295 ;; 296 x86_64) 297 case "$host_os" in 298 linux* | *freebsd* | dragonfly*) 299 test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64 300 ;; 301 esac 302 ;; 303 powerpc) 304 case "$host_os" in 305 linux*) 306 asm_arch=ppc 307 ;; 308 esac 309 ;; 310 esac 311 312 case "$asm_arch" in 313 x86) 314 ASM_FLAGS="-DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM" 315 MESA_ASM_SOURCES='$(X86_SOURCES)' 316 GLAPI_ASM_SOURCES='$(X86_API)' 317 AC_MSG_RESULT([yes, x86]) 318 ;; 319 x86_64) 320 ASM_FLAGS="-DUSE_X86_64_ASM" 321 MESA_ASM_SOURCES='$(X86-64_SOURCES)' 322 GLAPI_ASM_SOURCES='$(X86-64_API)' 323 AC_MSG_RESULT([yes, x86_64]) 324 ;; 325 ppc) 326 ASM_FLAGS="-DUSE_PPC_ASM -DUSE_VMX_ASM" 327 MESA_ASM_SOURCES='$(PPC_SOURCES)' 328 AC_MSG_RESULT([yes, ppc]) 329 ;; 330 *) 331 AC_MSG_RESULT([no, platform not supported]) 332 ;; 333 esac 334fi 335AC_SUBST([ASM_FLAGS]) 336AC_SUBST([MESA_ASM_SOURCES]) 337AC_SUBST([GLAPI_ASM_SOURCES]) 338 339dnl PIC code macro 340MESA_PIC_FLAGS 341 342dnl Check to see if dlopen is in default libraries (like Solaris, which 343dnl has it in libc), or if libdl is needed to get it. 344AC_CHECK_FUNC([dlopen], [], 345 [AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])]) 346 347dnl See if posix_memalign is available 348AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"]) 349 350dnl SELinux awareness. 351AC_ARG_ENABLE([selinux], 352 [AS_HELP_STRING([--enable-selinux], 353 [Build SELinux-aware Mesa @<:@default=disabled@:>@])], 354 [MESA_SELINUX="$enableval"], 355 [MESA_SELINUX=no]) 356if test "x$enable_selinux" = "xyes"; then 357 AC_CHECK_HEADER([selinux/selinux.h],[], 358 [AC_MSG_ERROR([SELinux headers not found])]) 359 AC_CHECK_LIB([selinux],[is_selinux_enabled],[], 360 [AC_MSG_ERROR([SELinux library not found])]) 361 SELINUX_LIBS="-lselinux" 362 DEFINES="$DEFINES -DMESA_SELINUX" 363fi 364 365dnl OS-specific libraries 366OS_LIBS="" 367case "$host_os" in 368solaris*) 369 OS_LIBS="-lc" 370 if test "x$GXX" != xyes; then 371 OS_CPLUSPLUS_LIBS="-lCrun $OS_LIBS" 372 fi 373 ;; 374esac 375 376dnl 377dnl Driver configuration. Options are xlib, dri and osmesa right now. 378dnl More later: directfb, fbdev, ... 379dnl 380default_driver="xlib" 381 382case "$host_os" in 383linux*) 384 case "$host_cpu" in 385 i*86|x86_64|powerpc*) default_driver="dri";; 386 esac 387 ;; 388*freebsd* | dragonfly*) 389 case "$host_cpu" in 390 i*86|x86_64) default_driver="dri";; 391 esac 392 ;; 393esac 394 395AC_ARG_WITH([driver], 396 [AS_HELP_STRING([--with-driver=DRIVER], 397 [driver for Mesa: xlib,dri,osmesa @<:@default=dri when available, or xlib@:>@])], 398 [mesa_driver="$withval"], 399 [mesa_driver="$default_driver"]) 400dnl Check for valid option 401case "x$mesa_driver" in 402xxlib|xdri|xosmesa) 403 ;; 404*) 405 AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option]) 406 ;; 407esac 408 409dnl 410dnl Driver specific build directories 411dnl 412SRC_DIRS="mesa egl" 413GLU_DIRS="sgi" 414WINDOW_SYSTEM="" 415GALLIUM_DIRS="auxiliary drivers state_trackers" 416GALLIUM_WINSYS_DIRS="" 417GALLIUM_WINSYS_DRM_DIRS="" 418GALLIUM_AUXILIARY_DIRS="draw translate cso_cache pipebuffer tgsi sct rtasm util" 419GALLIUM_DRIVER_DIRS="softpipe failover trace" 420GALLIUM_STATE_TRACKERS_DIRS="" 421 422case "$mesa_driver" in 423xlib) 424 DRIVER_DIRS="x11" 425 ;; 426dri) 427 SRC_DIRS="glx/x11 $SRC_DIRS" 428 DRIVER_DIRS="dri" 429 WINDOW_SYSTEM="dri" 430 GALLIUM_WINSYS_DIRS="drm $GALLIUM_WINSYS_DIRS" 431 ;; 432osmesa) 433 DRIVER_DIRS="osmesa" 434 ;; 435esac 436AC_SUBST([SRC_DIRS]) 437AC_SUBST([GLU_DIRS]) 438AC_SUBST([DRIVER_DIRS]) 439AC_SUBST([WINDOW_SYSTEM]) 440AC_SUBST([GALLIUM_DIRS]) 441AC_SUBST([GALLIUM_WINSYS_DIRS]) 442AC_SUBST([GALLIUM_WINSYS_DRM_DIRS]) 443AC_SUBST([GALLIUM_DRIVER_DIRS]) 444AC_SUBST([GALLIUM_AUXILIARY_DIRS]) 445AC_SUBST([GALLIUM_STATE_TRACKERS_DIRS]) 446 447dnl 448dnl User supplied program configuration 449dnl 450if test -d "$srcdir/progs/demos"; then 451 default_demos=yes 452else 453 default_demos=no 454fi 455AC_ARG_WITH([demos], 456 [AS_HELP_STRING([--with-demos@<:@=DIRS...@:>@], 457 [optional comma delimited demo directories to build 458 @<:@default=auto if source available@:>@])], 459 [with_demos="$withval"], 460 [with_demos="$default_demos"]) 461if test "x$with_demos" = x; then 462 with_demos=no 463fi 464 465dnl If $with_demos is yes, directories will be added as libs available 466PROGRAM_DIRS="" 467case "$with_demos" in 468no) ;; 469yes) 470 # If the driver isn't osmesa, we have libGL and can build xdemos 471 if test "$mesa_driver" != osmesa; then 472 PROGRAM_DIRS="xdemos" 473 fi 474 ;; 475*) 476 # verify the requested demos directories exist 477 demos=`IFS=,; echo $with_demos` 478 for demo in $demos; do 479 test -d "$srcdir/progs/$demo" || \ 480 AC_MSG_ERROR([Program directory '$demo' doesn't exist]) 481 done 482 PROGRAM_DIRS="$demos" 483 ;; 484esac 485 486dnl 487dnl Find out if X is available. The variable have_x is set if libX11 is 488dnl found to mimic AC_PATH_XTRA. 489dnl 490if test -n "$PKG_CONFIG"; then 491 AC_MSG_CHECKING([pkg-config files for X11 are available]) 492 PKG_CHECK_EXISTS([x11],[ 493 x11_pkgconfig=yes 494 have_x=yes 495 ],[ 496 x11_pkgconfig=no 497 ]) 498 AC_MSG_RESULT([$x11_pkgconfig]) 499else 500 x11_pkgconfig=no 501fi 502dnl Use the autoconf macro if no pkg-config files 503if test "$x11_pkgconfig" = no; then 504 AC_PATH_XTRA 505fi 506 507dnl Try to tell the user that the --x-* options are only used when 508dnl pkg-config is not available. This must be right after AC_PATH_XTRA. 509m4_divert_once([HELP_BEGIN], 510[These options are only used when the X libraries cannot be found by the 511pkg-config utility.]) 512 513dnl We need X for xlib and dri, so bomb now if it's not found 514case "$mesa_driver" in 515xlib|dri) 516 if test "$no_x" = yes; then 517 AC_MSG_ERROR([X11 development libraries needed for $mesa_driver driver]) 518 fi 519 ;; 520esac 521 522dnl XCB - this is only used for GLX right now 523AC_ARG_ENABLE([xcb], 524 [AS_HELP_STRING([--enable-xcb], 525 [use XCB for GLX @<:@default=disabled@:>@])], 526 [enable_xcb="$enableval"], 527 [enable_xcb=no]) 528if test "x$enable_xcb" = xyes; then 529 DEFINES="$DEFINES -DUSE_XCB" 530else 531 enable_xcb=no 532fi 533 534dnl 535dnl libGL configuration per driver 536dnl 537case "$mesa_driver" in 538xlib) 539 if test "$x11_pkgconfig" = yes; then 540 PKG_CHECK_MODULES([XLIBGL], [x11 xext]) 541 GL_PC_REQ_PRIV="x11 xext" 542 X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS" 543 GL_LIB_DEPS="$XLIBGL_LIBS" 544 else 545 # should check these... 546 X11_INCLUDES="$X11_INCLUDES $X_CFLAGS" 547 GL_LIB_DEPS="$X_LIBS -lX11 -lXext" 548 GL_PC_LIB_PRIV="$GL_LIB_DEPS" 549 GL_PC_CFLAGS="$X11_INCLUDES" 550 fi 551 GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread $OS_LIBS" 552 GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm -lpthread $OS_LIBS" 553 554 # if static, move the external libraries to the programs 555 # and empty the libraries for libGL 556 if test "$enable_static" = yes; then 557 APP_LIB_DEPS="$APP_LIB_DEPS $GL_LIB_DEPS" 558 GL_LIB_DEPS="" 559 fi 560 ;; 561dri) 562 # DRI must be shared, I think 563 if test "$enable_static" = yes; then 564 AC_MSG_ERROR([Can't use static libraries for DRI drivers]) 565 fi 566 567 # Check for libdrm 568 PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED]) 569 PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED]) 570 GL_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED" 571 DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED" 572 573 # find the DRI deps for libGL 574 if test "$x11_pkgconfig" = yes; then 575 # add xcb modules if necessary 576 dri_modules="x11 xext xxf86vm xdamage xfixes" 577 if test "$enable_xcb" = yes; then 578 dri_modules="$dri_modules x11-xcb xcb-glx" 579 fi 580 581 PKG_CHECK_MODULES([DRIGL], [$dri_modules]) 582 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules" 583 X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS" 584 GL_LIB_DEPS="$DRIGL_LIBS" 585 else 586 # should check these... 587 X11_INCLUDES="$X11_INCLUDES $X_CFLAGS" 588 GL_LIB_DEPS="$X_LIBS -lX11 -lXext -lXxf86vm -lXdamage -lXfixes" 589 GL_PC_LIB_PRIV="$GL_LIB_DEPS" 590 GL_PC_CFLAGS="$X11_INCLUDES" 591 592 # XCB can only be used from pkg-config 593 if test "$enable_xcb" = yes; then 594 PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx]) 595 GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV x11-xcb xcb-glx" 596 X11_INCLUDES="$X11_INCLUDES $XCB_CFLAGS" 597 GL_LIB_DEPS="$GL_LIB_DEPS $XCB_LIBS" 598 fi 599 fi 600 601 # need DRM libs, -lpthread, etc. 602 GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS $OS_LIBS" 603 GL_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS $OS_LIBS" 604 ;; 605osmesa) 606 # No libGL for osmesa 607 GL_LIB_DEPS="$OS_LIBS" 608 ;; 609esac 610AC_SUBST([GL_LIB_DEPS]) 611AC_SUBST([GL_PC_REQ_PRIV]) 612AC_SUBST([GL_PC_LIB_PRIV]) 613AC_SUBST([GL_PC_CFLAGS]) 614AC_SUBST([DRI_PC_REQ_PRIV]) 615 616dnl 617dnl More X11 setup 618dnl 619if test "$mesa_driver" = xlib; then 620 DEFINES="$DEFINES -DUSE_XSHM" 621fi 622 623dnl 624dnl More DRI setup 625dnl 626AC_ARG_ENABLE([glx-tls], 627 [AS_HELP_STRING([--enable-glx-tls], 628 [enable TLS support in GLX @<:@default=disabled@:>@])], 629 [GLX_USE_TLS="$enableval"], 630 [GLX_USE_TLS=no]) 631dnl Directory for DRI drivers 632AC_ARG_WITH([dri-driverdir], 633 [AS_HELP_STRING([--with-dri-driverdir=DIR], 634 [directory for the DRI drivers @<:@${libdir}/dri@:>@])], 635 [DRI_DRIVER_INSTALL_DIR="$withval"], 636 [DRI_DRIVER_INSTALL_DIR='${libdir}/dri']) 637AC_SUBST([DRI_DRIVER_INSTALL_DIR]) 638dnl Direct rendering or just indirect rendering 639AC_ARG_ENABLE([driglx-direct], 640 [AS_HELP_STRING([--disable-driglx-direct], 641 [enable direct rendering in GLX for DRI @<:@default=enabled@:>@])], 642 [driglx_direct="$enableval"], 643 [driglx_direct="yes"]) 644dnl Which drivers to build - default is chosen by platform 645AC_ARG_WITH([dri-drivers], 646 [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@], 647 [comma delimited DRI drivers list, e.g. 648 "swrast,i965,radeon,nouveau" @<:@default=auto@:>@])], 649 [with_dri_drivers="$withval"], 650 [with_dri_drivers=yes]) 651if test "x$with_dri_drivers" = x; then 652 with_dri_drivers=no 653fi 654 655dnl If $with_dri_drivers is yes, directories will be added through 656dnl platform checks 657DRI_DIRS="" 658case "$with_dri_drivers" in 659no) ;; 660yes) 661 DRI_DIRS="yes" 662 ;; 663*) 664 # verify the requested driver directories exist 665 dri_drivers=`IFS=', '; echo $with_dri_drivers` 666 for driver in $dri_drivers; do 667 test -d "$srcdir/src/mesa/drivers/dri/$driver" || \ 668 AC_MSG_ERROR([DRI driver directory '$driver' doesn't exist]) 669 done 670 DRI_DIRS="$dri_drivers" 671 ;; 672esac 673 674dnl Just default to no EGL for now 675USING_EGL=0 676AC_SUBST([USING_EGL]) 677 678dnl Set DRI_DIRS, DEFINES and LIB_DEPS 679if test "$mesa_driver" = dri; then 680 # Use TLS in GLX? 681 if test "x$GLX_USE_TLS" = xyes; then 682 DEFINES="$DEFINES -DGLX_USE_TLS -DPTHREADS" 683 fi 684 685 if test "x$USING_EGL" = x1; then 686 PROGRAM_DIRS="egl" 687 fi 688 689 # Platform specific settings and drivers to build 690 case "$host_os" in 691 linux*) 692 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER" 693 if test "x$driglx_direct" = xyes; then 694 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING" 695 fi 696 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS" 697 698 case "$host_cpu" in 699 x86_64) 700 # ffb, gamma, and sis are missing because they have not be 701 # converted to use the new interface. i810 are missing 702 # because there is no x86-64 system where they could *ever* 703 # be used. 704 if test "x$DRI_DIRS" = "xyes"; then 705 DRI_DIRS="i915 i965 mach64 mga r128 r200 r300 radeon \ 706 savage tdfx unichrome swrast" 707 fi 708 ;; 709 powerpc*) 710 # Build only the drivers for cards that exist on PowerPC. 711 # At some point MGA will be added, but not yet. 712 if test "x$DRI_DIRS" = "xyes"; then 713 DRI_DIRS="mach64 r128 r200 r300 radeon tdfx swrast" 714 fi 715 ;; 716 sparc*) 717 # Build only the drivers for cards that exist on sparc` 718 if test "x$DRI_DIRS" = "xyes"; then 719 DRI_DIRS="mach64 r128 r200 r300 radeon ffb swrast" 720 fi 721 ;; 722 esac 723 ;; 724 freebsd* | dragonfly*) 725 DEFINES="$DEFINES -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1" 726 DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS" 727 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING" 728 if test "x$driglx_direct" = xyes; then 729 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING" 730 fi 731 if test "x$GXX" = xyes; then 732 CXXFLAGS="$CXXFLAGS -ansi -pedantic" 733 fi 734 735 # ffb and gamma are missing because they have not been converted 736 # to use the new interface. 737 if test "x$DRI_DIRS" = "xyes"; then 738 DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 radeon tdfx \ 739 unichrome savage sis swrast" 740 fi 741 ;; 742 solaris*) 743 DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER" 744 DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING" 745 if test "x$driglx_direct" = xyes; then 746 DEFINES="$DEFINES -DGLX_DIRECT_RENDERING" 747 fi 748 ;; 749 esac 750 751 # default drivers 752 if test "x$DRI_DIRS" = "xyes"; then 753 DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 radeon s3v \ 754 savage sis tdfx trident unichrome ffb swrast" 755 fi 756 757 DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'` 758 759 # Check for expat 760 EXPAT_INCLUDES="" 761 EXPAT_LIB=-lexpat 762 AC_ARG_WITH([expat], 763 [AS_HELP_STRING([--with-expat=DIR], 764 [expat install directory])],[ 765 EXPAT_INCLUDES="-I$withval/include" 766 CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES" 767 LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR" 768 EXPAT_LIB="-L$withval/$LIB_DIR -lexpat" 769 ]) 770 AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])]) 771 AC_CHECK_LIB([expat],[XML_ParserCreate],[], 772 [AC_MSG_ERROR([Expat required for DRI.])]) 773 774 # put all the necessary libs together 775 DRI_LIB_DEPS="$SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread $DLOPEN_LIBS" 776fi 777AC_SUBST([DRI_DIRS]) 778AC_SUBST([EXPAT_INCLUDES]) 779AC_SUBST([DRI_LIB_DEPS]) 780 781dnl 782dnl OSMesa configuration 783dnl 784if test "$mesa_driver" = xlib; then 785 default_gl_osmesa=yes 786else 787 default_gl_osmesa=no 788fi 789AC_ARG_ENABLE([gl-osmesa], 790 [AS_HELP_STRING([--enable-gl-osmesa], 791 [enable OSMesa on libGL @<:@default=enabled for xlib driver@:>@])], 792 [gl_osmesa="$enableval"], 793 [gl_osmesa="$default_gl_osmesa"]) 794if test "x$gl_osmesa" = xyes; then 795 if test "$mesa_driver" = osmesa; then 796 AC_MSG_ERROR([libGL is not available for OSMesa driver]) 797 else 798 DRIVER_DIRS="$DRIVER_DIRS osmesa" 799 fi 800fi 801 802dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...) 803AC_ARG_WITH([osmesa-bits], 804 [AS_HELP_STRING([--with-osmesa-bits=BITS], 805 [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])], 806 [osmesa_bits="$withval"], 807 [osmesa_bits=8]) 808if test "$mesa_driver" != osmesa && test "x$osmesa_bits" != x8; then 809 AC_MSG_WARN([Ignoring OSMesa channel bits for non-OSMesa driver]) 810 osmesa_bits=8 811fi 812case "x$osmesa_bits" in 813x8) 814 OSMESA_LIB=OSMesa 815 ;; 816x16|x32) 817 OSMESA_LIB="OSMesa$osmesa_bits" 818 DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31" 819 ;; 820*) 821 AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option]) 822 ;; 823esac 824AC_SUBST([OSMESA_LIB]) 825 826case "$mesa_driver" in 827osmesa) 828 # only link libraries with osmesa if shared 829 if test "$enable_static" = no; then 830 OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS" 831 else 832 OSMESA_LIB_DEPS="" 833 fi 834 OSMESA_MESA_DEPS="" 835 OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS" 836 ;; 837*) 838 # Link OSMesa to libGL otherwise 839 OSMESA_LIB_DEPS="" 840 # only link libraries with osmesa if shared 841 if test "$enable_static" = no; then 842 OSMESA_MESA_DEPS='-l$(GL_LIB)' 843 else 844 OSMESA_MESA_DEPS="" 845 fi 846 OSMESA_PC_REQ="gl" 847 ;; 848esac 849if test "$enable_static" = no; then 850 OSMESA_LIB_DEPS="$OSMESA_LIB_DEPS $OS_LIBS" 851fi 852OSMESA_PC_LIB_PRIV="$OSMESA_PC_LIB_PRIV $OS_LIBS" 853AC_SUBST([OSMESA_LIB_DEPS]) 854AC_SUBST([OSMESA_MESA_DEPS]) 855AC_SUBST([OSMESA_PC_REQ]) 856AC_SUBST([OSMESA_PC_LIB_PRIV]) 857 858dnl 859dnl GLU configuration 860dnl 861AC_ARG_ENABLE([glu], 862 [AS_HELP_STRING([--disable-glu], 863 [enable OpenGL Utility library @<:@default=enabled@:>@])], 864 [enable_glu="$enableval"], 865 [enable_glu=yes]) 866if test "x$enable_glu" = xyes; then 867 SRC_DIRS="$SRC_DIRS glu" 868 869 case "$mesa_driver" in 870 osmesa) 871 # If GLU is available and we have libOSMesa (not 16 or 32), 872 # we can build the osdemos 873 if test "$with_demos" = yes && test "$osmesa_bits" = 8; then 874 PROGRAM_DIRS="$PROGRAM_DIRS osdemos" 875 fi 876 877 # Link libGLU to libOSMesa instead of libGL 878 GLU_LIB_DEPS="" 879 GLU_PC_REQ="osmesa" 880 if test "$enable_static" = no; then 881 GLU_MESA_DEPS='-l$(OSMESA_LIB)' 882 else 883 GLU_MESA_DEPS="" 884 fi 885 ;; 886 *) 887 # If static, empty GLU_LIB_DEPS and add libs for programs to link 888 GLU_PC_REQ="gl" 889 GLU_PC_LIB_PRIV="-lm" 890 if test "$enable_static" = no; then 891 GLU_LIB_DEPS="-lm" 892 GLU_MESA_DEPS='-l$(GL_LIB)' 893 else 894 GLU_LIB_DEPS="" 895 GLU_MESA_DEPS="" 896 APP_LIB_DEPS="$APP_LIB_DEPS -lstdc++" 897 fi 898 ;; 899 esac 900fi 901if test "$enable_static" = no; then 902 GLU_LIB_DEPS="$GLU_LIB_DEPS $OS_CPLUSPLUS_LIBS" 903fi 904GLU_PC_LIB_PRIV="$GLU_PC_LIB_PRIV $OS_CPLUSPLUS_LIBS" 905AC_SUBST([GLU_LIB_DEPS]) 906AC_SUBST([GLU_MESA_DEPS]) 907AC_SUBST([GLU_PC_REQ]) 908AC_SUBST([GLU_PC_REQ_PRIV]) 909AC_SUBST([GLU_PC_LIB_PRIV]) 910AC_SUBST([GLU_PC_CFLAGS]) 911 912dnl 913dnl GLw configuration 914dnl 915AC_ARG_ENABLE([glw], 916 [AS_HELP_STRING([--disable-glw], 917 [enable Xt/Motif widget library @<:@default=enabled@:>@])], 918 [enable_glw="$enableval"], 919 [enable_glw=yes]) 920dnl Don't build GLw on osmesa 921if test "x$enable_glw" = xyes && test "$mesa_driver" = osmesa; then 922 AC_MSG_WARN([Disabling GLw since the driver is OSMesa]) 923 enable_glw=no 924fi 925AC_ARG_ENABLE([motif], 926 [AS_HELP_STRING([--enable-motif], 927 [use Motif widgets in GLw @<:@default=disabled@:>@])], 928 [enable_motif="$enableval"], 929 [enable_motif=no]) 930 931if test "x$enable_glw" = xyes; then 932 SRC_DIRS="$SRC_DIRS glw" 933 if test "$x11_pkgconfig" = yes; then 934 PKG_CHECK_MODULES([GLW],[x11 xt]) 935 GLW_PC_REQ_PRIV="x11 xt" 936 GLW_LIB_DEPS="$GLW_LIBS" 937 else 938 # should check these... 939 GLW_LIB_DEPS="$X_LIBS -lXt -lX11" 940 GLW_PC_LIB_PRIV="$GLW_LIB_DEPS" 941 GLW_PC_CFLAGS="$X11_INCLUDES" 942 fi 943 944 GLW_SOURCES="GLwDrawA.c" 945 MOTIF_CFLAGS= 946 if test "x$enable_motif" = xyes; then 947 GLW_SOURCES="$GLW_SOURCES GLwMDrawA.c" 948 AC_PATH_PROG([MOTIF_CONFIG], [motif-config], [no]) 949 if test "x$MOTIF_CONFIG" != xno; then 950 MOTIF_CFLAGS=`$MOTIF_CONFIG --cflags` 951 MOTIF_LIBS=`$MOTIF_CONFIG --libs` 952 else 953 AC_CHECK_HEADER([Xm/PrimitiveP.h], [], 954 [AC_MSG_ERROR([Can't locate Motif headers])]) 955 AC_CHECK_LIB([Xm], [XmGetPixmap], [MOTIF_LIBS="-lXm"], 956 [AC_MSG_ERROR([Can't locate Motif Xm library])]) 957 fi 958 # MOTIF_LIBS is prepended to GLW_LIB_DEPS since Xm needs Xt/X11 959 GLW_LIB_DEPS="$MOTIF_LIBS $GLW_LIB_DEPS" 960 GLW_PC_LIB_PRIV="$MOTIF_LIBS $GLW_PC_LIB_PRIV" 961 GLW_PC_CFLAGS="$MOTIF_CFLAGS $GLW_PC_CFLAGS" 962 fi 963 964 # If static, empty GLW_LIB_DEPS and add libs for programs to link 965 GLW_PC_LIB_PRIV="$GLW_PC_LIB_PRIV $OS_LIBS" 966 if test "$enable_static" = no; then 967 GLW_MESA_DEPS='-l$(GL_LIB)' 968 GLW_LIB_DEPS="$GLW_LIB_DEPS $OS_LIBS" 969 else 970 APP_LIB_DEPS="$APP_LIB_DEPS $GLW_LIB_DEPS" 971 GLW_LIB_DEPS="" 972 GLW_MESA_DEPS="" 973 fi 974fi 975AC_SUBST([GLW_LIB_DEPS]) 976AC_SUBST([GLW_MESA_DEPS]) 977AC_SUBST([GLW_SOURCES]) 978AC_SUBST([MOTIF_CFLAGS]) 979AC_SUBST([GLW_PC_REQ_PRIV]) 980AC_SUBST([GLW_PC_LIB_PRIV]) 981AC_SUBST([GLW_PC_CFLAGS]) 982 983dnl 984dnl GLUT configuration 985dnl 986if test -f "$srcdir/include/GL/glut.h"; then 987 default_glut=yes 988else 989 default_glut=no 990fi 991AC_ARG_ENABLE([glut], 992 [AS_HELP_STRING([--disable-glut], 993 [enable GLUT library @<:@default=enabled if source available@:>@])], 994 [enable_glut="$enableval"], 995 [enable_glut="$default_glut"]) 996 997dnl Can't build glut if GLU not available 998if test "x$enable_glu$enable_glut" = xnoyes; then 999 AC_MSG_WARN([Disabling glut since GLU is disabled]) 1000 enable_glut=no 1001fi 1002dnl Don't build glut on osmesa 1003if test "x$enable_glut" = xyes && test "$mesa_driver" = osmesa; then 1004 AC_MSG_WARN([Disabling glut since the driver is OSMesa]) 1005 enable_glut=no 1006fi 1007 1008if test "x$enable_glut" = xyes; then 1009 SRC_DIRS="$SRC_DIRS glut/glx" 1010 GLUT_CFLAGS="" 1011 if test "x$GCC" = xyes; then 1012 GLUT_CFLAGS="-fexceptions" 1013 fi 1014 if test "$x11_pkgconfig" = yes; then 1015 PKG_CHECK_MODULES([GLUT],[x11 xmu xi]) 1016 GLUT_PC_REQ_PRIV="x11 xmu xi" 1017 GLUT_LIB_DEPS="$GLUT_LIBS" 1018 else 1019 # should check these... 1020 GLUT_LIB_DEPS="$X_LIBS -lX11 -lXmu -lXi" 1021 GLUT_PC_LIB_PRIV="$GLUT_LIB_DEPS" 1022 GLUT_PC_CFLAGS="$X11_INCLUDES" 1023 fi 1024 GLUT_LIB_DEPS="$GLUT_LIB_DEPS -lm $OS_LIBS" 1025 GLUT_PC_LIB_PRIV="$GLUT_PC_LIB_PRIV -lm $OS_LIBS" 1026 1027 # If glut is available, we can build most programs 1028 if test "$with_demos" = yes; then 1029 PROGRAM_DIRS="$PROGRAM_DIRS demos redbook samples glsl" 1030 fi 1031 1032 # If static, empty GLUT_LIB_DEPS and add libs for programs to link 1033 if test "$enable_static" = no; then 1034 GLUT_MESA_DEPS='-l$(GLU_LIB) -l$(GL_LIB)' 1035 else 1036 APP_LIB_DEPS="$APP_LIB_DEPS $GLUT_LIB_DEPS" 1037 GLUT_LIB_DEPS="" 1038 GLUT_MESA_DEPS="" 1039 fi 1040fi 1041AC_SUBST([GLUT_LIB_DEPS]) 1042AC_SUBST([GLUT_MESA_DEPS]) 1043AC_SUBST([GLUT_CFLAGS]) 1044AC_SUBST([GLUT_PC_REQ_PRIV]) 1045AC_SUBST([GLUT_PC_LIB_PRIV]) 1046AC_SUBST([GLUT_PC_CFLAGS]) 1047 1048dnl 1049dnl Program library dependencies 1050dnl Only libm is added here if necessary as the libraries should 1051dnl be pulled in by the linker 1052dnl 1053if test "x$APP_LIB_DEPS" = x; then 1054 case "$host_os" in 1055 solaris*) 1056 APP_LIB_DEPS="-lX11 -lsocket -lnsl -lm" 1057 ;; 1058 *) 1059 APP_LIB_DEPS="-lm" 1060 ;; 1061 esac 1062fi 1063AC_SUBST([APP_LIB_DEPS]) 1064AC_SUBST([PROGRAM_DIRS]) 1065 1066dnl 1067dnl Gallium configuration 1068dnl 1069AC_ARG_ENABLE([gallium], 1070 [AS_HELP_STRING([--disable-gallium], 1071 [build gallium @<:@default=enabled@:>@])], 1072 [enable_gallium="$enableval"], 1073 [enable_gallium=yes]) 1074if test "x$enable_gallium" = xyes; then 1075 SRC_DIRS="$SRC_DIRS gallium gallium/winsys" 1076fi 1077 1078dnl 1079dnl Gallium state trackers configuration 1080dnl 1081AC_ARG_WITH([state-trackers], 1082 [AS_HELP_STRING([--with-state-trackers@<:@=DIRS...@:>@], 1083 [comma delimited state_trackers list, e.g. 1084 "egl,glx" @<:@default=auto@:>@])], 1085 [with_state_trackers="$withval"], 1086 [with_state_trackers=yes]) 1087 1088case "$with_state_trackers" in 1089no) 1090 GALLIUM_STATE_TRACKERS_DIRS="" 1091 ;; 1092yes) 1093 # look at what else is built 1094 case "$mesa_driver" in 1095 dri) 1096 GALLIUM_STATE_TRACKERS_DIRS=egl 1097 ;; 1098 esac 1099 ;; 1100*) 1101 # verify the requested state tracker exist 1102 state_trackers=`IFS=', '; echo $with_state_trackers` 1103 for tracker in $state_trackers; do 1104 test -d "$srcdir/src/gallium/state_trackers/$tracker" || \ 1105 AC_MSG_ERROR([state tracker '$tracker' doesn't exist]) 1106 done 1107 GALLIUM_STATE_TRACKERS_DIRS="$state_trackers" 1108 ;; 1109esac 1110 1111dnl 1112dnl Gallium Intel configuration 1113dnl 1114AC_ARG_ENABLE([gallium-intel], 1115 [AS_HELP_STRING([--disable-gallium-intel], 1116 [build gallium intel @<:@default=enabled@:>@])], 1117 [enable_gallium_intel="$enableval"], 1118 [enable_gallium_intel=yes]) 1119if test "x$enable_gallium_intel" = xyes; then 1120 GALLIUM_WINSYS_DRM_DIRS="$GALLIUM_WINSYS_DRM_DIRS intel" 1121 GALLIUM_DRIVER_DIRS="$GALLIUM_DRIVER_DIRS i915simple i965simple" 1122fi 1123 1124dnl 1125dnl Gallium Radeon configuration 1126dnl 1127AC_ARG_ENABLE([gallium-radeon], 1128 [AS_HELP_STRING([--enable-gallium-radeon], 1129 [build gallium radeon @<:@default=disabled@:>@])], 1130 [enable_gallium_radeon="$enableval"], 1131 [enable_gallium_radeon=no]) 1132if test "x$enable_gallium_radeon" = xyes; then 1133 GALLIUM_WINSYS_DRM_DIRS="$GALLIUM_WINSYS_DRM_DIRS radeon" 1134 GALLIUM_DRIVER_DIRS="$GALLIUM_DRIVER_DIRS r300" 1135fi 1136 1137dnl 1138dnl Gallium Radeon configuration 1139dnl 1140AC_ARG_ENABLE([gallium-nouveau], 1141 [AS_HELP_STRING([--enable-gallium-nouveau], 1142 [build gallium nouveau @<:@default=disabled@:>@])], 1143 [enable_gallium_nouveau="$enableval"], 1144 [enable_gallium_nouveau=no]) 1145if test "x$enable_gallium_nouveau" = xyes; then 1146 GALLIUM_WINSYS_DRM_DIRS="$GALLIUM_WINSYS_DRM_DIRS nouveau" 1147 GALLIUM_DRIVER_DIRS="$GALLIUM_DRIVER_DIRS nv04 nv10 nv20 nv30 nv40 nv50" 1148fi 1149 1150 1151dnl Restore LDFLAGS and CPPFLAGS 1152LDFLAGS="$_SAVE_LDFLAGS" 1153CPPFLAGS="$_SAVE_CPPFLAGS" 1154 1155dnl Substitute the config 1156AC_CONFIG_FILES([configs/autoconf]) 1157 1158dnl Replace the configs/current symlink 1159AC_CONFIG_COMMANDS([configs],[ 1160if test -f configs/current || test -L configs/current; then 1161 rm -f configs/current 1162fi 1163ln -s autoconf configs/current 1164]) 1165 1166AC_OUTPUT 1167 1168dnl 1169dnl Output some configuration info for the user 1170dnl 1171echo "" 1172echo " prefix: $prefix" 1173echo " exec_prefix: $exec_prefix" 1174echo " libdir: $libdir" 1175echo " includedir: $includedir" 1176 1177dnl Driver info 1178echo "" 1179echo " Driver: $mesa_driver" 1180if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then 1181 echo " OSMesa: lib$OSMESA_LIB" 1182else 1183 echo " OSMesa: no" 1184fi 1185if test "$mesa_driver" = dri; then 1186 # cleanup the drivers var 1187 dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'` 1188if test "x$DRI_DIRS" = x; then 1189 echo " DRI drivers: no" 1190else 1191 echo " DRI drivers: $dri_dirs" 1192fi 1193 echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR" 1194fi 1195echo " Use XCB: $enable_xcb" 1196 1197echo "" 1198if echo "$SRC_DIRS" | grep 'gallium' >/dev/null 2>&1; then 1199 echo " Gallium: yes" 1200 echo " Gallium dirs: $GALLIUM_DIRS" 1201 echo " Winsys dirs: $GALLIUM_WINSYS_DIRS" 1202 echo " Winsys drm dirs:$GALLIUM_WINSYS_DRM_DIRS" 1203 echo " Auxiliary dirs: $GALLIUM_AUXILIARY_DIRS" 1204 echo " Driver dirs: $GALLIUM_DRIVER_DIRS" 1205 echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS" 1206else 1207 echo " Gallium: no" 1208fi 1209 1210dnl Libraries 1211echo "" 1212echo " Shared libs: $enable_shared" 1213echo " Static libs: $enable_static" 1214echo " GLU: $enable_glu" 1215echo " GLw: $enable_glw (Motif: $enable_motif)" 1216echo " glut: $enable_glut" 1217 1218dnl Programs 1219# cleanup the programs var for display 1220program_dirs=`echo $PROGRAM_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'` 1221if test "x$program_dirs" = x; then 1222 echo " Demos: no" 1223else 1224 echo " Demos: $program_dirs" 1225fi 1226 1227dnl Compiler options 1228# cleanup the CFLAGS/CXXFLAGS/DEFINES vars 1229cflags=`echo $CFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \ 1230 $SED 's/^ *//;s/ */ /;s/ *$//'` 1231cxxflags=`echo $CXXFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \ 1232 $SED 's/^ *//;s/ */ /;s/ *$//'` 1233defines=`echo $DEFINES $ASM_FLAGS | $SED 's/^ *//;s/ */ /;s/ *$//'` 1234echo "" 1235echo " CFLAGS: $cflags" 1236echo " CXXFLAGS: $cxxflags" 1237echo " Macros: $defines" 1238 1239echo "" 1240echo " Run '${MAKE-make}' to build Mesa" 1241echo "" 1242