[Mesa-dev] [PATCH] configure.ac: handle llvm built with cmake in one shared library.

Laurent Carlier lordheavym at gmail.com
Sun Sep 27 05:21:41 PDT 2015


llvm can be built with cmake in a libray with the name libLLVM.so.$version

Signed-off-by: Laurent Carlier <lordheavym at gmail.com>
---
 configure.ac | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/configure.ac b/configure.ac
index 217281f..361ffba 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2206,8 +2206,15 @@ if test "x$MESA_LLVM" != x0; then
             LLVM_LIBS="-l$LLVM_SO_NAME"
         else
             dnl If LLVM was built with CMake, there will be one shared object per
-            dnl component.
-            AS_IF([test ! -f "$LLVM_LIBDIR/libLLVMTarget.$IMP_LIB_EXT"],
+            dnl component or one shared object since LLVM 3.8.
+            LLVM_SO_NAME=LLVM.$IMP_LIB_EXT.`$LLVM_CONFIG --version`
+            AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME"], [llvm_have_one_so=yes])
+            
+            if test "x$llvm_have_one_so" = xyes; then
+                dnl LLVM was built with cmake with only one shared versioned object.
+                LLVM_LIBS="-l:lib$LLVM_SO_NAME"
+            else
+                AS_IF([test ! -f "$LLVM_LIBDIR/libLLVMTarget.$IMP_LIB_EXT"],
                     [AC_MSG_ERROR([Could not find llvm shared libraries:
 	Please make sure you have built llvm with the --enable-shared option
 	and that your llvm libraries are installed in $LLVM_LIBDIR
@@ -2218,9 +2225,10 @@ if test "x$MESA_LLVM" != x0; then
 	use llvm static libraries then add --disable-llvm-shared-libs to your configure
 	invocation and rebuild.])])
 
-           dnl We don't need to update LLVM_LIBS in this case because the LLVM
-           dnl install uses a shared object for each component and we have
-           dnl already added all of these objects to LLVM_LIBS.
+                dnl We don't need to update LLVM_LIBS in this case because the LLVM
+                dnl install uses a shared object for each component and we have
+                dnl already added all of these objects to LLVM_LIBS.
+            fi
         fi
     else
         AC_MSG_WARN([Building mesa with statically linked LLVM may cause compilation issues])
-- 
2.5.3



More information about the mesa-dev mailing list