X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=configure.ac;h=023110e184cbeaf28c2e889ec7f74c1dff6c172c;hb=3bee7581e68fd1ce5833b9287ee2d03f79c3d3e3;hp=78895a3ced4030a550bcee481a208170a18eba6c;hpb=1a100d4f2827cdfed67b563fba7ef2d9ea6a926b;p=mesa.git diff --git a/configure.ac b/configure.ac index 78895a3ced4..023110e184c 100644 --- a/configure.ac +++ b/configure.ac @@ -99,6 +99,7 @@ AM_PROG_CC_C_O AM_PROG_AS AX_CHECK_GNU_MAKE AC_CHECK_PROGS([PYTHON2], [python2.7 python2 python]) +AC_CHECK_PROGS([PYTHON3], [python3.5 python3.4 python3]) AC_PROG_SED AC_PROG_MKDIR_P @@ -858,8 +859,8 @@ AC_ARG_ENABLE([dri3], [enable_dri3="$enableval"], [enable_dri3="$dri3_default"]) AC_ARG_ENABLE([glx], - [AS_HELP_STRING([--enable-glx], - [enable GLX library @<:@default=enabled@:>@])], + [AS_HELP_STRING([--enable-glx@<:@=dri|xlib|gallium-xlib@:>@], + [enable the GLX library and choose an implementation @<:@default=auto@:>@])], [enable_glx="$enableval"], [enable_glx=yes]) AC_ARG_ENABLE([osmesa], @@ -925,11 +926,6 @@ AC_ARG_ENABLE([opencl_icd], @<:@default=disabled@:>@])], [enable_opencl_icd="$enableval"], [enable_opencl_icd=no]) -AC_ARG_ENABLE([xlib-glx], - [AS_HELP_STRING([--enable-xlib-glx], - [make GLX library Xlib-based instead of DRI-based @<:@default=disabled@:>@])], - [enable_xlib_glx="$enableval"], - [enable_xlib_glx=no]) AC_ARG_ENABLE([gallium-tests], [AS_HELP_STRING([--enable-gallium-tests], @@ -988,35 +984,55 @@ AM_CONDITIONAL(NEED_OPENGL_COMMON, test "x$enable_opengl" = xyes -o \ "x$enable_gles1" = xyes -o \ "x$enable_gles2" = xyes) -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 - -if test "x$enable_opengl$enable_xlib_glx" = xnoyes; then - AC_MSG_ERROR([Xlib-GLX cannot be built without OpenGL]) -fi - -# Disable GLX if OpenGL is not enabled -if test "x$enable_glx$enable_opengl" = xyesno; then - AC_MSG_WARN([OpenGL not enabled, disabling GLX]) - enable_glx=no +# Validate GLX options +if test "x$enable_glx" = xyes; then + if test "x$enable_dri" = xyes; then + enable_glx=dri + elif test -n "$with_gallium_drivers"; then + enable_glx=gallium-xlib + else + enable_glx=xlib + fi fi +case "x$enable_glx" in +xdri | xxlib | xgallium-xlib) + # GLX requires OpenGL + if test "x$enable_opengl" = xno; then + AC_MSG_ERROR([GLX cannot be built without OpenGL]) + 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 + # Check individual dependencies + case "x$enable_glx" in + xdri) + if test "x$enable_dri" = xno; then + AC_MSG_ERROR([DRI-based GLX requires DRI to be enabled]) + fi + ;; + xxlib) + if test "x$enable_dri" = xyes; then + AC_MSG_ERROR([Xlib-based GLX cannot be built with DRI enabled]) + fi + ;; + xgallium-xlib ) + if test "x$enable_dri" = xyes; then + AC_MSG_ERROR([Xlib-based (Gallium) GLX cannot be built with DRI enabled]) + fi + if test -z "$with_gallium_drivers"; then + AC_MSG_ERROR([Xlib-based (Gallium) GLX cannot be built without Gallium enabled]) + fi + ;; + esac + ;; +xno) + ;; +*) + AC_MSG_ERROR([Illegal value for --enable-glx: $enable_glx]) + ;; +esac -AM_CONDITIONAL(HAVE_DRI_GLX, test "x$enable_glx" = xyes -a \ - "x$enable_dri" = xyes) +AM_CONDITIONAL(HAVE_DRI_GLX, test "x$enable_glx" = xdri) +AM_CONDITIONAL(HAVE_XLIB_GLX, test "x$enable_glx" = xxlib) +AM_CONDITIONAL(HAVE_GALLIUM_XLIB_GLX, test "x$enable_glx" = xgallium-xlib) # Check for libdrm PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED], @@ -1072,10 +1088,6 @@ dnl dnl Driver specific build directories dnl -if test -n "$with_gallium_drivers" -a "x$enable_glx$enable_xlib_glx" = xyesyes; then - NEED_WINSYS_XLIB="yes" -fi - if test "x$enable_gallium_osmesa" = xyes; then if ! echo "$with_gallium_drivers" | grep -q 'swrast'; then AC_MSG_ERROR([gallium_osmesa requires the gallium swrast driver]) @@ -1268,8 +1280,8 @@ AC_ARG_ENABLE([driglx-direct], dnl dnl libGL configuration per driver dnl -case "x$enable_glx$enable_xlib_glx" in -xyesyes) +case "x$enable_glx" in +xxlib | xgallium-xlib) # Xlib-based GLX dri_modules="x11 xext xcb" PKG_CHECK_MODULES([XLIBGL], [$dri_modules]) @@ -1279,7 +1291,7 @@ xyesyes) GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS" GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm $PTHREAD_LIBS" ;; -xyesno) +xdri) # DRI-based GLX PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED]) @@ -1368,11 +1380,11 @@ AC_SUBST([HAVE_XF86VIDMODE]) dnl dnl More GLX setup dnl -case "x$enable_glx$enable_xlib_glx" in -xyesyes) +case "x$enable_glx" in +xxlib | xgallium-xlib) DEFINES="$DEFINES -DUSE_XSHM" ;; -xyesno) +xdri) DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING" if test "x$driglx_direct" = xyes; then DEFINES="$DEFINES -DGLX_DIRECT_RENDERING" @@ -1596,7 +1608,7 @@ fi AM_CONDITIONAL(NEED_MEGADRIVER, test -n "$DRI_DIRS") -AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_xlib_glx" = xyes -o \ +AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_glx" = xxlib -o \ "x$enable_osmesa" = xyes -o \ -n "$DRI_DIRS") @@ -1611,7 +1623,7 @@ AC_ARG_WITH([osmesa-bits], [osmesa_bits="$withval"], [osmesa_bits=8]) if test "x$osmesa_bits" != x8; then - if test "x$enable_dri" = xyes -o "x$enable_glx" = xyes; then + if test "x$enable_dri" = xyes -o "x$enable_glx" != xno; then AC_MSG_WARN([Ignoring OSMesa channel bits because of non-OSMesa driver]) osmesa_bits=8 fi @@ -1978,11 +1990,10 @@ else EGL_NATIVE_PLATFORM="_EGL_INVALID_PLATFORM" fi -AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep -q 'x11') -AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep -q 'wayland') +AM_CONDITIONAL(HAVE_PLATFORM_X11, echo "$egl_platforms" | grep -q 'x11') +AM_CONDITIONAL(HAVE_PLATFORM_WAYLAND, echo "$egl_platforms" | grep -q 'wayland') AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep -q 'drm') AM_CONDITIONAL(HAVE_EGL_PLATFORM_SURFACELESS, echo "$egl_platforms" | grep -q 'surfaceless') -AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep -q 'null') AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x") @@ -2459,12 +2470,13 @@ AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes) AM_CONDITIONAL(HAVE_INTEL_VULKAN, test "x$HAVE_INTEL_VULKAN" = xyes) -AM_CONDITIONAL(HAVE_INTEL_DRIVERS, test "x$HAVE_INTEL_VULKAN" = xyes) +AM_CONDITIONAL(HAVE_INTEL_DRIVERS, test "x$HAVE_INTEL_VULKAN" = xyes -o \ + "x$HAVE_I965_DRI" = xyes) AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$HAVE_GALLIUM_R300" = xyes -o \ "x$HAVE_GALLIUM_R600" = xyes -o \ "x$HAVE_GALLIUM_RADEONSI" = xyes) -AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$NEED_WINSYS_XLIB" = xyes) +AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$enable_glx" = xgallium-xlib) AM_CONDITIONAL(NEED_RADEON_LLVM, test x$NEED_RADEON_LLVM = xyes) AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes) AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1) @@ -2474,7 +2486,6 @@ if test "x$USE_VC4_SIMULATOR" = xyes -a "x$HAVE_GALLIUM_ILO" = xyes; then fi AM_CONDITIONAL(HAVE_LIBDRM, test "x$have_libdrm" = xyes) -AM_CONDITIONAL(HAVE_X11_DRIVER, test "x$enable_xlib_glx" = xyes) AM_CONDITIONAL(HAVE_OSMESA, test "x$enable_osmesa" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_OSMESA, test "x$enable_gallium_osmesa" = xyes) @@ -2621,6 +2632,10 @@ AC_CONFIG_FILES([Makefile src/glx/apple/Makefile src/glx/tests/Makefile src/gtest/Makefile + src/intel/Makefile + src/intel/genxml/Makefile + src/intel/isl/Makefile + src/intel/vulkan/Makefile src/loader/Makefile src/mapi/Makefile src/mapi/es1api/glesv1_cm.pc @@ -2647,6 +2662,14 @@ AC_CONFIG_FILES([Makefile AC_OUTPUT +# Fix up dependencies in *.Plo files, where we changed the extension of a +# source file +$SED -i -e 's/brw_blorp.cpp/brw_blorp.c/' src/mesa/drivers/dri/i965/.deps/brw_blorp.Plo +$SED -i -e 's/gen6_blorp.cpp/gen6_blorp.c/' src/mesa/drivers/dri/i965/.deps/gen6_blorp.Plo +$SED -i -e 's/gen7_blorp.cpp/gen7_blorp.c/' src/mesa/drivers/dri/i965/.deps/gen7_blorp.Plo +$SED -i -e 's/gen8_blorp.cpp/gen8_blorp.c/' src/mesa/drivers/dri/i965/.deps/gen8_blorp.Plo + + dnl dnl Output some configuration info for the user dnl @@ -2685,12 +2708,15 @@ if test "x$enable_dri" != xno; then echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR" fi -case "x$enable_glx$enable_xlib_glx" in -xyesyes) +case "x$enable_glx" in +xdri) + echo " GLX: DRI-based" + ;; +xxlib) echo " GLX: Xlib-based" ;; -xyesno) - echo " GLX: DRI-based" +xgallium-xlib) + echo " GLX: Xlib-based (Gallium)" ;; *) echo " GLX: $enable_glx" @@ -2773,6 +2799,7 @@ if test "x$MESA_LLVM" = x1; then echo "" fi echo " PYTHON2: $PYTHON2" +echo " PYTHON3: $PYTHON3" echo "" echo " Run '${MAKE-make}' to build Mesa"