fi
}
-llvm_check_version_for() {
+require_llvm() {
+ if test "x$enable_gallium_llvm" != "xyes"; then
+ AC_MSG_ERROR([--enable-gallium-llvm is required when building $1])
+ fi
+}
+
+llvm_require_version() {
if test "x$MESA_LLVM" = x0; then
AC_MSG_ERROR([LLVM $1 or newer is required for $2])
return
fi
+ require_llvm $2
llvm_target_version_major=`echo $1 | cut -d. -f1 | egrep -o '^[[0-9]]+'`
llvm_target_version_minor=`echo $1 | cut -d. -f2 | egrep -o '^[[0-9]]+'`
amdgpu_llvm_target_name='amdgpu'
fi
- llvm_check_version_for $*
+ llvm_require_version $*
llvm_add_target $amdgpu_llvm_target_name $2
fi
+dnl
+dnl Gallium LLVM
+dnl
+AC_ARG_ENABLE([gallium-llvm],
+ [AS_HELP_STRING([--enable-gallium-llvm],
+ [build gallium LLVM support @<:@default=enabled on x86/x86_64@:>@])],
+ [enable_gallium_llvm="$enableval"],
+ [enable_gallium_llvm=auto])
+
+if test "x$enable_gallium_llvm" = xauto; then
+ case "$host_cpu" in
+ i*86|x86_64|amd64) enable_gallium_llvm=yes;;
+ esac
+fi
+
#
# Vulkan driver configuration
#
AC_MSG_ERROR([Clover requires libelf])
fi
- llvm_check_version_for $LLVM_REQUIRED_OPENCL "opencl"
+ llvm_require_version $LLVM_REQUIRED_OPENCL "opencl"
llvm_add_default_components "opencl"
llvm_add_component "all-targets" "opencl"
GL_PC_CFLAGS="$GL_PC_CFLAGS -DMESA_EGL_NO_X11_HEADERS"
fi
-dnl
-dnl Gallium LLVM
-dnl
-AC_ARG_ENABLE([gallium-llvm],
- [AS_HELP_STRING([--enable-gallium-llvm],
- [build gallium LLVM support @<:@default=enabled on x86/x86_64@:>@])],
- [enable_gallium_llvm="$enableval"],
- [enable_gallium_llvm=auto])
-
-if test -z "$with_gallium_drivers"; then
- enable_gallium_llvm=no
-fi
-if test "x$enable_gallium_llvm" = xauto; then
- case "$host_cpu" in
- i*86|x86_64|amd64) enable_gallium_llvm=yes;;
- esac
-fi
-
dnl Directory for XVMC libs
AC_ARG_WITH([xvmc-libdir],
[AS_HELP_STRING([--with-xvmc-libdir=DIR],
[D3D_DRIVER_INSTALL_DIR="${libdir}/d3d"])
AC_SUBST([D3D_DRIVER_INSTALL_DIR])
-dnl
-dnl Gallium helper functions
-dnl
-gallium_require_llvm() {
- if test "x$enable_gallium_llvm" = "xyes"; then
- llvm_check_version_for $LLVM_REQUIRED_GALLIUM "gallium"
- else
- AC_MSG_ERROR([--enable-gallium-llvm is required when building $1])
- fi
-}
-
dnl
dnl r300 doesn't strictly require LLVM, but for performance reasons we
dnl highly recommend LLVM usage. So require it at least on x86 and x86_64
r300_require_llvm() {
case "$host" in *gnux32) return;; esac
case "$host_cpu" in
- i*86|x86_64|amd64) gallium_require_llvm $1
+ i*86|x86_64|amd64) require_llvm $1
;;
esac
}
fi
;;
xswr)
- llvm_check_version_for $LLVM_REQUIRED_SWR "swr"
- gallium_require_llvm "swr"
+ llvm_require_version $LLVM_REQUIRED_SWR "swr"
swr_require_cxx_feature_flags "C++11" "__cplusplus >= 201103L" \
",-std=c++11" \
done
fi
-if test "x$enable_gallium_llvm" == "xyes"; then
- llvm_check_version_for $LLVM_REQUIRED_GALLIUM "gallium"
+if test "x$enable_gallium_llvm" == "xyes" -a "$with_gallium_drivers"; then
+ llvm_require_version $LLVM_REQUIRED_GALLIUM "gallium"
llvm_add_default_components "gallium"
fi