X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=configure.ac;h=f62bc61e50255ab94357dc7787d67ef9a5cfba70;hb=d8ce8acdfa1eab4749f631bb09ea294484ac961a;hp=1694877155b899332c5e3dc798eac87261f7ef4c;hpb=3e079c3f86981dbfec81352a57dc9f2f1f01f115;p=mesa.git diff --git a/configure.ac b/configure.ac index 1694877155b..f62bc61e502 100644 --- a/configure.ac +++ b/configure.ac @@ -74,7 +74,7 @@ LIBDRM_AMDGPU_REQUIRED=2.4.63 LIBDRM_INTEL_REQUIRED=2.4.61 LIBDRM_NVVIEUX_REQUIRED=2.4.66 LIBDRM_NOUVEAU_REQUIRED=2.4.66 -LIBDRM_FREEDRENO_REQUIRED=2.4.68 +LIBDRM_FREEDRENO_REQUIRED=2.4.74 LIBDRM_VC4_REQUIRED=2.4.69 DRI2PROTO_REQUIRED=2.6 DRI3PROTO_REQUIRED=1.0 @@ -823,8 +823,11 @@ if test "x$ax_pthread_ok" = xno; then fi dnl AX_PTHREADS leaves PTHREAD_LIBS empty for gcc and sets PTHREAD_CFLAGS dnl to -pthread, which causes problems if we need -lpthread to appear in -dnl pkgconfig files. -test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread" +dnl pkgconfig files. Since Android doesn't have a pthread lib, this check +dnl is not valid for that platform. +if test "x$android" = xno; then + test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread" +fi dnl pthread-stubs is mandatory on targets where it exists case "$host_os" in @@ -955,9 +958,16 @@ AC_ARG_ENABLE([xa], [enable_xa=no]) AC_ARG_ENABLE([gbm], [AS_HELP_STRING([--enable-gbm], - [enable gbm library @<:@default=auto@:>@])], + [enable gbm library @<:@default=yes except cygwin@:>@])], [enable_gbm="$enableval"], - [enable_gbm=auto]) + [case "$host_os" in + cygwin*) + enable_gbm=no + ;; + *) + enable_gbm=yes + ;; + esac]) AC_ARG_ENABLE([nine], [AS_HELP_STRING([--enable-nine], [enable build of the nine Direct3D9 API @<:@default=no@:>@])], @@ -1140,6 +1150,13 @@ if test "x$have_libdrm" = xyes; then DEFINES="$DEFINES -DHAVE_LIBDRM" fi +require_libdrm() { + if test "x$have_libdrm" != xyes; then + AC_MSG_ERROR([$1 requires libdrm >= $LIBDRM_REQUIRED]) + fi +} + + # Select which platform-dependent DRI code gets built case "$host_os" in darwin*) @@ -1344,7 +1361,6 @@ if test "x$with_sha1" = "x"; then AC_MSG_ERROR([Cannot enable shader cache (no SHA-1 implementation found)]) fi fi -AM_CONDITIONAL([ENABLE_SHADER_CACHE], [test x$enable_shader_cache = xyes]) if test "x$enable_shader_cache" = "xyes"; then AC_DEFINE([ENABLE_SHADER_CACHE], [1], [Enable shader cache]) fi @@ -1391,9 +1407,7 @@ xdri) if test x"$driglx_direct" = xyes; then if test x"$dri_platform" = xdrm ; then DEFINES="$DEFINES -DGLX_USE_DRM" - if test "x$have_libdrm" != xyes; then - AC_MSG_ERROR([Direct rendering requires libdrm >= $LIBDRM_REQUIRED]) - fi + require_libdrm "Direct rendering" PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED]) GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED" @@ -1662,13 +1676,6 @@ AC_ARG_WITH([vulkan-icddir], [VULKAN_ICD_INSTALL_DIR='${datarootdir}/vulkan/icd.d']) AC_SUBST([VULKAN_ICD_INSTALL_DIR]) -AC_ARG_ENABLE([vulkan-icd-full-driver-path], - [AS_HELP_STRING([--disable-vulkan-icd-full-driver-path], - [create Vulkan ICD files with just a .so name and no path])], - [vulkan_icd_driver_path="$enableval"], - [vulkan_icd_driver_path="yes"]) -AM_CONDITIONAL(VULKAN_ICD_DRIVER_PATH, test "x$vulkan_icd_driver_path" = xyes) - if test -n "$with_vulkan_drivers"; then VULKAN_DRIVERS=`IFS=', '; echo $with_vulkan_drivers` for driver in $VULKAN_DRIVERS; do @@ -1750,14 +1757,6 @@ AC_SUBST([OSMESA_PC_LIB_PRIV]) dnl dnl gbm configuration dnl -if test "x$enable_gbm" = xauto; then - case "$with_egl_platforms" in - *drm*) - enable_gbm=yes ;; - *) - enable_gbm=no ;; - esac -fi if test "x$enable_gbm" = xyes; then if test "x$enable_dri" = xyes; then if test "x$enable_shared_glapi" = xno; then @@ -2013,9 +2012,13 @@ AC_ARG_WITH([egl-platforms], "x11,drm" @<:@default=auto@:>@])], [with_egl_platforms="$withval"], [if test "x$enable_egl" = xyes; then - with_egl_platforms="x11" + if test "x$enable_gbm" = xyes; then + with_egl_platforms="x11,drm" + else + with_egl_platforms="x11" + fi else - with_egl_platforms="" + with_egl_platforms="" fi]) if test "x$with_egl_platforms" != "x" -a "x$enable_egl" != xyes; then @@ -2034,8 +2037,6 @@ egl_platforms=`IFS=', '; echo $with_egl_platforms` for plat in $egl_platforms; do case "$plat" in wayland) - test "x$have_libdrm" != xyes && - AC_MSG_ERROR([EGL platform wayland requires libdrm >= $LIBDRM_REQUIRED]) PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED]) @@ -2051,22 +2052,25 @@ for plat in $egl_platforms; do drm) test "x$enable_gbm" = "xno" && AC_MSG_ERROR([EGL platform drm needs gbm]) - test "x$have_libdrm" != xyes && - AC_MSG_ERROR([EGL platform drm requires libdrm >= $LIBDRM_REQUIRED]) ;; surfaceless) - test "x$have_libdrm" != xyes && - AC_MSG_ERROR([EGL platform surfaceless requires libdrm >= $LIBDRM_REQUIRED]) ;; android) + PKG_CHECK_MODULES([ANDROID], [cutils hardware sync]) ;; *) AC_MSG_ERROR([EGL platform '$plat' does not exist]) ;; esac + + case "$plat" in + wayland|drm|surfaceless) + require_libdrm "Platform $plat" + ;; + esac done # libEGL wants to default to the first platform specified in @@ -2286,12 +2290,6 @@ AC_SUBST([D3D_DRIVER_INSTALL_DIR]) dnl dnl Gallium helper functions dnl -gallium_require_drm() { - if test "x$have_libdrm" != xyes; then - AC_MSG_ERROR([$1 requires libdrm >= $LIBDRM_REQUIRED]) - fi -} - gallium_require_llvm() { if test "x$MESA_LLVM" = x0; then case "$host" in *gnux32) return;; esac @@ -2301,22 +2299,21 @@ gallium_require_llvm() { fi } -dnl This is for Glamor. Skip this if OpenGL is disabled. -require_egl_drm() { - if test "x$enable_opengl" = xno; then - return 0 - fi - +dnl +dnl DRM is needed by X, Wayland, and offscreen rendering. +dnl Surfaceless is an alternative for the last one. +dnl +require_basic_egl() { case "$with_egl_platforms" in - *drm*) + *drm*|*surfaceless*) ;; - *) - AC_MSG_ERROR([--with-egl-platforms=drm is required to build the $1 driver.]) + *) + AC_MSG_ERROR([$1 requires one of these: + 1) --with-egl-platforms=drm (X, Wayland, offscreen rendering based on DRM) + 2) --with-egl-platforms=surfaceless (offscreen only) + Recommended options: drm,x11]) ;; esac - if test "x$enable_gbm" != xyes; then - AC_MSG_ERROR([--enable-gbm is required to build the $1 driver.]) - fi } radeon_llvm_check() { @@ -2399,28 +2396,28 @@ if test -n "$with_gallium_drivers"; then case "x$driver" in xsvga) HAVE_GALLIUM_SVGA=yes - gallium_require_drm "svga" + require_libdrm "svga" ;; xi915) HAVE_GALLIUM_I915=yes PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED]) - gallium_require_drm "Gallium i915" + require_libdrm "Gallium i915" ;; xilo) HAVE_GALLIUM_ILO=yes PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED]) - gallium_require_drm "Gallium i965/ilo" + require_libdrm "Gallium i965/ilo" ;; xr300) HAVE_GALLIUM_R300=yes PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED]) - gallium_require_drm "Gallium R300" + require_libdrm "Gallium R300" gallium_require_llvm "Gallium R300" ;; xr600) HAVE_GALLIUM_R600=yes PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED]) - gallium_require_drm "Gallium R600" + require_libdrm "Gallium R600" if test "x$enable_opencl" = xyes; then radeon_gallium_llvm_check "r600g" "3" "6" "0" LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser" @@ -2430,19 +2427,19 @@ if test -n "$with_gallium_drivers"; then HAVE_GALLIUM_RADEONSI=yes PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED]) PKG_CHECK_MODULES([AMDGPU], [libdrm_amdgpu >= $LIBDRM_AMDGPU_REQUIRED]) - gallium_require_drm "radeonsi" + require_libdrm "radeonsi" radeon_gallium_llvm_check "radeonsi" "3" "6" "0" - require_egl_drm "radeonsi" + require_basic_egl "radeonsi" ;; xnouveau) HAVE_GALLIUM_NOUVEAU=yes PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED]) - gallium_require_drm "nouveau" + require_libdrm "nouveau" ;; xfreedreno) HAVE_GALLIUM_FREEDRENO=yes PKG_CHECK_MODULES([FREEDRENO], [libdrm_freedreno >= $LIBDRM_FREEDRENO_REQUIRED]) - gallium_require_drm "freedreno" + require_libdrm "freedreno" ;; xswrast) HAVE_GALLIUM_SOFTPIPE=yes @@ -2473,7 +2470,7 @@ if test -n "$with_gallium_drivers"; then xvc4) HAVE_GALLIUM_VC4=yes PKG_CHECK_MODULES([VC4], [libdrm_vc4 >= $LIBDRM_VC4_REQUIRED]) - gallium_require_drm "vc4" + require_libdrm "vc4" PKG_CHECK_MODULES([SIMPENROSE], [simpenrose], [USE_VC4_SIMULATOR=yes; @@ -2482,8 +2479,8 @@ if test -n "$with_gallium_drivers"; then ;; xvirgl) HAVE_GALLIUM_VIRGL=yes - gallium_require_drm "virgl" - require_egl_drm "virgl" + require_libdrm "virgl" + require_basic_egl "virgl" ;; *) AC_MSG_ERROR([Unknown Gallium driver: $driver]) @@ -2632,6 +2629,8 @@ VA_MINOR=`$PKG_CONFIG --modversion libva | $SED -n 's/.*\.\(.*\)\..*$/\1/p'` AC_SUBST([VA_MAJOR], $VA_MAJOR) AC_SUBST([VA_MINOR], $VA_MINOR) +AM_CONDITIONAL(HAVE_VULKAN_COMMON, test "x$VULKAN_DRIVERS" != "x") + AC_SUBST([XVMC_MAJOR], 1) AC_SUBST([XVMC_MINOR], 0) @@ -2645,8 +2644,6 @@ AC_SUBST([XA_MINOR], $XA_MINOR) AC_SUBST([XA_TINY], $XA_TINY) AC_SUBST([XA_VERSION], "$XA_MAJOR.$XA_MINOR.$XA_TINY") -AC_SUBST([TIMESTAMP_CMD], '`test $(SOURCE_DATE_EPOCH) && echo $(SOURCE_DATE_EPOCH) || date +%s`') - AC_ARG_ENABLE(valgrind, [AS_HELP_STRING([--enable-valgrind], [Build mesa with valgrind support (default: auto)])], @@ -2686,7 +2683,6 @@ dnl Substitute the config AC_CONFIG_FILES([Makefile src/Makefile src/amd/Makefile - src/amd/common/Makefile src/amd/vulkan/Makefile src/compiler/Makefile src/egl/Makefile @@ -2790,7 +2786,8 @@ AC_CONFIG_FILES([Makefile src/mesa/drivers/x11/Makefile src/mesa/main/tests/Makefile src/util/Makefile - src/util/tests/hash_table/Makefile]) + src/util/tests/hash_table/Makefile + src/vulkan/wsi/Makefile]) AC_OUTPUT @@ -2868,6 +2865,11 @@ if test "$enable_egl" = yes; then echo " EGL drivers: $egl_drivers" fi +if test "x$enable_gbm" = xyes; then + echo " GBM: yes" +else + echo " GBM: no" +fi # Vulkan echo ""