diff options
Diffstat (limited to 'mesalib/configure.ac')
-rw-r--r-- | mesalib/configure.ac | 229 |
1 files changed, 86 insertions, 143 deletions
diff --git a/mesalib/configure.ac b/mesalib/configure.ac index 7dac091b0..c30bcf05c 100644 --- a/mesalib/configure.ac +++ b/mesalib/configure.ac @@ -29,7 +29,7 @@ LT_INIT([disable-static]) dnl Versions for external dependencies LIBDRM_REQUIRED=2.4.24 LIBDRM_RADEON_REQUIRED=2.4.38 -LIBDRM_INTEL_REQUIRED=2.4.37 +LIBDRM_INTEL_REQUIRED=2.4.38 LIBDRM_NVVIEUX_REQUIRED=2.4.33 LIBDRM_NOUVEAU_REQUIRED=2.4.33 DRI2PROTO_REQUIRED=2.6 @@ -55,7 +55,7 @@ fi AC_PROG_YACC AC_PATH_PROG([YACC_INST], $YACC) -if test ! -f "$srcdir/src/glsl/glcpp/glcpp-parse.y"; then +if test ! -f "$srcdir/src/glsl/glcpp/glcpp-parse.c"; then if test -z "$YACC_INST"; then AC_MSG_ERROR([yacc not found - unable to compile glcpp-parse.y]) fi @@ -283,6 +283,8 @@ xnono ) ;; esac +AM_CONDITIONAL(BUILD_SHARED, test "x$enable_shared" = xyes) + dnl dnl mklib options dnl @@ -497,8 +499,9 @@ MESA_PIC_FLAGS dnl Check to see if dlopen is in default libraries (like Solaris, which dnl has it in libc), or if libdl is needed to get it. -AC_CHECK_FUNC([dlopen], [], - [AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])]) +AC_CHECK_FUNC([dlopen], [DEFINES="$DEFINES -DHAVE_DLOPEN"], + [AC_CHECK_LIB([dl], [dlopen], + [DEFINES="$DEFINES -DHAVE_DLOPEN"; DLOPEN_LIBS="-ldl"])]) AC_SUBST([DLOPEN_LIBS]) dnl See if posix_memalign is available @@ -543,19 +546,19 @@ AC_ARG_ENABLE([openvg], AC_ARG_ENABLE([dri], [AS_HELP_STRING([--enable-dri], - [enable DRI modules @<:@default=auto@:>@])], + [enable DRI modules @<:@default=enabled@:>@])], [enable_dri="$enableval"], - [enable_dri=auto]) + [enable_dri=yes]) AC_ARG_ENABLE([glx], [AS_HELP_STRING([--enable-glx], - [enable GLX library @<:@default=auto@:>@])], + [enable GLX library @<:@default=enabled@:>@])], [enable_glx="$enableval"], - [enable_glx=auto]) + [enable_glx=yes]) AC_ARG_ENABLE([osmesa], [AS_HELP_STRING([--enable-osmesa], - [enable OSMesa library @<:@default=auto@:>@])], + [enable OSMesa library @<:@default=disabled@:>@])], [enable_osmesa="$enableval"], - [enable_osmesa=auto]) + [enable_osmesa=no]) AC_ARG_ENABLE([egl], [AS_HELP_STRING([--disable-egl], [disable EGL library @<:@default=enabled@:>@])], @@ -605,9 +608,9 @@ AC_ARG_ENABLE([opencl], [enable_opencl=no]) AC_ARG_ENABLE([xlib_glx], [AS_HELP_STRING([--enable-xlib-glx], - [make GLX library Xlib-based instead of DRI-based @<:@default=disable@:>@])], + [make GLX library Xlib-based instead of DRI-based @<:@default=disabled@:>@])], [enable_xlib_glx="$enableval"], - [enable_xlib_glx=auto]) + [enable_xlib_glx=no]) AC_ARG_ENABLE([gallium_egl], [AS_HELP_STRING([--enable-gallium-egl], [enable optional EGL state tracker (not required @@ -681,123 +684,61 @@ if test "x$enable_gles2" = xyes; then fi AC_SUBST([API_DEFINES]) +if test "x$enable_glx" = xno; then + AC_MSG_WARN([GLX disabled, disabling Xlib-GLX]) + enable_xlib_glx=no +fi + +if test "x$enable_dri$enable_xlib_glx" = xyesyes; then + AC_MSG_ERROR([DRI and Xlib-GLX cannot be built together]) +fi + +# Disable GLX if DRI and Xlib-GLX are not enabled +if test "x$enable_glx" = xyes -a \ + "x$enable_dri" = xno -a \ + "x$enable_xlib_glx" = xno; then + AC_MSG_WARN([Neither DRI nor Xlib-GLX enabled, disabling GLX]) + enable_glx=no +fi + +AM_CONDITIONAL(HAVE_DRI, test "x$enable_dri" = xyes) +AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_xlib_glx" = xyes -o \ + "x$enable_osmesa" = xyes) + AC_ARG_ENABLE([shared-glapi], [AS_HELP_STRING([--enable-shared-glapi], [Enable shared glapi for OpenGL @<:@default=yes@:>@])], [enable_shared_glapi="$enableval"], - [enable_shared_glapi=yes]) + [enable_shared_glapi="$enable_dri"]) + +# Shared GLAPI is only useful for DRI +if test "x$enable_dri" = xno; then + AC_MSG_NOTICE([Shared GLAPI is only useful for DRI, disabling]) + enable_shared_glapi=no +fi +# TODO: Get rid of SHARED_GLAPI variable SHARED_GLAPI="0" if test "x$enable_shared_glapi" = xyes; then SHARED_GLAPI="1" # libGL will use libglapi for function lookups (IN_DRI_DRIVER means to use # the remap table) DEFINES="$DEFINES -DIN_DRI_DRIVER" - SRC_DIRS="$SRC_DIRS mapi/shared-glapi" + CORE_DIRS="mapi/shared-glapi" fi AC_SUBST([SHARED_GLAPI]) -AM_CONDITIONAL(HAVE_SHARED_GLAPI, test $SHARED_GLAPI = 1) - -dnl -dnl Driver configuration. Options are xlib, dri and osmesa right now. -dnl More later: fbdev, ... -dnl -default_driver="xlib" - -case "$host_os" in -linux*) - default_driver="dri" - ;; -*freebsd* | dragonfly* | *netbsd*) - case "$host_cpu" in - i*86|x86_64|powerpc*|sparc*) default_driver="dri";; - esac - ;; -esac - -if test "x$enable_opengl" = xno; then - default_driver="no" -fi - -AC_ARG_WITH([driver], - [AS_HELP_STRING([--with-driver=DRIVER], [DEPRECATED])], - [mesa_driver="$withval"], - [mesa_driver=auto]) -dnl Check for valid option -case "x$mesa_driver" in -xxlib|xdri|xosmesa|xno) - if test "x$enable_dri" != xauto -o \ - "x$enable_glx" != xauto -o \ - "x$enable_osmesa" != xauto -o \ - "x$enable_xlib_glx" != xauto; then - AC_MSG_ERROR([--with-driver=$mesa_driver is deprecated]) - fi - ;; -xauto) - mesa_driver="$default_driver" - ;; -*) - AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option]) - ;; -esac - -# map $mesa_driver to APIs -if test "x$enable_dri" = xauto; then - case "x$mesa_driver" in - xdri) enable_dri=yes ;; - *) enable_dri=no ;; - esac -fi - -if test "x$enable_glx" = xauto; then - case "x$mesa_driver" in - xdri|xxlib) enable_glx=yes ;; - *) enable_glx=no ;; - esac -fi - -if test "x$enable_osmesa" = xauto; then - case "x$mesa_driver" in - xxlib|xosmesa) enable_osmesa=yes ;; - *) enable_osmesa=no ;; - esac -fi - -if test "x$enable_xlib_glx" = xauto; then - case "x$mesa_driver" in - xxlib) enable_xlib_glx=yes ;; - *) enable_xlib_glx=no ;; - esac -fi - -if test "x$enable_glx" = xno; then - enable_xlib_glx=no -fi - -AM_CONDITIONAL(HAVE_DRI, test x"$enable_dri" = xyes) +AM_CONDITIONAL(HAVE_SHARED_GLAPI, test "x$enable_shared_glapi" = xyes) dnl dnl Driver specific build directories dnl - -dnl this variable will be prepended to SRC_DIRS and is not exported -CORE_DIRS="" - SRC_DIRS="gtest" -GLU_DIRS="sgi" GALLIUM_DIRS="auxiliary drivers state_trackers" GALLIUM_TARGET_DIRS="" GALLIUM_WINSYS_DIRS="sw" 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 -case "x$enable_shared_glapi$enable_gles1$enable_gles2" in -x*yes*) - CORE_DIRS="$CORE_DIRS mapi/shared-glapi" - ;; -esac - # build glapi if OpenGL is enabled if test "x$enable_opengl" = xyes; then CORE_DIRS="$CORE_DIRS mapi/glapi" @@ -847,7 +788,6 @@ if test "x$enable_osmesa" = xyes; then fi AC_SUBST([SRC_DIRS]) -AC_SUBST([GLU_DIRS]) AC_SUBST([DRIVER_DIRS]) AC_SUBST([GALLIUM_DIRS]) AC_SUBST([GALLIUM_TARGET_DIRS]) @@ -979,17 +919,8 @@ GLAPI_LIB_DEPS="-lpthread $SELINUX_LIBS" AC_SUBST([GLAPI_LIB_DEPS]) -dnl dri libraries are linking with mesa -DRI_LIB_DEPS='$(TOP)/src/mesa/libmesa.la' -GALLIUM_DRI_LIB_DEPS='$(TOP)/src/mesa/libmesa.a' - -dnl ... or dricore? -if test "x$enable_dri" = xyes && test "x$driglx_direct" = xyes ; then - DRI_LIB_DEPS="\$(TOP)/src/mesa/libdricore/libdricore${VERSION}.la" - GALLIUM_DRI_LIB_DEPS="\$(TOP)/\$(LIB_DIR)/libdricore${VERSION}.so" - HAVE_DRICORE=yes -fi -AM_CONDITIONAL(HAVE_DRICORE, test x$HAVE_DRICORE = xyes) +DRI_LIB_DEPS="\$(top_builddir)/src/mesa/libdricore/libdricore${VERSION}.la" +GALLIUM_DRI_LIB_DEPS="\$(TOP)/\$(LIB_DIR)/libdricore${VERSION}.so" AC_SUBST([HAVE_XF86VIDMODE]) @@ -1268,13 +1199,10 @@ if test "x$enable_osmesa" = xyes; then OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS" fi -OSMESA_VERSION=`echo "$VERSION" | $SED 's/\./:/g'` - AC_SUBST([OSMESA_LIB_DEPS]) AC_SUBST([OSMESA_MESA_DEPS]) AC_SUBST([OSMESA_PC_REQ]) AC_SUBST([OSMESA_PC_LIB_PRIV]) -AC_SUBST([OSMESA_VERSION]) dnl dnl gbm configuration @@ -1295,9 +1223,11 @@ if test "x$enable_gbm" = xyes; then if test "x$enable_dri" = xyes; then GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri" - if test "$SHARED_GLAPI" -eq 0; then + if test "x$enable_shared_glapi" = xno; then AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi]) fi + PKG_CHECK_MODULES([LIBKMS], [libkms], [], + AC_MSG_ERROR([gbm needs libkms])) fi fi GBM_PC_REQ_PRIV="libudev" @@ -1439,6 +1369,8 @@ if test "x$enable_openvg" = xyes; then CORE_DIRS="$CORE_DIRS mapi/vgapi" GALLIUM_STATE_TRACKERS_DIRS="vega $GALLIUM_STATE_TRACKERS_DIRS" HAVE_ST_VEGA=yes + VG_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS" + AC_SUBST([VG_PC_LIB_PRIV]) fi dnl @@ -1593,6 +1525,7 @@ dnl if test "x$with_gallium_drivers" != x; then SRC_DIRS="$SRC_DIRS gallium gallium/winsys gallium/targets" fi +AM_CONDITIONAL(HAVE_GALLIUM, test "x$with_gallium_drivers" != x) AC_SUBST([LLVM_BINDIR]) AC_SUBST([LLVM_CFLAGS]) @@ -2048,12 +1981,15 @@ AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes) AC_SUBST([GALLIUM_MAKE_DIRS]) AM_CONDITIONAL(HAVE_X11_DRIVER, echo "$DRIVER_DIRS" | grep 'x11' >/dev/null 2>&1) -AM_CONDITIONAL(HAVE_DRI_DRIVER, echo "$DRIVER_DIRS" | grep 'dri' >/dev/null 2>&1) AM_CONDITIONAL(HAVE_X86_ASM, echo "$DEFINES" | grep 'X86_ASM' >/dev/null 2>&1) AM_CONDITIONAL(HAVE_X86_64_ASM, echo "$DEFINES" | grep 'X86_64_ASM' >/dev/null 2>&1) AM_CONDITIONAL(HAVE_SPARC_ASM, echo "$DEFINES" | grep 'SPARC_ASM' >/dev/null 2>&1) +# To pass as an argument to libtool's -version-number flag +VERSION_NUMBER=`echo "$VERSION" | $SED 's/\./:/g'` +AC_SUBST([VERSION_NUMBER]) + dnl prepend CORE_DIRS to SRC_DIRS SRC_DIRS="$CORE_DIRS $SRC_DIRS" @@ -2068,56 +2004,62 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS" dnl Substitute the config AC_CONFIG_FILES([configs/current Makefile - src/Makefile - src/gallium/Makefile - src/gallium/auxiliary/pipe-loader/Makefile - src/gallium/state_trackers/clover/Makefile - src/gallium/drivers/Makefile - src/gallium/drivers/r300/Makefile - src/gallium/drivers/r600/Makefile - src/gallium/targets/opencl/Makefile - src/gbm/Makefile - src/gbm/main/gbm.pc + src/egl/Makefile src/egl/drivers/Makefile src/egl/drivers/dri2/Makefile src/egl/drivers/glx/Makefile - src/egl/Makefile src/egl/main/Makefile src/egl/main/egl.pc src/egl/wayland/Makefile + src/egl/wayland/wayland-drm/Makefile src/egl/wayland/wayland-egl/Makefile src/egl/wayland/wayland-egl/wayland-egl.pc - src/egl/wayland/wayland-drm/Makefile + src/gallium/Makefile + src/gallium/auxiliary/pipe-loader/Makefile + src/gallium/drivers/Makefile + src/gallium/drivers/r300/Makefile + src/gallium/drivers/r600/Makefile + src/gallium/state_trackers/clover/Makefile + src/gallium/targets/opencl/Makefile + src/gbm/Makefile + src/gbm/main/gbm.pc src/glsl/Makefile src/glsl/glcpp/Makefile src/glsl/tests/Makefile src/glx/Makefile src/glx/tests/Makefile + src/gtest/Makefile + src/Makefile + src/mapi/es1api/Makefile + src/mapi/es1api/glesv1_cm.pc + src/mapi/es2api/Makefile + src/mapi/es2api/glesv2.pc src/mapi/glapi/Makefile src/mapi/glapi/gen/Makefile - src/mapi/shared-glapi/Makefile src/mapi/glapi/tests/Makefile + src/mapi/shared-glapi/Makefile src/mapi/shared-glapi/tests/Makefile - src/gtest/Makefile + src/mapi/vgapi/Makefile + src/mapi/vgapi/vg.pc src/mesa/Makefile - src/mesa/libdricore/Makefile - src/mesa/main/tests/Makefile - src/mesa/x86/Makefile - src/mesa/x86-64/Makefile + src/mesa/gl.pc src/mesa/drivers/Makefile src/mesa/drivers/dri/dri.pc - src/mesa/drivers/dri/Makefile src/mesa/drivers/dri/common/Makefile src/mesa/drivers/dri/i915/Makefile src/mesa/drivers/dri/i965/Makefile + src/mesa/drivers/dri/Makefile src/mesa/drivers/dri/nouveau/Makefile src/mesa/drivers/dri/r200/Makefile src/mesa/drivers/dri/radeon/Makefile src/mesa/drivers/dri/swrast/Makefile src/mesa/drivers/osmesa/Makefile + src/mesa/drivers/osmesa/osmesa.pc src/mesa/drivers/x11/Makefile - src/mesa/gl.pc - src/mesa/drivers/osmesa/osmesa.pc]) + src/mesa/libdricore/Makefile + src/mesa/main/tests/Makefile + src/mesa/x86-64/Makefile + src/mesa/x86/Makefile]) dnl Sort the dirs alphabetically GALLIUM_TARGET_DIRS=`echo $GALLIUM_TARGET_DIRS|tr " " "\n"|sort -u|tr "\n" " "` @@ -2224,6 +2166,7 @@ dnl Libraries echo "" echo " Shared libs: $enable_shared" echo " Static libs: $enable_static" +echo " Shared-glapi: $enable_shared_glapi" dnl Compiler options # cleanup the CFLAGS/CXXFLAGS/DEFINES vars |