[Mesa-dev] [PATCH] configure.ac: fix the --disable-llvm-shared-libs build

Jonathan Gray jsg at jsg.id.au
Tue Apr 19 03:01:11 UTC 2016


This patch is still required for master.

On Sun, Feb 28, 2016 at 02:47:03PM +1100, Jonathan Gray wrote:
> When building with --disable-llvm-shared-libs use llvm-config --libfiles
> instead of of --libs so the full path to the .a files is used instead of
> -lname.
> 
> Otherwise at install time gallium_dri.a is installed of gallium_dri.so
> and the hardlinking of gallium_dri.so to other names fails.
> 
> Cc: "11.2 11.1" <mesa-stable at lists.freedesktop.org>
> Signed-off-by: Jonathan Gray <jsg at jsg.id.au>
> ---
>  configure.ac | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 6f970d7..3e2923f 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -2304,13 +2304,14 @@ if test "x$MESA_LLVM" != x0; then
>      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}`"
> +
>          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])
> @@ -2337,6 +2338,8 @@ if test "x$MESA_LLVM" != x0; then
>             dnl already added all of these objects to LLVM_LIBS.
>          fi
>      else
> +        LLVM_LIBS="`$LLVM_CONFIG --libfiles ${LLVM_COMPONENTS}`"
> +
>          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
> -- 
> 2.7.0
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list