[Mesa-dev] [PATCH 2/4] configure.ac: Only set LLVM_LIBS if LLVM is used

Tobias Droste tdroste at gmx.de
Sat Jan 28 13:56:58 UTC 2017


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 at gmx.de>
---
 configure.ac | 27 ++++++++++++++++++---------
 1 file changed, 18 insertions(+), 9 deletions(-)

diff --git a/configure.ac b/configure.ac
index 8366672f19..f956df5120 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1003,13 +1003,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
@@ -1054,7 +1058,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
 
@@ -2011,7 +2015,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"
@@ -2205,7 +2209,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
@@ -2356,7 +2360,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" \
@@ -2399,8 +2403,12 @@ 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"
+
+    USE_LLVM_GALLIUM=yes
+else
+    USE_LLVM_GALLIUM=no
 fi
 
 dnl We need to validate some needed dependencies for renderonly drivers.
@@ -2416,7 +2424,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])
@@ -2518,8 +2526,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$USE_LLVM_GALLIUM" = 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.])
@@ -2811,11 +2818,13 @@ if test "x$FOUND_LLVM" = xyes; then
 else
     echo "        llvm found:      no"
 fi
+echo "        llvm used:       $USE_LLVM"
 
 echo ""
 if test -n "$with_gallium_drivers"; then
     echo "        Gallium drivers: $gallium_drivers"
     echo "        Gallium st:      $gallium_st"
+    echo "        Gallium llvm:    $USE_LLVM_GALLIUM"
 else
     echo "        Gallium:         no"
 fi
-- 
2.11.0



More information about the mesa-dev mailing list