X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=configure.ac;h=78d5967a437c6f4b64af50f10393e1974f25995d;hb=0d618bb635fbfe16cbc6b19ff971aa9b097b09ff;hp=7583a375ad75454215e5dd88d5dc2d59e586a90f;hpb=3acc18fcf7c38e7060e43e2de59f09392aa8fdea;p=mesa.git diff --git a/configure.ac b/configure.ac index 7583a375ad7..78d5967a437 100644 --- a/configure.ac +++ b/configure.ac @@ -52,6 +52,19 @@ mingw*) ;; esac +AC_ARG_ENABLE(autotools, + [AS_HELP_STRING([--enable-autotools], + [Enable the use of this autotools based build configuration])], + [enable_autotools=$enableval], [enable_autotools=no]) + +if test "x$enable_autotools" != "xyes" ; then + AC_MSG_ERROR([the autotools build system has been deprecated in favour of + meson and will be removed eventually. For instructions on how to use meson + see https://www.mesa3d.org/meson.html. + If you still want to use the autotools build, then add --enable-autotools + to the configure command line.]) +fi + # 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 @@ -74,11 +87,10 @@ AC_SUBST([OPENCL_VERSION]) # in the first entry. LIBDRM_REQUIRED=2.4.75 LIBDRM_RADEON_REQUIRED=2.4.71 -LIBDRM_AMDGPU_REQUIRED=2.4.93 +LIBDRM_AMDGPU_REQUIRED=2.4.97 LIBDRM_INTEL_REQUIRED=2.4.75 LIBDRM_NVVIEUX_REQUIRED=2.4.66 LIBDRM_NOUVEAU_REQUIRED=2.4.66 -LIBDRM_FREEDRENO_REQUIRED=2.4.93 LIBDRM_ETNAVIV_REQUIRED=2.4.89 LIBDRM_VC4_REQUIRED=2.4.89 @@ -108,8 +120,8 @@ dnl LLVM versions LLVM_REQUIRED_GALLIUM=3.3.0 LLVM_REQUIRED_OPENCL=3.9.0 LLVM_REQUIRED_R600=3.9.0 -LLVM_REQUIRED_RADEONSI=6.0.0 -LLVM_REQUIRED_RADV=6.0.0 +LLVM_REQUIRED_RADEONSI=7.0.0 +LLVM_REQUIRED_RADV=7.0.0 LLVM_REQUIRED_SWR=6.0.0 dnl Check for progs @@ -125,9 +137,7 @@ AC_PROG_GREP AC_PROG_NM AM_PROG_AS AX_CHECK_GNU_MAKE -AM_PATH_PYTHON([2.7],, [:]) -PYTHON2=$PYTHON -AC_SUBST([PYTHON2]) +AM_PATH_PYTHON([2.7],, [AM_PATH_PYTHON([3.4],, [:])]) AC_PROG_SED AC_PROG_MKDIR_P @@ -160,7 +170,7 @@ fi AX_CHECK_PYTHON_MAKO_MODULE($PYTHON_MAKO_REQUIRED) -if test "$PYTHON2" = ":"; then +if test "$PYTHON" = ":"; then if test ! -f "$srcdir/src/util/format_srgb.c"; then AC_MSG_ERROR([Python not found - unable to generate sources]) fi @@ -298,20 +308,33 @@ esac AM_CONDITIONAL(HAVE_ANDROID, test "x$android" = xyes) +# Toggle Werror since at some point clang started treating unknown -W +# flags as warnings, succeeding with the build, yet issuing an annoying +# warning. +save_CFLAGS="$CFLAGS" +export CFLAGS="$CFLAGS -Werror" + dnl dnl Check compiler flags dnl AX_CHECK_COMPILE_FLAG([-Wall], [CFLAGS="$CFLAGS -Wall"]) AX_CHECK_COMPILE_FLAG([-Werror=implicit-function-declaration], [CFLAGS="$CFLAGS -Werror=implicit-function-declaration"]) AX_CHECK_COMPILE_FLAG([-Werror=missing-prototypes], [CFLAGS="$CFLAGS -Werror=missing-prototypes"]) +AX_CHECK_COMPILE_FLAG([-Werror=incompatible-pointer-types], [CFLAGS="$CFLAGS -Werror=incompatible-pointer-types"]) AX_CHECK_COMPILE_FLAG([-Wmissing-prototypes], [CFLAGS="$CFLAGS -Wmissing-prototypes"]) dnl Dylan Baker: gcc and clang always accepr -Wno-*, hence check for the original warning, then set the no-* flag AX_CHECK_COMPILE_FLAG([-Wmissing-field-initializers], [CFLAGS="$CFLAGS -Wno-missing-field-initializers"]) +AX_CHECK_COMPILE_FLAG([-Wformat-truncation], [CFLAGS="$CFLAGS -Wno-format-truncation"]) AX_CHECK_COMPILE_FLAG([-fno-math-errno], [CFLAGS="$CFLAGS -fno-math-errno"]) AX_CHECK_COMPILE_FLAG([-fno-trapping-math], [CFLAGS="$CFLAGS -fno-trapping-math"]) AX_CHECK_COMPILE_FLAG([-fvisibility=hidden], [VISIBILITY_CFLAGS="-fvisibility=hidden"]) +CFLAGS="$save_CFLAGS" + +# Toggle Werror since at some point clang started treating unknown -W +# flags as warnings, succeeding with the build, yet issuing an annoying +# warning. dnl dnl Check C++ compiler flags dnl @@ -321,6 +344,7 @@ AX_CHECK_COMPILE_FLAG([-fno-math-errno], [CXXFLAGS="$CXXFL AX_CHECK_COMPILE_FLAG([-fno-trapping-math], [CXXFLAGS="$CXXFLAGS -fno-trapping-math"]) AX_CHECK_COMPILE_FLAG([-fvisibility=hidden], [VISIBILITY_CXXFLAGS="-fvisibility=hidden"]) AX_CHECK_COMPILE_FLAG([-Wmissing-field-initializers], [CXXFLAGS="$CXXFLAGS -Wno-missing-field-initializers"]) +AX_CHECK_COMPILE_FLAG([-Wformat-truncation], [CXXFLAGS="$CXXFLAGS -Wno-format-truncation"]) AC_LANG_POP([C++]) # Flags to help ensure that certain portions of the code -- and only those @@ -1385,7 +1409,7 @@ 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,nouveau,r300,r600,radeonsi,freedreno,pl111,svga,swrast,swr,tegra,v3d,vc4,virgl,etnaviv,imx" + "i915,nouveau,r300,r600,radeonsi,freedreno,kmsro,svga,swrast,swr,tegra,v3d,vc4,virgl,etnaviv" @<:@default=r300,r600,svga,swrast@:>@])], [with_gallium_drivers="$withval"], [with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"]) @@ -1533,6 +1557,29 @@ AC_ARG_WITH([osmesa-lib-name], GL_LIB="$DEFAULT_GL_LIB_NAME" OSMESA_LIB=OSMesa +AC_ARG_WITH([egl-lib-suffix], + [AS_HELP_STRING([--with-egl-lib-suffix@<:@=NAME@:>@], + [specify EGL library suffix @<:@default=none@:>@])], + [EGL_LIB_SUFFIX=$withval], + [EGL_LIB_SUFFIX=""]) +AC_ARG_WITH([gles-lib-suffix], + [AS_HELP_STRING([--with-gles-lib-suffix@<:@=NAME@:>@], + [specify GLES library suffix @<:@default=none@:>@])], + [GLES_LIB_SUFFIX=$withval], + [GLES_LIB_SUFFIX=""]) +AS_IF([test "x$EGL_LIB_SUFFIX" = xyes], [EGL_LIB_SUFFIX=""]) +AS_IF([test "x$GLES_LIB_SUFFIX" = xyes], [GLES_LIB_SUFFIX=""]) + +if test "x$enable_libglvnd" = xyes -a "x$EGL_LIB_SUFFIX" != x; then + AC_MSG_ERROR([EGL lib suffix can't be used with libglvnd]) +fi + +AC_ARG_WITH([platform-sdk-version], + [AS_HELP_STRING([--with-platform-sdk-version@<:@=NAME@:>@], + [specify Android platform SDK version @<:@default=none@:>@])], + [platform_sdk_version=$withval], + [platform_sdk_version=""]) + dnl dnl Mangled Mesa support dnl @@ -1551,6 +1598,8 @@ if test "x${enable_mangling}" = "xyes" ; then OSMESA_LIB="Mangled${OSMESA_LIB}" fi AC_SUBST([GL_LIB]) +AC_SUBST([EGL_LIB_SUFFIX]) +AC_SUBST([GLES_LIB_SUFFIX]) AC_SUBST([OSMESA_LIB]) dnl HACK when building glx + glvnd we ship gl.pc, despite that glvnd should do it @@ -1706,6 +1755,8 @@ xdri) if test x"$enable_dri" = xyes; then dri_modules="$dri_modules xcb-dri2 >= $XCBDRI2_REQUIRED" fi + + dri_modules="$dri_modules xxf86vm" fi if test x"$dri_platform" = xapple ; then DEFINES="$DEFINES -DGLX_USE_APPLEGL" @@ -1715,12 +1766,6 @@ xdri) fi fi - # add xf86vidmode if available - PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no) - if test "$HAVE_XF86VIDMODE" = yes ; then - dri_modules="$dri_modules xxf86vm" - fi - PKG_CHECK_MODULES([DRIGL], [$dri_modules]) GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules" X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS" @@ -1732,10 +1777,6 @@ xdri) ;; esac -# This is outside the case (above) so that it is invoked even for non-GLX -# builds. -AM_CONDITIONAL(HAVE_XF86VIDMODE, test "x$HAVE_XF86VIDMODE" = xyes) - GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS" GLESv1_CM_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS" GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS" @@ -1752,8 +1793,6 @@ AC_SUBST([GLESv1_CM_PC_LIB_PRIV]) AC_SUBST([GLESv2_LIB_DEPS]) AC_SUBST([GLESv2_PC_LIB_PRIV]) -AC_SUBST([HAVE_XF86VIDMODE]) - dnl dnl More GLX setup dnl @@ -1864,6 +1903,7 @@ for plat in $platforms; do ;; drm) + test "x$enable_egl" = "xyes" && test "x$enable_gbm" = "xno" && AC_MSG_ERROR([EGL platform drm needs gbm]) DEFINES="$DEFINES -DHAVE_DRM_PLATFORM" @@ -1874,7 +1914,12 @@ for plat in $platforms; do ;; android) - PKG_CHECK_MODULES([ANDROID], [cutils hardware sync]) + if test -n "$platform_sdk_version" && test "$platform_sdk_version" -ge 26; then + PKG_CHECK_MODULES([ANDROID], [cutils hardware nativewindow sync]) + else + PKG_CHECK_MODULES([ANDROID], [cutils hardware sync]) + fi + if test -n "$with_gallium_drivers"; then PKG_CHECK_MODULES([BACKTRACE], [backtrace]) fi @@ -1908,7 +1953,7 @@ if test x"$enable_dri3" = xyes; then dri3_modifier_modules="xcb-dri3 >= $XCBDRI3_MODIFIERS_REQUIRED xcb-present >= $XCBPRESENT_MODIFIERS_REQUIRED" PKG_CHECK_MODULES([XCB_DRI3_MODIFIERS], [$dri3_modifier_modules], [have_dri3_modifiers=yes], [have_dri3_modifiers=no]) - if test "x$have_dri3_modifiers" == xyes; then + if test "x$have_dri3_modifiers" = xyes; then DEFINES="$DEFINES -DHAVE_DRI3_MODIFIERS" fi fi @@ -2720,7 +2765,6 @@ if test -n "$with_gallium_drivers"; then ;; xfreedreno) HAVE_GALLIUM_FREEDRENO=yes - PKG_CHECK_MODULES([FREEDRENO], [libdrm >= $LIBDRM_FREEDRENO_REQUIRED libdrm_freedreno >= $LIBDRM_FREEDRENO_REQUIRED]) require_libdrm "freedreno" ;; xetnaviv) @@ -2728,9 +2772,6 @@ if test -n "$with_gallium_drivers"; then PKG_CHECK_MODULES([ETNAVIV], [libdrm >= $LIBDRM_ETNAVIV_REQUIRED libdrm_etnaviv >= $LIBDRM_ETNAVIV_REQUIRED]) require_libdrm "etnaviv" ;; - ximx) - HAVE_GALLIUM_IMX=yes - ;; xtegra) HAVE_GALLIUM_TEGRA=yes require_libdrm "tegra" @@ -2817,8 +2858,8 @@ if test -n "$with_gallium_drivers"; then DEFINES="$DEFINES -DUSE_V3D_SIMULATOR"], [USE_V3D_SIMULATOR=no]) ;; - xpl111) - HAVE_GALLIUM_PL111=yes + xkmsro) + HAVE_GALLIUM_KMSRO=yes ;; xvirgl) HAVE_GALLIUM_VIRGL=yes @@ -2851,12 +2892,8 @@ AM_CONDITIONAL(HAVE_SWR_BUILTIN, test "x$HAVE_SWR_BUILTIN" = xyes) dnl We need to validate some needed dependencies for renderonly drivers. -if test "x$HAVE_GALLIUM_ETNAVIV" != xyes -a "x$HAVE_GALLIUM_IMX" = xyes ; then - AC_MSG_ERROR([Building with imx requires etnaviv]) -fi - -if test "x$HAVE_GALLIUM_VC4" != xyes -a "x$HAVE_GALLIUM_PL111" = xyes ; then - AC_MSG_ERROR([Building with pl111 requires vc4]) +if test "x$HAVE_GALLIUM_VC4" != xyes -a "x$HAVE_GALLIUM_KMSRO" = xyes ; then + AC_MSG_ERROR([Building with kmsro requires vc4]) fi if test "x$HAVE_GALLIUM_NOUVEAU" != xyes -a "x$HAVE_GALLIUM_TEGRA" = xyes; then @@ -2904,6 +2941,7 @@ if test "x$enable_llvm" = xyes; then LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags` LLVM_CFLAGS=$LLVM_CPPFLAGS # CPPFLAGS seem to be sufficient LLVM_CXXFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cxxflags"` + LLVM_CXXFLAGS="$CXX11_CXXFLAGS $LLVM_CXXFLAGS" dnl Set LLVM_LIBS - This is done after the driver configuration so dnl that drivers can add additional components to LLVM_COMPONENTS. @@ -2938,11 +2976,11 @@ if test "x$enable_llvm" = xyes; then fi dnl The gallium-xlib GLX and gallium OSMesa targets directly embed the - dnl swr/llvmpipe driver into the final binary. Adding LLVM_LIBS results in + dnl swr/llvmpipe driver into the final binary. Adding LLVM_LIBS results in dnl the LLVM library propagated in the Libs.private of the respective .pc dnl file which ensures complete dependency information when statically dnl linking. - if test "x$enable_glx" == xgallium-xlib; then + if test "x$enable_glx" = xgallium-xlib; then GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $LLVM_LIBS" fi if test "x$enable_gallium_osmesa" = xyes; then @@ -2952,14 +2990,13 @@ fi AM_CONDITIONAL(HAVE_GALLIUM_SVGA, test "x$HAVE_GALLIUM_SVGA" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_I915, test "x$HAVE_GALLIUM_I915" = xyes) -AM_CONDITIONAL(HAVE_GALLIUM_PL111, test "x$HAVE_GALLIUM_PL111" = xyes) +AM_CONDITIONAL(HAVE_GALLIUM_KMSRO, test "x$HAVE_GALLIUM_KMSRO" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_R300, test "x$HAVE_GALLIUM_R300" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_R600, test "x$HAVE_GALLIUM_R600" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_RADEONSI, test "x$HAVE_GALLIUM_RADEONSI" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_NOUVEAU, test "x$HAVE_GALLIUM_NOUVEAU" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_FREEDRENO, test "x$HAVE_GALLIUM_FREEDRENO" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_ETNAVIV, test "x$HAVE_GALLIUM_ETNAVIV" = xyes) -AM_CONDITIONAL(HAVE_GALLIUM_IMX, test "x$HAVE_GALLIUM_IMX" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_TEGRA, test "x$HAVE_GALLIUM_TEGRA" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_SOFTPIPE, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_LLVMPIPE, test "x$HAVE_GALLIUM_LLVMPIPE" = xyes) @@ -2998,6 +3035,7 @@ AM_CONDITIONAL(HAVE_AMD_DRIVERS, test "x$HAVE_GALLIUM_RADEONSI" = xyes -o \ AM_CONDITIONAL(HAVE_BROADCOM_DRIVERS, test "x$HAVE_GALLIUM_VC4" = xyes -o \ "x$HAVE_GALLIUM_V3D" = xyes) +AM_CONDITIONAL(HAVE_FREEDRENO_DRIVERS, test "x$HAVE_GALLIUM_FREEDRENO" = xyes) AM_CONDITIONAL(HAVE_INTEL_DRIVERS, test "x$HAVE_INTEL_VULKAN" = xyes -o \ "x$HAVE_I965_DRI" = xyes) @@ -3044,7 +3082,7 @@ AC_SUBST([XVMC_MAJOR], 1) AC_SUBST([XVMC_MINOR], 0) AC_SUBST([XA_MAJOR], 2) -AC_SUBST([XA_MINOR], 4) +AC_SUBST([XA_MINOR], 5) AC_SUBST([XA_PATCH], 0) AC_SUBST([XA_VERSION], "$XA_MAJOR.$XA_MINOR.$XA_PATCH") @@ -3090,6 +3128,7 @@ AC_CONFIG_FILES([Makefile src/amd/vulkan/Makefile src/broadcom/Makefile src/compiler/Makefile + src/freedreno/Makefile src/egl/Makefile src/egl/main/egl.pc src/egl/wayland/wayland-drm/Makefile @@ -3100,7 +3139,7 @@ AC_CONFIG_FILES([Makefile src/gallium/drivers/i915/Makefile src/gallium/drivers/llvmpipe/Makefile src/gallium/drivers/nouveau/Makefile - src/gallium/drivers/pl111/Makefile + src/gallium/drivers/kmsro/Makefile src/gallium/drivers/r300/Makefile src/gallium/drivers/r600/Makefile src/gallium/drivers/radeonsi/Makefile @@ -3109,7 +3148,6 @@ AC_CONFIG_FILES([Makefile src/gallium/drivers/swr/Makefile src/gallium/drivers/tegra/Makefile src/gallium/drivers/etnaviv/Makefile - src/gallium/drivers/imx/Makefile src/gallium/drivers/v3d/Makefile src/gallium/drivers/vc4/Makefile src/gallium/drivers/virgl/Makefile @@ -3144,11 +3182,10 @@ AC_CONFIG_FILES([Makefile src/gallium/tests/trivial/Makefile src/gallium/tests/unit/Makefile src/gallium/winsys/etnaviv/drm/Makefile - src/gallium/winsys/imx/drm/Makefile src/gallium/winsys/freedreno/drm/Makefile src/gallium/winsys/i915/drm/Makefile src/gallium/winsys/nouveau/drm/Makefile - src/gallium/winsys/pl111/drm/Makefile + src/gallium/winsys/kmsro/drm/Makefile src/gallium/winsys/radeon/drm/Makefile src/gallium/winsys/amdgpu/drm/Makefile src/gallium/winsys/svga/drm/Makefile @@ -3193,6 +3230,7 @@ AC_CONFIG_FILES([Makefile src/mesa/main/tests/Makefile src/mesa/state_tracker/tests/Makefile src/util/Makefile + src/util/tests/fast_idiv_by_const/Makefile src/util/tests/hash_table/Makefile src/util/tests/set/Makefile src/util/tests/string_buffer/Makefile @@ -3364,7 +3402,7 @@ if test "x$enable_llvm" = xyes; then echo " LLVM_LDFLAGS: $LLVM_LDFLAGS" echo "" fi -echo " PYTHON2: $PYTHON2" +echo " PYTHON: $PYTHON" echo "" echo " Run '${MAKE-make}' to build Mesa"