diff -ru mesa-17.1.3~/configure.ac mesa-17.1.3/configure.ac --- mesa-17.1.3~/configure.ac 2017-06-19 13:15:48.000000000 +0200 +++ mesa-17.1.3/configure.ac 2017-06-27 03:22:18.414758201 +0200 @@ -1060,6 +1060,7 @@ AC_SUBST([LLVM_CFLAGS]) AC_SUBST([LLVM_CXXFLAGS]) AC_SUBST([LLVM_LIBS]) +AC_SUBST([LLVM_ALL_LIBS]) AC_SUBST([LLVM_LDFLAGS]) AC_SUBST([LLVM_INCLUDEDIR]) @@ -2552,13 +2553,14 @@ if ! $LLVM_CONFIG --libs ${LLVM_COMPONENTS} >/dev/null; then AC_MSG_ERROR([Calling ${LLVM_CONFIG} failed]) fi - LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`" dnl llvm-config may not give the right answer when llvm is a built as a dnl single shared library, so we must work the library name out for dnl ourselves. dnl (See https://llvm.org/bugs/show_bug.cgi?id=6823) if test "x$enable_llvm_shared_libs" = xyes; then + LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`" + LLVM_ALL_LIBS="`$LLVM_CONFIG --libs`" dnl We can't use $LLVM_VERSION because it has 'svn' stripped out, LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version` AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.$IMP_LIB_EXT"], [llvm_have_one_so=yes]) @@ -2566,6 +2568,7 @@ if test "x$llvm_have_one_so" = xyes; then dnl LLVM was built using auto*, so there is only one shared object. LLVM_LIBS="-l$LLVM_SO_NAME" + LLVM_ALL_LIBS="-l$LLVM_SO_NAME" else dnl If LLVM was built with CMake, there will be one shared object per dnl component. @@ -2586,10 +2589,13 @@ fi else AC_MSG_WARN([Building mesa with statically linked LLVM may cause compilation issues]) + LLVM_LIBS="-Wl,--push-state,-Bstatic `$LLVM_CONFIG --link-static --libs ${LLVM_COMPONENTS}` -Wl,--pop-state" + LLVM_ALL_LIBS="-Wl,--push-state,-Bstatic `$LLVM_CONFIG --link-static --libs` -Wl,--pop-state" 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_LIBS `$LLVM_CONFIG --link-static --system-libs`" + LLVM_ALL_LIBS="$LLVM_ALL_LIBS `$LLVM_CONFIG --link-static --system-libs`" fi fi fi diff -ru mesa-17.1.3~/src/gallium/targets/opencl/Makefile.am mesa-17.1.3/src/gallium/targets/opencl/Makefile.am --- mesa-17.1.3~/src/gallium/targets/opencl/Makefile.am 2017-06-19 13:15:48.000000000 +0200 +++ mesa-17.1.3/src/gallium/targets/opencl/Makefile.am 2017-06-27 03:21:22.684336890 +0200 @@ -34,7 +34,7 @@ -lclangEdit \ -lclangLex \ -lclangBasic \ - $(LLVM_LIBS) \ + $(LLVM_ALL_LIBS) \ $(PTHREAD_LIBS) nodist_EXTRA_lib@OPENCL_LIBNAME@_la_SOURCES = dummy.cpp