X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=configure.ac;h=e13c4cfc57feafe550a28aa318f7b2d91ba49245;hb=2fdbbeca43e7b57095774e4228e6eea75a180fab;hp=5c832e64669a8b73fcef63431fb8af75633fca22;hpb=99fba503b112a69a2fc14b7dd40684d9a6a1972a;p=mesa.git diff --git a/configure.ac b/configure.ac index 5c832e64669..e13c4cfc57f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ dnl Process this file with autoconf to create configure. -AC_PREREQ([2.59]) +AC_PREREQ([2.60]) dnl Versioning - scrape the version from configs/default m4_define([mesa_version], @@ -16,6 +16,15 @@ AC_INIT([Mesa],[mesa_version], [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa]) AC_CONFIG_AUX_DIR([bin]) AC_CANONICAL_HOST +AM_INIT_AUTOMAKE([foreign]) + +# Support silent build rules, requires at least automake-1.11. Disable +# by either passing --disable-silent-rules to configure or passing V=1 +# to make +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +LT_PREREQ([2.2]) +LT_INIT([disable-static]) dnl Save user CFLAGS and CXXFLAGS so one can override the default ones USER_CFLAGS="$CFLAGS" @@ -24,7 +33,7 @@ USER_CXXFLAGS="$CXXFLAGS" dnl Versions for external dependencies LIBDRM_REQUIRED=2.4.24 LIBDRM_RADEON_REQUIRED=2.4.24 -LIBDRM_INTEL_REQUIRED=2.4.24 +LIBDRM_INTEL_REQUIRED=2.4.30 LIBDRM_NOUVEAU_REQUIRED=0.6 DRI2PROTO_REQUIRED=2.6 GLPROTO_REQUIRED=1.4.14 @@ -37,8 +46,8 @@ AC_PROG_CC AC_PROG_CXX AC_CHECK_PROGS([MAKE], [gmake make]) AC_CHECK_PROGS([PYTHON2], [python2 python]) +AC_PROG_SED AC_PATH_PROG([MKDEP], [makedepend]) -AC_PATH_PROG([SED], [sed]) if test "x$MKDEP" = "x"; then AC_MSG_ERROR([makedepend is required to build Mesa]) @@ -65,6 +74,18 @@ solaris*) ;; esac +AC_PATH_PROG([GTESTCONFIG], [gtest-config]) +if test "x$GTESTCONFIG" != "x"; then + GTEST_CFLAGS=`gtest-config --cppflags --cxxflags` + GTEST_LIBS=`gtest-config --ldflags --libs` + AC_SUBST([GTEST_CFLAGS]) + AC_SUBST([GTEST_LIBS]) + HAVE_GTEST=yes +else + HAVE_GTEST=no +fi +AM_CONDITIONAL(HAVE_GTEST, test x$HAVE_GTEST = xyes) + dnl clang is mostly GCC-compatible, but its version is much lower, dnl so we have to check for it. AC_MSG_CHECKING([if compiling with clang]) @@ -155,9 +176,6 @@ esac dnl Add flags for gcc and g++ if test "x$GCC" = xyes; then CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -std=c99" - if test "x$CLANG" = "xno"; then - CFLAGS="$CFLAGS -ffast-math" - fi # Enable -fvisibility=hidden if using a gcc that supports it save_CFLAGS="$CFLAGS" @@ -172,6 +190,10 @@ if test "x$GCC" = xyes; then # Work around aliasing bugs - developers should comment this out CFLAGS="$CFLAGS -fno-strict-aliasing" + + # gcc's builtin memcmp is slower than glibc's + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052 + CFLAGS="$CFLAGS -fno-builtin-memcmp" fi if test "x$GXX" = xyes; then CXXFLAGS="$CXXFLAGS -Wall" @@ -191,6 +213,10 @@ if test "x$GXX" = xyes; then # Work around aliasing bugs - developers should comment this out CXXFLAGS="$CXXFLAGS -fno-strict-aliasing" + + # gcc's builtin memcmp is slower than glibc's + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052 + CXXFLAGS="$CXXFLAGS -fno-builtin-memcmp" fi dnl even if the compiler appears to support it, using visibility attributes isn't @@ -341,6 +367,28 @@ else esac fi +dnl +dnl Mangled Mesa support +dnl +AC_ARG_ENABLE([mangling], + [AS_HELP_STRING([--enable-mangling], + [enable mangled symbols and library name @<:@default=disabled@:>@])], + [enable_mangling="${enableval}"], + [enable_mangling=no] +) +GL_LIB="GL" +GLU_LIB="GLU" +OSMESA_LIB="OSMesa" +if test "x${enable_mangling}" = "xyes" ; then + DEFINES="${DEFINES} -DUSE_MGL_NAMESPACE" + GL_LIB="MangledGL" + GLU_LIB="MangledGLU" + OSMESA_LIB="MangledOSMesa" +fi +AC_SUBST([GL_LIB]) +AC_SUBST([GLU_LIB]) +AC_SUBST([OSMESA_LIB]) + dnl dnl potentially-infringing-but-nobody-knows-for-sure stuff dnl @@ -358,8 +406,6 @@ fi GL_LIB_NAME='lib$(GL_LIB).'${LIB_EXTENSION} GLU_LIB_NAME='lib$(GLU_LIB).'${LIB_EXTENSION} -GLUT_LIB_NAME='lib$(GLUT_LIB).'${LIB_EXTENSION} -GLW_LIB_NAME='lib$(GLW_LIB).'${LIB_EXTENSION} OSMESA_LIB_NAME='lib$(OSMESA_LIB).'${LIB_EXTENSION} EGL_LIB_NAME='lib$(EGL_LIB).'${LIB_EXTENSION} GLESv1_CM_LIB_NAME='lib$(GLESv1_CM_LIB).'${LIB_EXTENSION} @@ -371,8 +417,6 @@ GBM_LIB_NAME='lib$(GBM_LIB).'${LIB_EXTENSION} GL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' GLU_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLU_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' -GLUT_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLUT_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' -GLW_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLW_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' OSMESA_LIB_GLOB=${LIB_PREFIX_GLOB}'$(OSMESA_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' @@ -385,8 +429,6 @@ GBM_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GBM_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTE AC_SUBST([GL_LIB_NAME]) AC_SUBST([GLU_LIB_NAME]) -AC_SUBST([GLUT_LIB_NAME]) -AC_SUBST([GLW_LIB_NAME]) AC_SUBST([OSMESA_LIB_NAME]) AC_SUBST([EGL_LIB_NAME]) AC_SUBST([GLESv1_CM_LIB_NAME]) @@ -398,8 +440,6 @@ AC_SUBST([GBM_LIB_NAME]) AC_SUBST([GL_LIB_GLOB]) AC_SUBST([GLU_LIB_GLOB]) -AC_SUBST([GLUT_LIB_GLOB]) -AC_SUBST([GLW_LIB_GLOB]) AC_SUBST([OSMESA_LIB_GLOB]) AC_SUBST([EGL_LIB_GLOB]) AC_SUBST([GLESv1_CM_LIB_GLOB]) @@ -627,12 +667,12 @@ AC_ARG_ENABLE([gallium_gbm], [enable_gallium_gbm=auto]) # Option for Gallium drivers -GALLIUM_DRIVERS_DEFAULT="r300,r600,swrast" +GALLIUM_DRIVERS_DEFAULT="r300,r600,svga,swrast" AC_ARG_WITH([gallium-drivers], [AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@], [comma delimited Gallium drivers list, e.g. - "i915,i965,nouveau,r300,r600,svga,swrast" + "i915,nouveau,r300,r600,svga,swrast" @<:@default=r300,r600,swrast@:>@])], [with_gallium_drivers="$withval"], [with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"]) @@ -773,7 +813,7 @@ GLU_DIRS="sgi" GALLIUM_DIRS="auxiliary drivers state_trackers" GALLIUM_TARGET_DIRS="" GALLIUM_WINSYS_DIRS="sw" -GALLIUM_DRIVERS_DIRS="failover galahad trace rbug noop identity" +GALLIUM_DRIVERS_DIRS="galahad trace rbug noop identity" GALLIUM_STATE_TRACKERS_DIRS="" # build shared-glapi if enabled for OpenGL or if OpenGL ES is enabled @@ -900,16 +940,8 @@ if test "x$enable_glx" = xyes -a "x$no_x" = xyes; then AC_MSG_ERROR([X11 development libraries needed for GLX]) fi -dnl XCB - this is only used for GLX right now -AC_ARG_ENABLE([xcb], - [AS_HELP_STRING([--enable-xcb], - [use XCB for GLX @<:@default=disabled@:>@])], - [enable_xcb="$enableval"], - [enable_xcb=no]) -if test "x$enable_xcb" = xyes; then +if test "x$enable_glx" = xyes; then DEFINES="$DEFINES -DUSE_XCB" -else - enable_xcb=no fi dnl Direct rendering or just indirect rendering @@ -951,15 +983,8 @@ xyesyes) GL_PC_LIB_PRIV="$GL_LIB_DEPS" GL_PC_CFLAGS="$X11_INCLUDES" fi - GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread" + GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread $DLOPEN_LIBS" GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm -lpthread" - - # if static, move the external libraries to the programs - # and empty the libraries for libGL - if test "$enable_static" = yes; then - APP_LIB_DEPS="$APP_LIB_DEPS $GL_LIB_DEPS" - GL_LIB_DEPS="" - fi ;; xyesno) # DRI-based GLX @@ -975,7 +1000,7 @@ xyesno) # find the DRI deps for libGL if test "$x11_pkgconfig" = yes; then - dri_modules="x11 xext xdamage xfixes" + dri_modules="x11 xext xdamage xfixes x11-xcb xcb-glx" # add xf86vidmode if available PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no) @@ -983,11 +1008,6 @@ xyesno) dri_modules="$dri_modules xxf86vm" fi - # add xcb modules if necessary - if test "$enable_xcb" = yes; then - dri_modules="$dri_modules x11-xcb xcb-glx" - fi - PKG_CHECK_MODULES([DRIGL], [$dri_modules]) GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules" X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS" @@ -1004,12 +1024,27 @@ xyesno) GL_PC_CFLAGS="$X11_INCLUDES" # XCB can only be used from pkg-config - if test "$enable_xcb" = yes; then - PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx]) - GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV x11-xcb xcb-glx" - X11_INCLUDES="$X11_INCLUDES $XCB_CFLAGS" - GL_LIB_DEPS="$GL_LIB_DEPS $XCB_LIBS" - fi + PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx]) + GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV x11-xcb xcb-glx" + X11_INCLUDES="$X11_INCLUDES $XCB_CFLAGS" + GL_LIB_DEPS="$GL_LIB_DEPS $XCB_LIBS" + fi + + # Check to see if the xcb-glx library is new enough to support + # GLX_ARB_create_context. This bit of hackery is necessary until XCB 1.8 + # is released. + save_CPPFLAGS="$CPPFLAGS" + save_LDFLAGS="$LDFLAGS" + CPPFLAGS="$CPPFLAGS $X11_INCLUDES" + LDFLAGS="$LDFLAGS $GL_LIB_DEPS" + AC_CHECK_LIB(xcb-glx, xcb_glx_create_context_attribs_arb_checked, + [HAVE_XCB_GLX_CREATE_CONTEXT=yes], + [HAVE_XCB_GLX_CREATE_CONTEXT=no]) + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + + if test x$HAVE_XCB_GLX_CREATE_CONTEXT = xyes; then + X11_INCLUDES="$X11_INCLUDES -DHAVE_XCB_GLX_CREATE_CONTEXT" fi # need DRM libs, -lpthread, etc. @@ -1018,6 +1053,11 @@ xyesno) ;; esac +# This is outside the case (above) so that it is invoked even for non-GLX +# builds. +AM_CONDITIONAL(HAVE_XCB_GLX_CREATE_CONTEXT, + test x$HAVE_XCB_GLX_CREATE_CONTEXT = xyes) + GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS" GLESv1_CM_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS" GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS" @@ -1033,7 +1073,7 @@ AC_SUBST([GLESv1_CM_PC_LIB_PRIV]) AC_SUBST([GLESv2_LIB_DEPS]) AC_SUBST([GLESv2_PC_LIB_PRIV]) -GLAPI_LIB_DEPS="-lpthread" +GLAPI_LIB_DEPS="-lpthread $SELINUX_LIBS" AC_SUBST([GLAPI_LIB_DEPS]) @@ -1165,25 +1205,20 @@ if test "x$enable_dri" = xyes; then case "$host_cpu" in x86_64) - # sis is missing because they have not be converted to use - # the new interface. i810 are missing because there is no - # x86-64 system where they could *ever* be used. if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="i915 i965 mach64 mga nouveau r128 r200 r300 r600 \ - radeon savage tdfx unichrome swrast" + DRI_DIRS="i915 i965 nouveau r200 radeon swrast" fi ;; powerpc*) # Build only the drivers for cards that exist on PowerPC. - # At some point MGA will be added, but not yet. if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="mach64 r128 r200 r300 r600 radeon tdfx swrast" + DRI_DIRS="r200 radeon swrast" fi ;; sparc*) - # Build only the drivers for cards that exist on sparc` + # Build only the drivers for cards that exist on sparc if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="mach64 r128 r200 r300 r600 radeon swrast" + DRI_DIRS="r200 radeon swrast" fi ;; esac @@ -1193,8 +1228,7 @@ if test "x$enable_dri" = xyes; then DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS" if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 \ - radeon tdfx unichrome savage sis swrast" + DRI_DIRS="i915 i965 nouveau r200 radeon swrast" fi ;; gnu*) @@ -1214,8 +1248,7 @@ if test "x$enable_dri" = xyes; then # default drivers if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 radeon \ - savage sis tdfx unichrome swrast" + DRI_DIRS="i915 i965 nouveau r200 radeon swrast" fi DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'` @@ -1254,9 +1287,18 @@ AC_SUBST([DRI_LIB_DEPS]) case $DRI_DIRS in *i915*|*i965*) PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED]) + + case $DRI_DIRS in + *i965*) + HAVE_I965_DRI=yes; + ;; + esac + ;; esac +AM_CONDITIONAL(HAVE_I965_DRI, test x$HAVE_I965_DRI = xyes) + case $DRI_DIRS in *nouveau*) PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED]) @@ -1264,20 +1306,10 @@ case $DRI_DIRS in esac case $DRI_DIRS in -*radeon*|*r200*|*r300*|*r600*) - PKG_CHECK_MODULES([LIBDRM_RADEON], - [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED], - HAVE_LIBDRM_RADEON=yes, - HAVE_LIBDRM_RADEON=no) - - if test "x$HAVE_LIBDRM_RADEON" = xyes; then - RADEON_CFLAGS="-DHAVE_LIBDRM_RADEON=1 $LIBDRM_RADEON_CFLAGS" - RADEON_LDFLAGS=$LIBDRM_RADEON_LIBS - fi +*radeon*|*r200*) + PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED]) ;; esac -AC_SUBST([RADEON_CFLAGS]) -AC_SUBST([RADEON_LDFLAGS]) dnl @@ -1298,17 +1330,16 @@ if test "x$osmesa_bits" != x8; then fi case "x$osmesa_bits" in x8) - OSMESA_LIB=OSMesa + OSMESA_LIB="${OSMESA_LIB}" ;; x16|x32) - OSMESA_LIB="OSMesa$osmesa_bits" + OSMESA_LIB="${OSMESA_LIB}$osmesa_bits" DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31" ;; *) AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option]) ;; esac -AC_SUBST([OSMESA_LIB]) if test "x$enable_osmesa" = xyes; then # only link libraries with osmesa if shared @@ -1370,6 +1401,8 @@ if test "x$enable_egl" = xyes; then EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS -lpthread" EGL_DRIVERS_DIRS="" + AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"]) + if test "$enable_static" != yes; then # build egl_glx when libGL is built if test "x$enable_glx" = xyes; then @@ -1424,8 +1457,8 @@ dnl dnl gbm Gallium configuration dnl if test "x$enable_gallium_gbm" = xauto; then - case "$enable_gbm$HAVE_ST_EGL$with_egl_platforms" in - yesyes*drm*) + case "$enable_gbm$HAVE_ST_EGL$enable_dri$with_egl_platforms" in + yesyesyes*drm*) enable_gallium_gbm=yes ;; *) enable_gallium_gbm=no ;; @@ -1438,6 +1471,10 @@ if test "x$enable_gallium_gbm" = xyes; then if test "x$enable_gbm" = xno; then AC_MSG_ERROR([cannot enable gbm_gallium without gbm]) fi + # gbm_gallium abuses DRI_LIB_DEPS to link. Make sure it is set. + if test "x$enable_dri" = xno; then + AC_MSG_ERROR([gbm_gallium requires --enable-dri to build]) + fi GALLIUM_STATE_TRACKERS_DIRS="gbm $GALLIUM_STATE_TRACKERS_DIRS" GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS gbm" @@ -1461,9 +1498,21 @@ fi dnl dnl XA configuration dnl +if test "x$enable_xa" = xyes; then +AC_PROG_AWK +AC_PROG_GREP +AC_CHECK_PROG(NM, nm, "nm") +if test "x$AWK" = x || test "x$GREP" = x || test "x$NM" = x; then +AC_MSG_WARN([Missing one of nm, grep or awk. Disabling xa.]) +enable_xa=no +fi +fi if test "x$enable_xa" = xyes; then GALLIUM_STATE_TRACKERS_DIRS="xa $GALLIUM_STATE_TRACKERS_DIRS" HAVE_ST_XA=yes + AC_SUBST(AWK) + AC_SUBST(GREP) + AC_SUBST(NM) fi dnl @@ -1587,7 +1636,6 @@ if test "x$enable_glu" = xyes; then else GLU_LIB_DEPS="" GLU_MESA_DEPS="" - APP_LIB_DEPS="$APP_LIB_DEPS -lstdc++" fi fi fi @@ -1602,96 +1650,6 @@ AC_SUBST([GLU_PC_REQ_PRIV]) AC_SUBST([GLU_PC_LIB_PRIV]) AC_SUBST([GLU_PC_CFLAGS]) -dnl -dnl GLw configuration -dnl -AC_ARG_ENABLE([glw], - [AS_HELP_STRING([--disable-glw], - [enable Xt/Motif widget library @<:@default=enabled@:>@])], - [enable_glw="$enableval"], - [enable_glw=yes]) -dnl Don't build GLw on osmesa -if test "x$enable_glw" = xyes -a "x$enable_glx" = xno; then - AC_MSG_NOTICE([Disabling GLw since there is no OpenGL driver]) - enable_glw=no -fi -AC_ARG_ENABLE([motif], - [AS_HELP_STRING([--enable-motif], - [use Motif widgets in GLw @<:@default=disabled@:>@])], - [enable_motif="$enableval"], - [enable_motif=no]) - -if test "x$enable_glw" = xyes; then - SRC_DIRS="$SRC_DIRS glw" - if test "$x11_pkgconfig" = yes; then - PKG_CHECK_MODULES([GLW],[x11 xt]) - GLW_PC_REQ_PRIV="x11 xt" - GLW_LIB_DEPS="$GLW_LIBS" - else - # should check these... - GLW_LIB_DEPS="$X_LIBS -lXt -lX11" - GLW_PC_LIB_PRIV="$GLW_LIB_DEPS" - GLW_PC_CFLAGS="$X11_INCLUDES" - fi - - GLW_SOURCES="GLwDrawA.c" - MOTIF_CFLAGS= - if test "x$enable_motif" = xyes; then - GLW_SOURCES="$GLW_SOURCES GLwMDrawA.c" - AC_PATH_PROG([MOTIF_CONFIG], [motif-config], [no]) - if test "x$MOTIF_CONFIG" != xno; then - MOTIF_CFLAGS=`$MOTIF_CONFIG --cflags` - MOTIF_LIBS=`$MOTIF_CONFIG --libs` - else - AC_CHECK_HEADER([Xm/PrimitiveP.h], [], - [AC_MSG_ERROR([Can't locate Motif headers])]) - AC_CHECK_LIB([Xm], [XmGetPixmap], [MOTIF_LIBS="-lXm"], - [AC_MSG_ERROR([Can't locate Motif Xm library])]) - fi - # MOTIF_LIBS is prepended to GLW_LIB_DEPS since Xm needs Xt/X11 - GLW_LIB_DEPS="$MOTIF_LIBS $GLW_LIB_DEPS" - GLW_PC_LIB_PRIV="$MOTIF_LIBS $GLW_PC_LIB_PRIV" - GLW_PC_CFLAGS="$MOTIF_CFLAGS $GLW_PC_CFLAGS" - fi - - # If static, empty GLW_LIB_DEPS and add libs for programs to link - GLW_PC_LIB_PRIV="$GLW_PC_LIB_PRIV" - if test "$enable_static" = no; then - GLW_MESA_DEPS='-l$(GL_LIB)' - GLW_LIB_DEPS="$GLW_LIB_DEPS" - else - APP_LIB_DEPS="$APP_LIB_DEPS $GLW_LIB_DEPS" - GLW_LIB_DEPS="" - GLW_MESA_DEPS="" - fi -fi -AC_SUBST([GLW_LIB_DEPS]) -AC_SUBST([GLW_MESA_DEPS]) -AC_SUBST([GLW_SOURCES]) -AC_SUBST([MOTIF_CFLAGS]) -AC_SUBST([GLW_PC_REQ_PRIV]) -AC_SUBST([GLW_PC_LIB_PRIV]) -AC_SUBST([GLW_PC_CFLAGS]) - -dnl -dnl Program library dependencies -dnl Only libm is added here if necessary as the libraries should -dnl be pulled in by the linker -dnl -if test "x$APP_LIB_DEPS" = x; then - case "$host_os" in - solaris*) - APP_LIB_DEPS="-lX11 -lsocket -lnsl -lm" - ;; - cygwin*) - APP_LIB_DEPS="-lX11" - ;; - *) - APP_LIB_DEPS="-lm" - ;; - esac -fi -AC_SUBST([APP_LIB_DEPS]) AC_SUBST([PROGRAM_DIRS]) dnl @@ -1743,6 +1701,9 @@ yes) if test "$plat" = "fbdev"; then GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/fbdev" fi + if test "$plat" = "null"; then + GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/null" + fi if test "$plat" = "wayland"; then PKG_CHECK_MODULES([WAYLAND], [wayland-client wayland-server],, \ [AC_MSG_ERROR([cannot find libwayland-client])]) @@ -1821,9 +1782,9 @@ if test "x$enable_gallium_llvm" = xyes; then AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no]) if test "x$LLVM_CONFIG" != xno; then - LLVM_VERSION=`$LLVM_CONFIG --version` - LLVM_CFLAGS=`$LLVM_CONFIG --cppflags|sed 's/-DNDEBUG\>//g'` - LLVM_LIBS="`$LLVM_CONFIG --libs` -lstdc++" + LLVM_VERSION=`$LLVM_CONFIG --version | sed 's/svn.*//g'` + LLVM_CFLAGS=`$LLVM_CONFIG --cppflags|sed -e 's/-DNDEBUG\>//g' -e 's/-pedantic//g'` + LLVM_LIBS="`$LLVM_CONFIG --libs`" LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags` DEFINES="$DEFINES -D__STDC_CONSTANT_MACROS" @@ -1902,7 +1863,7 @@ if test "x$with_gallium_drivers" != x; then case "x$driver" in xsvga) GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga softpipe" - gallium_check_st "svga/drm" "dri-vmwgfx" "xorg-vmwgfx" "xa-vmwgfx" + gallium_check_st "svga/drm" "dri-vmwgfx" "" "xa-vmwgfx" ;; xi915) PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED]) @@ -1913,14 +1874,6 @@ if test "x$with_gallium_drivers" != x; then GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw" gallium_check_st "i915/drm" "dri-i915" "xorg-i915" ;; - xi965) - PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED]) - GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i965 softpipe" - if test "x$MESA_LLVM" = x1; then - GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe" - fi - gallium_check_st "i965/drm" "dri-i965" "xorg-i965" - ;; xr300) gallium_require_llvm "Gallium R300" GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300" @@ -1928,19 +1881,20 @@ if test "x$with_gallium_drivers" != x; then ;; xr600) GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600" - gallium_check_st "r600/drm" "dri-r600" "" "" "xvmc-r600" "vdpau-r600" "va-r600" + gallium_check_st "radeon/drm" "dri-r600" "xorg-r600" "" "xvmc-r600" "vdpau-r600" "va-r600" ;; xnouveau) PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED]) GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nvfx nv50 nvc0" - gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau" "" "xvmc-nouveau" + gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau" "" "xvmc-nouveau" "vdpau-nouveau" ;; xswrast) + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS softpipe" + if test "x$MESA_LLVM" = x1; then + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe" + fi + if test "x$HAVE_ST_DRI" = xyes; then - GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS softpipe" - if test "x$MESA_LLVM" = x1; then - GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe" - fi GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast" fi if test "x$HAVE_ST_VDPAU" = xyes; then @@ -1952,15 +1906,12 @@ if test "x$with_gallium_drivers" != x; then if test "x$HAVE_ST_VA" = xyes; then GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS va-softpipe" fi - if test "x$HAVE_ST_VDPAU" == xyes || - test "x$HAVE_ST_XVMC" == xyes || - test "x$HAVE_ST_VA" == xyes; then + if test "x$HAVE_ST_VDPAU" = xyes || + test "x$HAVE_ST_XVMC" = xyes || + test "x$HAVE_ST_VA" = xyes; then if test "x$HAVE_WINSYS_XLIB" != xyes; then GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib" fi - if test "x$HAVE_ST_DRI" != xyes; then - GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS softpipe" - fi fi ;; *) @@ -1986,7 +1937,10 @@ CFLAGS="$CFLAGS $USER_CFLAGS" CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS" dnl Substitute the config -AC_CONFIG_FILES([configs/autoconf]) +AC_CONFIG_FILES([configs/autoconf + src/mesa/drivers/dri/i965/Makefile + tests/Makefile + tests/glx/Makefile]) dnl Replace the configs/current symlink AC_CONFIG_COMMANDS([configs],[ @@ -1997,10 +1951,10 @@ ln -s autoconf configs/current ]) dnl Sort the dirs alphabetically -GALLIUM_TARGET_DIRS=`echo $GALLIUM_TARGET_DIRS|tr " " "\n"|sort|tr "\n" " "` -GALLIUM_WINSYS_DIRS=`echo $GALLIUM_WINSYS_DIRS|tr " " "\n"|sort|tr "\n" " "` -GALLIUM_DRIVERS_DIRS=`echo $GALLIUM_DRIVERS_DIRS|tr " " "\n"|sort|tr "\n" " "` -GALLIUM_STATE_TRACKERS_DIRS=`echo $GALLIUM_STATE_TRACKERS_DIRS|tr " " "\n"|sort|tr "\n" " "` +GALLIUM_TARGET_DIRS=`echo $GALLIUM_TARGET_DIRS|tr " " "\n"|sort -u|tr "\n" " "` +GALLIUM_WINSYS_DIRS=`echo $GALLIUM_WINSYS_DIRS|tr " " "\n"|sort -u|tr "\n" " "` +GALLIUM_DRIVERS_DIRS=`echo $GALLIUM_DRIVERS_DIRS|tr " " "\n"|sort -u|tr "\n" " "` +GALLIUM_STATE_TRACKERS_DIRS=`echo $GALLIUM_STATE_TRACKERS_DIRS|tr " " "\n"|sort -u|tr "\n" " "` AC_OUTPUT @@ -2044,7 +1998,6 @@ xyesyes) ;; xyesno) echo " GLX: DRI-based" - echo " Use XCB: $enable_xcb" ;; *) echo " GLX: $enable_glx" @@ -2053,7 +2006,6 @@ esac echo "" echo " GLU: $enable_glu" -echo " GLw: $enable_glw (Motif: $enable_motif)" dnl EGL echo "" @@ -2095,6 +2047,7 @@ else echo " Gallium: no" fi + dnl Libraries echo "" echo " Shared libs: $enable_shared"