X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=configure.ac;h=2573e0da57ee1baf5017d2fc86cbe7fd4bd9508a;hb=486091bc00ea06f996910885bad080ce7f591c59;hp=0652410778696b0111cef6304ac78388eb160ff8;hpb=7ab1fffcd2a504024b16e408de329f7a94553ecc;p=mesa.git diff --git a/configure.ac b/configure.ac index 06524107786..2573e0da57e 100644 --- a/configure.ac +++ b/configure.ac @@ -74,11 +74,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.91 +LIBDRM_AMDGPU_REQUIRED=2.4.95 LIBDRM_INTEL_REQUIRED=2.4.75 LIBDRM_NVVIEUX_REQUIRED=2.4.66 LIBDRM_NOUVEAU_REQUIRED=2.4.66 -LIBDRM_FREEDRENO_REQUIRED=2.4.92 LIBDRM_ETNAVIV_REQUIRED=2.4.89 LIBDRM_VC4_REQUIRED=2.4.89 @@ -108,9 +107,9 @@ dnl LLVM versions LLVM_REQUIRED_GALLIUM=3.3.0 LLVM_REQUIRED_OPENCL=3.9.0 LLVM_REQUIRED_R600=3.9.0 -LLVM_REQUIRED_RADEONSI=5.0.0 -LLVM_REQUIRED_RADV=5.0.0 -LLVM_REQUIRED_SWR=4.0.0 +LLVM_REQUIRED_RADEONSI=6.0.0 +LLVM_REQUIRED_RADV=6.0.0 +LLVM_REQUIRED_SWR=6.0.0 dnl Check for progs AC_PROG_CPP @@ -125,7 +124,8 @@ AC_PROG_GREP AC_PROG_NM AM_PROG_AS AX_CHECK_GNU_MAKE -AC_CHECK_PROGS([PYTHON2], [python2.7 python2 python]) +AM_PATH_PYTHON([2.7],, [AM_PATH_PYTHON([3.4],, [:])]) + AC_PROG_SED AC_PROG_MKDIR_P @@ -157,7 +157,7 @@ fi AX_CHECK_PYTHON_MAKO_MODULE($PYTHON_MAKO_REQUIRED) -if test -z "$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 @@ -295,6 +295,12 @@ 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 @@ -302,10 +308,19 @@ AX_CHECK_COMPILE_FLAG([-Wall], [CFLAGS="$CFLAGS 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([-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 @@ -314,6 +329,8 @@ AX_CHECK_COMPILE_FLAG([-Wall], [CXXFLAGS="$CXXFL AX_CHECK_COMPILE_FLAG([-fno-math-errno], [CXXFLAGS="$CXXFLAGS -fno-math-errno"]) 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 @@ -868,6 +885,7 @@ AC_HEADER_MAJOR AC_CHECK_HEADER([xlocale.h], [DEFINES="$DEFINES -DHAVE_XLOCALE_H"]) AC_CHECK_HEADER([sys/sysctl.h], [DEFINES="$DEFINES -DHAVE_SYS_SYSCTL_H"]) AC_CHECK_HEADERS([endian.h]) +AC_CHECK_HEADER([dlfcn.h], [DEFINES="$DEFINES -DHAVE_DLFCN_H"]) AC_CHECK_FUNC([strtof], [DEFINES="$DEFINES -DHAVE_STRTOF"]) AC_CHECK_FUNC([mkostemp], [DEFINES="$DEFINES -DHAVE_MKOSTEMP"]) AC_CHECK_FUNC([timespec_get], [DEFINES="$DEFINES -DHAVE_TIMESPEC_GET"]) @@ -960,6 +978,22 @@ if test "x$pthread_stubs_possible" = xyes; then PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs >= 0.4) fi +save_LIBS="$LIBS" +LIBS="$PTHREAD_LIBS" +AC_MSG_CHECKING(whether pthread_setaffinity_np is supported) +AC_LINK_IFELSE([AC_LANG_SOURCE([[ + #define _GNU_SOURCE + #include + int main() { + void *a = (void*) &pthread_setaffinity_np; + long b = (long) a; + return (int) b; + }]])], + [DEFINES="$DEFINES -DHAVE_PTHREAD_SETAFFINITY"]; + AC_MSG_RESULT([yes]), + AC_MSG_RESULT([no])) +LIBS="$save_LIBS" + dnl Check for futex for fast inline simple_mtx_t. AC_CHECK_HEADER([linux/futex.h], [DEFINES="$DEFINES -DHAVE_LINUX_FUTEX_H"]) @@ -1410,6 +1444,7 @@ AM_CONDITIONAL(NEED_OPENGL_COMMON, test "x$enable_opengl" = xyes -o \ "x$enable_gles1" = xyes -o \ "x$enable_gles2" = xyes) AM_CONDITIONAL(NEED_KHRPLATFORM, test "x$enable_egl" = xyes -o \ + "x$enable_opengl" = xyes -o \ "x$enable_gles1" = xyes -o \ "x$enable_gles2" = xyes) @@ -1498,15 +1533,15 @@ fi AC_ARG_WITH([gl-lib-name], [AS_HELP_STRING([--with-gl-lib-name@<:@=NAME@:>@], [specify GL library name @<:@default=GL@:>@])], - [GL_LIB=$withval], - [GL_LIB="$DEFAULT_GL_LIB_NAME"]) + [AC_MSG_ERROR([--with-gl-lib-name is no longer supported. Rename the library manually if needed.])], + []) AC_ARG_WITH([osmesa-lib-name], [AS_HELP_STRING([--with-osmesa-lib-name@<:@=NAME@:>@], [specify OSMesa library name @<:@default=OSMesa@:>@])], - [OSMESA_LIB=$withval], - [OSMESA_LIB=OSMesa]) -AS_IF([test "x$GL_LIB" = xyes], [GL_LIB="$DEFAULT_GL_LIB_NAME"]) -AS_IF([test "x$OSMESA_LIB" = xyes], [OSMESA_LIB=OSMesa]) + [AC_MSG_ERROR([--with-osmesa-lib-name is no longer supported. Rename the library manually if needed.])], + []) +GL_LIB="$DEFAULT_GL_LIB_NAME" +OSMESA_LIB=OSMesa dnl dnl Mangled Mesa support @@ -1518,6 +1553,9 @@ AC_ARG_ENABLE([mangling], [enable_mangling=no] ) if test "x${enable_mangling}" = "xyes" ; then + if test "x$enable_libglvnd" = xyes; then + AC_MSG_ERROR([Conflicting options --enable-mangling and --enable-libglvnd.]) + fi DEFINES="${DEFINES} -DUSE_MGL_NAMESPACE" GL_LIB="Mangled${GL_LIB}" OSMESA_LIB="Mangled${OSMESA_LIB}" @@ -1525,6 +1563,15 @@ fi AC_SUBST([GL_LIB]) AC_SUBST([OSMESA_LIB]) +dnl HACK when building glx + glvnd we ship gl.pc, despite that glvnd should do it +dnl Thus we need to use GL as a DSO name. +if test "x$enable_libglvnd" = xyes -a "x$enable_glx" != xno; then + GL_PKGCONF_LIB="GL" +else + GL_PKGCONF_LIB="$GL_LIB" +fi +AC_SUBST([GL_PKGCONF_LIB]) + # Check for libdrm PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED], [have_libdrm=yes], [have_libdrm=no]) @@ -1653,6 +1700,8 @@ xxlib | xgallium-xlib) xdri) # DRI-based GLX + require_dri_shared_libs_and_glapi "GLX" + # find the DRI deps for libGL dri_modules="x11 xext xdamage >= $XDAMAGE_REQUIRED xfixes x11-xcb xcb xcb-glx >= $XCBGLX_REQUIRED" @@ -1805,6 +1854,10 @@ for plat in $platforms; do PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, WAYLAND_SCANNER='') + PKG_CHECK_EXISTS([wayland-scanner >= 1.15], + AC_SUBST(SCANNER_ARG, 'private-code'), + AC_SUBST(SCANNER_ARG, 'code')) + if test "x$WAYLAND_SCANNER" = x; then AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) fi @@ -1832,6 +1885,9 @@ for plat in $platforms; do android) PKG_CHECK_MODULES([ANDROID], [cutils hardware sync]) + if test -n "$with_gallium_drivers"; then + PKG_CHECK_MODULES([BACKTRACE], [backtrace]) + fi DEFINES="$DEFINES -DHAVE_ANDROID_PLATFORM" ;; @@ -1877,6 +1933,8 @@ fi if test x"$have_xlease" = xyes; then randr_modules="x11-xcb xcb-randr" PKG_CHECK_MODULES([XCB_RANDR], [$randr_modules]) + xlib_randr_modules="xrandr" + PKG_CHECK_MODULES([XLIB_RANDR], [$xlib_randr_modules]) fi AM_CONDITIONAL(HAVE_PLATFORM_X11, echo "$platforms" | grep -q 'x11') @@ -2242,13 +2300,13 @@ else have_vdpau_platform=no fi -if echo $platforms | grep -q "x11\|drm"; then +if echo $platforms | egrep -q "x11|drm"; then have_omx_platform=yes else have_omx_platform=no fi -if echo $platforms | grep -q "x11\|drm\|wayland"; then +if echo $platforms | egrep -q "x11|drm|wayland"; then have_va_platform=yes else have_va_platform=no @@ -2672,7 +2730,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) @@ -2787,8 +2844,8 @@ if test -n "$with_gallium_drivers"; then fi # XXX: Keep in sync with LLVM_REQUIRED_SWR -AM_CONDITIONAL(SWR_INVALID_LLVM_VERSION, test "x$LLVM_VERSION" != x4.0.0 -a \ - "x$LLVM_VERSION" != x4.0.1) +AM_CONDITIONAL(SWR_INVALID_LLVM_VERSION, test "x$LLVM_VERSION" != x6.0.0 -a \ + "x$LLVM_VERSION" != x6.0.1) if test "x$enable_llvm" = "xyes" -a "$with_gallium_drivers"; then llvm_require_version $LLVM_REQUIRED_GALLIUM "gallium" @@ -2996,7 +3053,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") @@ -3145,7 +3202,9 @@ 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 src/util/tests/vma/Makefile src/util/xmlpool/Makefile @@ -3315,7 +3374,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"