diff options
-rw-r--r-- | configure.ac | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/configure.ac b/configure.ac index c25b4e20b7c..751f70a02ab 100644 --- a/configure.ac +++ b/configure.ac @@ -2692,18 +2692,28 @@ if test "x$enable_llvm" = xyes; then dnl this was causing the same libraries to be appear multiple times dnl in LLVM_LIBS. - LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`" - - if test "x$enable_llvm_shared_libs" = xyes; then - if test $LLVM_VERSION_MAJOR -lt 4 -o "`$LLVM_CONFIG --shared-mode ${LLVM_COMPONENTS}`" = static; then - detect_old_buggy_llvm + if test $LLVM_VERSION_MAJOR -ge 4 -o $LLVM_VERSION_MAJOR -eq 3 -a $LLVM_VERSION_MINOR -ge 9; then + if test "x$enable_llvm_shared_libs" = xyes; then + LLVM_LIBS="`$LLVM_CONFIG --link-shared --libs ${LLVM_COMPONENTS}`" + else + dnl Invoking llvm-config with both -libs and --system-libs produces the + dnl two separate lines - each for the set of libraries. + dnl Call the program twice, effectively folding them into a single line. + LLVM_LIBS="`$LLVM_CONFIG --link-static --libs ${LLVM_COMPONENTS}`" + dnl We need to link to llvm system libs when using static libs + LLVM_LIBS="$LLVM_LIBS `$LLVM_CONFIG --link-static --system-libs`" fi else - AC_MSG_WARN([Building mesa with statically linked LLVM may cause compilation issues]) - dnl We need to link to llvm system libs when using static libs - dnl However, only llvm 3.5+ provides --system-libs - if test $LLVM_VERSION_MAJOR -ge 4 -o $LLVM_VERSION_MAJOR -eq 3 -a $LLVM_VERSION_MINOR -ge 5; then - LLVM_LIBS="$LLVM_LIBS `$LLVM_CONFIG --system-libs`" + LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`" + if test "x$enable_llvm_shared_libs" = xyes; then + detect_old_buggy_llvm + else + AC_MSG_WARN([Building mesa with statically linked LLVM may cause compilation issues]) + dnl We need to link to llvm system libs when using static libs + dnl However, only llvm 3.5+ provides --system-libs + if test $LLVM_VERSION_MAJOR -ge 4 -o $LLVM_VERSION_MAJOR -eq 3 -a $LLVM_VERSION_MINOR -ge 5; then + LLVM_LIBS="$LLVM_LIBS `$LLVM_CONFIG --system-libs`" + fi fi fi fi |