diff options
Diffstat (limited to 'mesalib/configure.ac')
-rw-r--r-- | mesalib/configure.ac | 84 |
1 files changed, 40 insertions, 44 deletions
diff --git a/mesalib/configure.ac b/mesalib/configure.ac index be85fd51b..12f914e0f 100644 --- a/mesalib/configure.ac +++ b/mesalib/configure.ac @@ -823,6 +823,11 @@ fi AM_CONDITIONAL(HAVE_SHARED_GLAPI, test "x$enable_shared_glapi" = xyes) +# Build the pipe-drivers as separate libraries/modules. +# Do not touch this unless you know what you are doing. +# XXX: Expose via configure option ? +enable_shared_pipe_drivers=no + dnl dnl Driver specific build directories dnl @@ -843,7 +848,7 @@ esac if test "x$enable_dri" = xyes; then GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/dri" GALLIUM_STATE_TRACKERS_DIRS="dri $GALLIUM_STATE_TRACKERS_DIRS" - enable_gallium_loader=yes + enable_gallium_loader="$enable_shared_pipe_drivers" fi if test "x$enable_gallium_osmesa" = xyes; then @@ -1318,7 +1323,8 @@ if test "x$enable_gallium_egl" = xyes; then GALLIUM_STATE_TRACKERS_DIRS="egl $GALLIUM_STATE_TRACKERS_DIRS" GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl-static" -# enable_gallium_loader=yes +# XXX: Uncomment once converted to use static/shared pipe-drivers +# enable_gallium_loader=$enable_shared_pipe_drivers fi AM_CONDITIONAL(HAVE_GALLIUM_EGL, test "x$enable_gallium_egl" = xyes) @@ -1347,7 +1353,7 @@ if test "x$enable_gallium_gbm" = xyes; then GALLIUM_STATE_TRACKERS_DIRS="gbm $GALLIUM_STATE_TRACKERS_DIRS" GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS gbm" - enable_gallium_loader=yes + enable_gallium_loader=$enable_shared_pipe_drivers fi AM_CONDITIONAL(HAVE_GALLIUM_GBM, test "x$enable_gallium_gbm" = xyes) @@ -1364,7 +1370,7 @@ if test "x$enable_xa" = xyes; then Example: ./configure --enable-xa --with-gallium-drivers=svga...]) fi GALLIUM_STATE_TRACKERS_DIRS="xa $GALLIUM_STATE_TRACKERS_DIRS" - enable_gallium_loader=yes + enable_gallium_loader=$enable_shared_pipe_drivers fi AM_CONDITIONAL(HAVE_ST_XA, test "x$enable_xa" = xyes) @@ -1412,7 +1418,7 @@ fi if test "x$enable_xvmc" = xyes; then PKG_CHECK_MODULES([XVMC], [xvmc >= $XVMC_REQUIRED x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED]) GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xvmc" - enable_gallium_loader=yes + enable_gallium_loader=$enable_shared_pipe_drivers fi AM_CONDITIONAL(HAVE_ST_XVMC, test "x$enable_xvmc" = xyes) @@ -1420,14 +1426,14 @@ if test "x$enable_vdpau" = xyes; then PKG_CHECK_MODULES([VDPAU], [vdpau >= $VDPAU_REQUIRED x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED], [VDPAU_LIBS="`$PKG_CONFIG --libs x11-xcb xcb xcb-dri2`"]) GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS vdpau" - enable_gallium_loader=yes + enable_gallium_loader=$enable_shared_pipe_drivers fi AM_CONDITIONAL(HAVE_ST_VDPAU, test "x$enable_vdpau" = xyes) if test "x$enable_omx" = xyes; then PKG_CHECK_MODULES([OMX], [libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED]) GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS omx" - enable_gallium_loader=yes + enable_gallium_loader=$enable_shared_pipe_drivers fi AM_CONDITIONAL(HAVE_ST_OMX, test "x$enable_omx" = xyes) @@ -1479,6 +1485,7 @@ if test "x$enable_opencl" = xyes; then GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS clover" GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS opencl" + # XXX: Use $enable_shared_pipe_drivers once converted to use static/shared pipe-drivers enable_gallium_loader=yes if test "x$enable_opencl_icd" = xyes; then @@ -1653,6 +1660,7 @@ strip_unwanted_llvm_flags() { # Use \> (marks the end of the word) echo `$1` | sed \ -e 's/-DNDEBUG\>//g' \ + -e 's/-D_GNU_SOURCE\>//g' \ -e 's/-pedantic\>//g' \ -e 's/-Wcovered-switch-default\>//g' \ -e 's/-O.\>//g' \ @@ -1687,7 +1695,7 @@ if test "x$enable_gallium_llvm" = xyes; then fi if test "x$LLVM_CONFIG" != xno; then - LLVM_VERSION=`$LLVM_CONFIG --version | sed 's/svn.*//g'` + LLVM_VERSION=`$LLVM_CONFIG --version | egrep -o '^[[0-9.]]+'` LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags` LLVM_BINDIR=`$LLVM_CONFIG --bindir` LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"` @@ -1779,6 +1787,7 @@ dnl dnl Gallium Tests dnl if test "x$enable_gallium_tests" = xyes; then + # XXX: Use $enable_shared_pipe_drivers once converted to use static/shared pipe-drivers enable_gallium_loader=yes fi AM_CONDITIONAL(HAVE_GALLIUM_TESTS, test "x$enable_gallium_tests" = xyes) @@ -1786,7 +1795,6 @@ AM_CONDITIONAL(HAVE_GALLIUM_TESTS, test "x$enable_gallium_tests" = xyes) if test "x$enable_gallium_loader" = xyes; then GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS pipe-loader" fi -AM_CONDITIONAL(NEED_GALLIUM_LOADER, test "x$enable_gallium_loader" = xyes) dnl Directory for VDPAU libs AC_ARG_WITH([vdpau-libdir], @@ -1820,27 +1828,26 @@ dnl dnl Gallium helper functions dnl gallium_check_st() { - if test "x$NEED_NONNULL_WINSYS" = xyes; then - if test "x$have_libdrm" != xyes; then - AC_MSG_ERROR([DRI or Xorg DDX requires libdrm >= $LIBDRM_REQUIRED]) - fi - GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1" - fi - if test "x$enable_dri" = xyes && test -n "$2"; then - GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2" + if test "x$have_libdrm" != xyes; then + AC_MSG_ERROR([$1 requires libdrm >= $LIBDRM_REQUIRED]) fi - if test "x$enable_xa" = xyes && test -n "$3"; then + GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $2" + + if test "x$enable_dri" = xyes && test -n "$3"; then GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3" fi - if test "x$enable_xvmc" = xyes && test -n "$4"; then + if test "x$enable_xa" = xyes && test -n "$4"; then GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $4" fi - if test "x$enable_vdpau" = xyes && test -n "$5"; then + if test "x$enable_xvmc" = xyes && test -n "$5"; then GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $5" fi - if test "x$enable_omx" = xyes && test "x$6" != x; then + if test "x$enable_vdpau" = xyes && test -n "$6"; then GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $6" fi + if test "x$enable_omx" = xyes && test "x$7" != x; then + GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $7" + fi } gallium_require_llvm() { @@ -1898,13 +1905,6 @@ radeon_llvm_check() { [AC_MSG_ERROR([$1 requires libelf when using LLVM])]) } -dnl Gallium drivers -if test "x$enable_dri" = xyes -o "x$enable_xa" = xyes -o \ - "x$enable_xvmc" = xyes -o "x$enable_vdpau" = xyes; then - NEED_NONNULL_WINSYS=yes -fi -AM_CONDITIONAL(NEED_NONNULL_WINSYS, test "x$NEED_NONNULL_WINSYS" = xyes) - dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this block if test -n "$with_gallium_drivers"; then gallium_drivers=`IFS=', '; echo $with_gallium_drivers` @@ -1914,21 +1914,21 @@ if test -n "$with_gallium_drivers"; then HAVE_GALLIUM_SVGA=yes GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga softpipe" gallium_require_drm_loader - gallium_check_st "svga/drm" "dri/vmwgfx" "xa/vmwgfx" + gallium_check_st "svga" "svga/drm" "dri/vmwgfx" "xa/vmwgfx" ;; xi915) HAVE_GALLIUM_I915=yes PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED]) gallium_require_drm_loader GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915" - gallium_check_st "i915/drm" "dri/i915" "xa/i915" + gallium_check_st "Gallium i915" "i915/drm" "dri/i915" "xa/i915" ;; xilo) HAVE_GALLIUM_ILO=yes PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED]) gallium_require_drm_loader GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS ilo" - gallium_check_st "intel/drm" "dri/ilo" "xa/ilo" + gallium_check_st "Gallium i965/ilo" "intel/drm" "dri/ilo" "xa/ilo" ;; xr300) HAVE_GALLIUM_R300=yes @@ -1936,7 +1936,7 @@ if test -n "$with_gallium_drivers"; then gallium_require_drm_loader gallium_require_llvm "Gallium R300" GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300" - gallium_check_st "radeon/drm" "dri/r300" + gallium_check_st "Gallium R300" "radeon/drm" "dri/r300" ;; xr600) HAVE_GALLIUM_R600=yes @@ -1953,7 +1953,7 @@ if test -n "$with_gallium_drivers"; then if test "x$enable_opencl" = xyes; then LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser" fi - gallium_check_st "radeon/drm" "dri/r600" "" "xvmc/r600" "vdpau/r600" "omx/r600" + gallium_check_st "Gallium R600" "radeon/drm" "dri/r600" "" "xvmc/r600" "vdpau/r600" "omx/r600" ;; xradeonsi) HAVE_GALLIUM_RADEONSI=yes @@ -1962,21 +1962,21 @@ if test -n "$with_gallium_drivers"; then GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS radeonsi" radeon_llvm_check "radeonsi" require_egl_drm "radeonsi" - gallium_check_st "radeon/drm" "dri/radeonsi" "" "" "vdpau/radeonsi" "omx/radeonsi" + gallium_check_st "radeonsi" "radeon/drm" "dri/radeonsi" "" "" "vdpau/radeonsi" "omx/radeonsi" ;; xnouveau) HAVE_GALLIUM_NOUVEAU=yes PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED]) gallium_require_drm_loader GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau" - gallium_check_st "nouveau/drm" "dri/nouveau" "xa/nouveau" "xvmc/nouveau" "vdpau/nouveau" "omx/nouveau" + gallium_check_st "nouveau" "nouveau/drm" "dri/nouveau" "xa/nouveau" "xvmc/nouveau" "vdpau/nouveau" "omx/nouveau" ;; xfreedreno) HAVE_GALLIUM_FREEDRENO=yes PKG_CHECK_MODULES([FREEDRENO], [libdrm_freedreno >= $LIBDRM_FREEDRENO_REQUIRED]) gallium_require_drm_loader GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS freedreno" - gallium_check_st "freedreno/drm" "dri/freedreno" "xa/freedreno" "" "" + gallium_check_st "freedreno" "freedreno/drm" "dri/freedreno" "xa/freedreno" "" "" ;; xswrast) HAVE_GALLIUM_SOFTPIPE=yes @@ -1991,6 +1991,7 @@ if test -n "$with_gallium_drivers"; then fi if test "x$have_libdrm" = xyes; then + GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/kms-dri" GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri/kms-swrast" fi ;; @@ -1998,7 +1999,7 @@ if test -n "$with_gallium_drivers"; then HAVE_GALLIUM_VC4=yes gallium_require_drm_loader GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS vc4" - gallium_check_st "vc4/drm" "dri-vc4" "" "" "" + gallium_check_st "vc4" "vc4/drm" "dri-vc4" "" "" "" case "$host_cpu" in i?86 | x86_64 | amd64) @@ -2074,9 +2075,7 @@ AM_CONDITIONAL(NEED_GALLIUM_SOFTPIPE_DRIVER, test "x$HAVE_GALLIUM_SVGA" = xyes - AM_CONDITIONAL(NEED_GALLIUM_LLVMPIPE_DRIVER, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes \ && test "x$MESA_LLVM" = x1) -# Enable static gallium targets for now. -# Do not touch this unless you know what you are doing. -AM_CONDITIONAL(HAVE_GALLIUM_STATIC_TARGETS, test "xyes" = xyes) +AM_CONDITIONAL(HAVE_GALLIUM_STATIC_TARGETS, test "x$enable_shared_pipe_drivers" = xno) # NOTE: anything using xcb or other client side libs ends up in separate # _CLIENT variables. The pipe loader is built in two variants, @@ -2120,12 +2119,9 @@ AM_CONDITIONAL(HAVE_R200_DRI, test x$HAVE_R200_DRI = xyes) AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes) AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes) -AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$NEED_NONNULL_WINSYS" = xyes -a \ - "x$HAVE_GALLIUM_R300" = xyes -o \ +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_WRAPPER, test "x$HAVE_GALLIUM_I915" = xyes -o \ - "x$HAVE_GALLIUM_SVGA" = xyes) AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$NEED_WINSYS_XLIB" = xyes) AM_CONDITIONAL(NEED_RADEON_LLVM, test x$NEED_RADEON_LLVM = xyes) AM_CONDITIONAL(USE_R600_LLVM_COMPILER, test x$USE_R600_LLVM_COMPILER = xyes) |