From 38e81293b0f5d0361c83f80f1d5b32a2a8a67feb Mon Sep 17 00:00:00 2001 From: Tobias Droste Date: Thu, 8 Dec 2016 03:03:36 +0100 Subject: [PATCH] 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 --- configure.ac | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/configure.ac b/configure.ac index 5e9d165aa21..d86d6a31991 100644 --- a/configure.ac +++ b/configure.ac @@ -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