configure.ac: Only set LLVM_LIBS if LLVM is used

This renames llvm_check_version_for to llvm_require_version and let it
set a variable to mark that LLVM will be used.

Use this to make a usefull configure output and to only check if the
libs are found in LLVM if it is actually used.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99010

Signed-off-by: Tobias Droste <tdroste@gmx.de>
This commit is contained in:
Tobias Droste 2016-12-08 03:03:36 +01:00 committed by Emil Velikov
parent add9066eb0
commit 38e81293b0
1 changed files with 24 additions and 9 deletions

View File

@ -999,13 +999,17 @@ llvm_set_environment_variables() {
DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT -DMESA_LLVM_VERSION_PATCH=$LLVM_VERSION_PATCH"
FOUND_LLVM=yes
USE_LLVM=no
else
FOUND_LLVM=no
USE_LLVM=no
LLVM_VERSION_INT=0
fi
}
llvm_check_version_for() {
llvm_require_version() {
USE_LLVM=yes
if test "x$FOUND_LLVM" = xno; then
AC_MSG_ERROR([LLVM $1 or newer is required for $2])
return
@ -1050,7 +1054,7 @@ radeon_llvm_check() {
amdgpu_llvm_target_name='amdgpu'
fi
llvm_check_version_for $*
llvm_require_version $*
llvm_add_target $amdgpu_llvm_target_name $2
@ -2180,7 +2184,7 @@ if test "x$enable_opencl" = xyes; then
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"
@ -2385,7 +2389,7 @@ dnl Gallium helper functions
dnl
gallium_require_llvm() {
if test "x$enable_gallium_llvm" = "xyes"; then
llvm_check_version_for $LLVM_REQUIRED_GALLIUM "gallium"
llvm_require_version $LLVM_REQUIRED_GALLIUM "gallium"
else
AC_MSG_ERROR([--enable-gallium-llvm is required when building $1])
fi
@ -2523,7 +2527,7 @@ if test -n "$with_gallium_drivers"; then
fi
;;
xswr)
llvm_check_version_for $LLVM_REQUIRED_SWR "swr"
llvm_require_version $LLVM_REQUIRED_SWR "swr"
gallium_require_llvm "swr"
swr_require_cxx_feature_flags "C++11" "__cplusplus >= 201103L" \
@ -2566,8 +2570,10 @@ if test -n "$with_gallium_drivers"; then
fi
if test "x$enable_gallium_llvm" == "xyes"; then
llvm_check_version_for $LLVM_REQUIRED_GALLIUM "gallium"
llvm_require_version $LLVM_REQUIRED_GALLIUM "gallium"
llvm_add_default_components "gallium"
HAVE_GALLIUM_LLVM=yes
fi
dnl We need to validate some needed dependencies for renderonly drivers.
@ -2583,7 +2589,7 @@ dnl by calling llvm-config --libs ${DRIVER_LLVM_COMPONENTS}, but
dnl this was causing the same libraries to be appear multiple times
dnl in LLVM_LIBS.
if test "x$FOUND_LLVM" != xno; then
if test "x$USE_LLVM" == xyes; then
if ! $LLVM_CONFIG --libs ${LLVM_COMPONENTS} >/dev/null; then
AC_MSG_ERROR([Calling ${LLVM_CONFIG} failed])
@ -2685,8 +2691,7 @@ AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$HAVE_GALLIUM_R300" = xyes -o \
AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$enable_glx" = xgallium-xlib)
AM_CONDITIONAL(NEED_RADEON_LLVM, test x$NEED_RADEON_LLVM = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_LLVM, test "x$FOUND_LLVM" = xyes -a \
"x$enable_gallium_llvm" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_LLVM, test "x$HAVE_GALLIUM_LLVM" = xyes)
AM_CONDITIONAL(USE_VC4_SIMULATOR, test x$USE_VC4_SIMULATOR = xyes)
if test "x$USE_VC4_SIMULATOR" = xyes -a "x$HAVE_GALLIUM_ILO" = xyes; then
AC_MSG_ERROR([VC4 simulator on x86 replaces i965 driver build, so ilo must be disabled.])
@ -2978,11 +2983,21 @@ if test "x$FOUND_LLVM" = xyes; then
else
echo " llvm found: no"
fi
if test "x$USE_LLVM" = xyes; then
echo " llvm used: yes"
else
echo " llvm used: no"
fi
echo ""
if test -n "$with_gallium_drivers"; then
echo " Gallium drivers: $gallium_drivers"
echo " Gallium st: $gallium_st"
if test "x$HAVE_GALLIUM_LLVM" = xyes; then
echo " Gallium llvm: yes"
else
echo " Gallium llvm: no"
fi
else
echo " Gallium: no"
fi