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

Tobias Droste tdroste at gmx.de
Thu Dec 8 02:03:36 UTC 2016


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 | 33 ++++++++++++++++++++++++---------
 1 file changed, 24 insertions(+), 9 deletions(-)

diff --git a/configure.ac b/configure.ac
index 1499380c45..a209d87e62 100644
--- a/configure.ac
+++ b/configure.ac
@@ -998,13 +998,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
@@ -1049,7 +1053,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
 
@@ -2176,7 +2180,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"
@@ -2381,7 +2385,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
@@ -2511,7 +2515,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" \
@@ -2554,8 +2558,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 Set LLVM_LIBS - This is done after the driver configuration so
@@ -2565,7 +2571,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])
@@ -2665,8 +2671,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.])
@@ -2954,11 +2959,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
-- 
2.11.0



More information about the mesa-dev mailing list