X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=configure.ac;h=621dc328d902414c419004176dc7186cf1a95d5b;hb=742b8e33012b87bfb68749f185294860637fc316;hp=d37cb67a4605d4ee8354999f59925371c0a758c8;hpb=36ac485bd1c99412717d2b3023c490d26ca91f92;p=mesa.git diff --git a/configure.ac b/configure.ac index d37cb67a460..621dc328d90 100644 --- a/configure.ac +++ b/configure.ac @@ -78,20 +78,23 @@ LIBDRM_AMDGPU_REQUIRED=2.4.90 LIBDRM_INTEL_REQUIRED=2.4.75 LIBDRM_NVVIEUX_REQUIRED=2.4.66 LIBDRM_NOUVEAU_REQUIRED=2.4.66 -LIBDRM_FREEDRENO_REQUIRED=2.4.89 +LIBDRM_FREEDRENO_REQUIRED=2.4.91 LIBDRM_ETNAVIV_REQUIRED=2.4.82 dnl Versions for external dependencies DRI2PROTO_REQUIRED=2.8 GLPROTO_REQUIRED=1.4.14 LIBOMXIL_BELLAGIO_REQUIRED=0.0 +LIBOMXIL_TIZONIA_REQUIRED=0.10.0 LIBVA_REQUIRED=0.38.0 VDPAU_REQUIRED=1.1 WAYLAND_REQUIRED=1.11 WAYLAND_PROTOCOLS_REQUIRED=1.8 XCB_REQUIRED=1.9.3 XCBDRI2_REQUIRED=1.8 +XCBDRI3_REQUIRED=1.13 XCBGLX_REQUIRED=1.8.1 +XCBPRESENT_REQUIRED=1.13 XDAMAGE_REQUIRED=1.1 XSHMFENCE_REQUIRED=1.1 XVMC_REQUIRED=1.0.6 @@ -116,6 +119,7 @@ dnl other CC/CXX flags related help AC_ARG_VAR([CXX11_CXXFLAGS], [Compiler flag to enable C++11 support (only needed if not enabled by default and different from -std=c++11)]) AM_PROG_CC_C_O +AC_PROG_NM AM_PROG_AS AX_CHECK_GNU_MAKE AC_CHECK_PROGS([PYTHON2], [python2.7 python2 python]) @@ -450,7 +454,6 @@ if test "x$GCC_ATOMIC_BUILTINS_SUPPORTED" = x1; then LIBATOMIC_LIBS="-latomic" fi fi -AM_CONDITIONAL([GCC_ATOMIC_BUILTINS_SUPPORTED], [test x$GCC_ATOMIC_BUILTINS_SUPPORTED = x1]) AC_SUBST([LIBATOMIC_LIBS]) dnl Check if host supports 64-bit atomics @@ -939,10 +942,10 @@ dnl In practise that should be sufficient for all platforms, since any dnl platforms build with GCC and Clang support the flag. PTHREAD_LIBS="$PTHREAD_LIBS -pthread" -dnl pthread-stubs is mandatory on BSD platforms, due to the nature of the +dnl pthread-stubs is mandatory on some BSD platforms, due to the nature of the dnl project. Even then there's a notable issue as described in the project README case "$host_os" in -linux* | cygwin* | darwin* | solaris* | *-gnu* | gnu*) +linux* | cygwin* | darwin* | solaris* | *-gnu* | gnu* | openbsd*) pthread_stubs_possible="no" ;; * ) @@ -1311,14 +1314,19 @@ AC_ARG_ENABLE([vdpau], [enable_vdpau=auto]) AC_ARG_ENABLE([omx], [AS_HELP_STRING([--enable-omx], - [DEPRECATED: Use --enable-omx-bellagio instead @<:@default=auto@:>@])], - [AC_MSG_ERROR([--enable-omx is deprecated. Use --enable-omx-bellagio instead.])], + [DEPRECATED: Use --enable-omx-bellagio or --enable-omx-tizonia instead @<:@default=auto@:>@])], + [AC_MSG_ERROR([--enable-omx is deprecated. Use --enable-omx-bellagio or --enable-omx-tizonia instead.])], []) AC_ARG_ENABLE([omx-bellagio], [AS_HELP_STRING([--enable-omx-bellagio], [enable OpenMAX Bellagio library @<:@default=disabled@:>@])], [enable_omx_bellagio="$enableval"], [enable_omx_bellagio=no]) +AC_ARG_ENABLE([omx-tizonia], + [AS_HELP_STRING([--enable-omx-tizonia], + [enable OpenMAX Tizonia library @<:@default=disabled@:>@])], + [enable_omx_tizonia="$enableval"], + [enable_omx_tizonia=no]) AC_ARG_ENABLE([va], [AS_HELP_STRING([--enable-va], [enable va library @<:@default=auto@:>@])], @@ -1350,7 +1358,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,vc4,vc5,virgl,etnaviv,imx" + "i915,nouveau,r300,r600,radeonsi,freedreno,pl111,svga,swrast,swr,tegra,vc4,vc5,virgl,etnaviv,imx" @<:@default=r300,r600,svga,swrast@:>@])], [with_gallium_drivers="$withval"], [with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"]) @@ -1370,11 +1378,17 @@ if test "x$enable_opengl" = xno -a \ "x$enable_xvmc" = xno -a \ "x$enable_vdpau" = xno -a \ "x$enable_omx_bellagio" = xno -a \ + "x$enable_omx_tizonia" = xno -a \ "x$enable_va" = xno -a \ "x$enable_opencl" = xno; then AC_MSG_ERROR([at least one API should be enabled]) fi +if test "x$enable_omx_bellagio" = xyes -a \ + "x$enable_omx_tizonia" = xyes; then + AC_MSG_ERROR([Can't enable both bellagio and tizonia at same time]) +fi + # Building OpenGL ES1 and/or ES2 without OpenGL is not supported on mesa 9.0.x if test "x$enable_opengl" = xno -a \ "x$enable_gles1" = xyes; then @@ -1770,19 +1784,6 @@ if test "x$with_platforms" = xauto; then with_platforms=$with_egl_platforms fi -PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], - WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, - WAYLAND_SCANNER='') -if test "x$WAYLAND_SCANNER" = x; then - AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) -fi - -PKG_CHECK_EXISTS([wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED], [have_wayland_protocols=yes], [have_wayland_protocols=no]) -if test "x$have_wayland_protocols" = xyes; then - ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols` -fi -AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, $ac_wayland_protocols_pkgdatadir) - # Do per platform setups and checks platforms=`IFS=', '; echo $with_platforms` for plat in $platforms; do @@ -1791,13 +1792,19 @@ for plat in $platforms; do PKG_CHECK_MODULES([WAYLAND_CLIENT], [wayland-client >= $WAYLAND_REQUIRED]) PKG_CHECK_MODULES([WAYLAND_SERVER], [wayland-server >= $WAYLAND_REQUIRED]) + PKG_CHECK_MODULES([WAYLAND_PROTOCOLS], [wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED]) + WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols` + + PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], + WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, + WAYLAND_SCANNER='') + if test "x$WAYLAND_SCANNER" = x; then + AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) + fi if test "x$WAYLAND_SCANNER" = "x:"; then AC_MSG_ERROR([wayland-scanner is needed to compile the wayland platform]) fi - if test "x$have_wayland_protocols" = xno; then - AC_MSG_ERROR([wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED is needed to compile the wayland platform]) - fi DEFINES="$DEFINES -DHAVE_WAYLAND_PLATFORM -DWL_HIDE_DEPRECATED" ;; @@ -1832,6 +1839,7 @@ for plat in $platforms; do ;; esac done +AC_SUBST([WAYLAND_PROTOCOLS_DATADIR]) if test "x$enable_glx" != xno; then if ! echo "$platforms" | grep -q 'x11'; then @@ -1842,7 +1850,7 @@ fi if test x"$enable_dri3" = xyes; then DEFINES="$DEFINES -DHAVE_DRI3" - dri3_modules="x11-xcb xcb >= $XCB_REQUIRED xcb-dri3 xcb-xfixes xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED" + dri3_modules="x11-xcb xcb >= $XCB_REQUIRED xcb-dri3 >= $XCBDRI3_REQUIRED xcb-xfixes xcb-present >= $XCBPRESENT_REQUIRED xcb-sync xshmfence >= $XSHMFENCE_REQUIRED" PKG_CHECK_MODULES([XCB_DRI3], [$dri3_modules]) fi @@ -2215,6 +2223,10 @@ if test -n "$with_gallium_drivers" -a "x$with_gallium_drivers" != xswrast; then PKG_CHECK_EXISTS([libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED], [enable_omx_bellagio=yes], [enable_omx_bellagio=no]) fi + if test "x$enable_omx_tizonia" = xauto -a "x$have_omx_platform" = xyes; then + PKG_CHECK_EXISTS([libtizonia >= $LIBOMXIL_TIZONIA_REQUIRED], [enable_omx_tizonia=yes], [enable_omx_tizonia=no]) + fi + if test "x$enable_va" = xauto -a "x$have_va_platform" = xyes; then PKG_CHECK_EXISTS([libva >= $LIBVA_REQUIRED], [enable_va=yes], [enable_va=no]) fi @@ -2224,6 +2236,7 @@ if test "x$enable_dri" = xyes -o \ "x$enable_xvmc" = xyes -o \ "x$enable_vdpau" = xyes -o \ "x$enable_omx_bellagio" = xyes -o \ + "x$enable_omx_tizonia" = xyes -o \ "x$enable_va" = xyes; then need_gallium_vl=yes fi @@ -2232,6 +2245,7 @@ AM_CONDITIONAL(NEED_GALLIUM_VL, test "x$need_gallium_vl" = xyes) if test "x$enable_xvmc" = xyes -o \ "x$enable_vdpau" = xyes -o \ "x$enable_omx_bellagio" = xyes -o \ + "x$enable_omx_tizonia" = xyes -o \ "x$enable_va" = xyes; then if echo $platforms | grep -q "x11"; then PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED]) @@ -2265,9 +2279,23 @@ if test "x$enable_omx_bellagio" = xyes; then fi PKG_CHECK_MODULES([OMX_BELLAGIO], [libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED]) gallium_st="$gallium_st omx_bellagio" + AC_DEFINE([ENABLE_ST_OMX_BELLAGIO], 1, [Use Bellagio for OMX IL]) fi AM_CONDITIONAL(HAVE_ST_OMX_BELLAGIO, test "x$enable_omx_bellagio" = xyes) +if test "x$enable_omx_tizonia" = xyes; then + if test "x$have_omx_platform" != xyes; then + AC_MSG_ERROR([OMX requires at least one of the x11 or drm platforms]) + fi + PKG_CHECK_MODULES([OMX_TIZONIA], + [libtizonia >= $LIBOMXIL_TIZONIA_REQUIRED + tizilheaders >= $LIBOMXIL_TIZONIA_REQUIRED + libtizplatform >= $LIBOMXIL_TIZONIA_REQUIRED]) + gallium_st="$gallium_st omx_tizonia" + AC_DEFINE([ENABLE_ST_OMX_TIZONIA], 1, [Use Tizoina for OMX IL]) +fi +AM_CONDITIONAL(HAVE_ST_OMX_TIZONIA, test "x$enable_omx_tizonia" = xyes) + if test "x$enable_va" = xyes; then if test "x$have_va_platform" != xyes; then AC_MSG_ERROR([VA requires at least one of the x11 drm or wayland platforms]) @@ -2441,6 +2469,15 @@ AC_ARG_WITH([omx-bellagio-libdir], $PKG_CONFIG --define-variable=libdir=\$libdir --variable=pluginsdir libomxil-bellagio`]) AC_SUBST([OMX_BELLAGIO_LIB_INSTALL_DIR]) +dnl Directory for OMX_TIZONIA libs + +AC_ARG_WITH([omx-tizonia-libdir], + [AS_HELP_STRING([--with-omx-tizonia-libdir=DIR], + [directory for the OMX_TIZONIA libraries])], + [OMX_TIZONIA_LIB_INSTALL_DIR="$withval"], + [OMX_TIZONIA_LIB_INSTALL_DIR=`$PKG_CONFIG --define-variable=libdir=\$libdir --variable=pluginsdir libtizcore`]) +AC_SUBST([OMX_TIZONIA_LIB_INSTALL_DIR]) + dnl Directory for VA libs AC_ARG_WITH([va-libdir], @@ -2595,6 +2632,10 @@ if test -n "$with_gallium_drivers"; then ximx) HAVE_GALLIUM_IMX=yes ;; + xtegra) + HAVE_GALLIUM_TEGRA=yes + require_libdrm "tegra" + ;; xswrast) HAVE_GALLIUM_SOFTPIPE=yes if test "x$enable_llvm" = xyes; then @@ -2719,6 +2760,9 @@ if test "x$HAVE_GALLIUM_VC4" != xyes -a "x$HAVE_GALLIUM_PL111" = xyes ; then AC_MSG_ERROR([Building with pl111 requires vc4]) fi +if test "x$HAVE_GALLIUM_NOUVEAU" != xyes -a "x$HAVE_GALLIUM_TEGRA" = xyes; then + AC_MSG_ERROR([Building with tegra requires nouveau]) +fi detect_old_buggy_llvm() { dnl llvm-config may not give the right answer when llvm is a built as a @@ -2818,6 +2862,7 @@ 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) AM_CONDITIONAL(HAVE_GALLIUM_SWR, test "x$HAVE_GALLIUM_SWR" = xyes) @@ -2970,6 +3015,7 @@ AC_CONFIG_FILES([Makefile src/gallium/drivers/softpipe/Makefile src/gallium/drivers/svga/Makefile src/gallium/drivers/swr/Makefile + src/gallium/drivers/tegra/Makefile src/gallium/drivers/trace/Makefile src/gallium/drivers/etnaviv/Makefile src/gallium/drivers/imx/Makefile @@ -2980,7 +3026,9 @@ AC_CONFIG_FILES([Makefile src/gallium/state_trackers/dri/Makefile src/gallium/state_trackers/glx/xlib/Makefile src/gallium/state_trackers/nine/Makefile - src/gallium/state_trackers/omx_bellagio/Makefile + src/gallium/state_trackers/omx/Makefile + src/gallium/state_trackers/omx/bellagio/Makefile + src/gallium/state_trackers/omx/tizonia/Makefile src/gallium/state_trackers/osmesa/Makefile src/gallium/state_trackers/va/Makefile src/gallium/state_trackers/vdpau/Makefile @@ -2991,7 +3039,7 @@ AC_CONFIG_FILES([Makefile src/gallium/targets/d3dadapter9/d3d.pc src/gallium/targets/dri/Makefile src/gallium/targets/libgl-xlib/Makefile - src/gallium/targets/omx-bellagio/Makefile + src/gallium/targets/omx/Makefile src/gallium/targets/opencl/Makefile src/gallium/targets/opencl/mesa.icd src/gallium/targets/osmesa/Makefile @@ -3018,6 +3066,7 @@ AC_CONFIG_FILES([Makefile src/gallium/winsys/sw/null/Makefile src/gallium/winsys/sw/wrapper/Makefile src/gallium/winsys/sw/xlib/Makefile + src/gallium/winsys/tegra/drm/Makefile src/gallium/winsys/vc4/drm/Makefile src/gallium/winsys/vc5/drm/Makefile src/gallium/winsys/virgl/drm/Makefile