[Mesa-dev] [PATCH] configure: Add --with-llvm-shared-libs

Jose Fonseca jfonseca at vmware.com
Thu Mar 29 00:07:46 PDT 2012


Looks good to me.

It's disabled by default, which is important because upstream doesn't really support shared llvm libs -- it's something that distros are doing on their initiative.

Also note that this will saves disk at the expense of runtime memory -- as the shared LLVM library will contain the _whole_ LLVM, and not just the components targets needed, and given that there is usually only xxx_dri.so module on a system at a time, that means a net increase. libLLMVM-3.0 is 22MB on my system, which means 22MB - 13MB = +9MB of increased memory usage. Linux kernel may page out some portions to disk though.

Jose

----- Original Message -----
> From: Tom Stellard <tstellar at gmail.com>
> 
> This option allows targets to link against the LLVM shared library
> instead of the static libs.  With LLVM 2.9, his saves ~13 MB for each
> of
> the r300 target libraries.
> ---
>  configure.ac |   15 +++++++++++++--
>  1 files changed, 13 insertions(+), 2 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index ac7d49f..4ff02e4 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1779,6 +1779,13 @@ AC_ARG_ENABLE([gallium-llvm],
>          [build gallium LLVM support @<:@default=enabled on
>          x86/x86_64@:>@])],
>      [enable_gallium_llvm="$enableval"],
>      [enable_gallium_llvm=auto])
> +
> +AC_ARG_WITH([llvm-shared-libs],
> +    [AS_HELP_STRING([--with-llvm-shared-libs],
> +        [link with LLVM shared libraries
> @<:@default=disabled@:>@])],
> +    [with_llvm_shared_libs=yes],
> +    [with_llvm_shared_libs=no])
> +
>  if test "x$with_gallium_drivers" = x; then
>      enable_gallium_llvm=no
>  fi
> @@ -1793,8 +1800,12 @@ if test "x$enable_gallium_llvm" = xyes; then
>      if test "x$LLVM_CONFIG" != xno; then
>  	LLVM_VERSION=`$LLVM_CONFIG --version | sed 's/svn.*//g'`
>  	LLVM_CFLAGS=`$LLVM_CONFIG --cppflags|sed -e 's/-DNDEBUG\>//g' -e
>  	's/-pedantic//g'`
> -	LLVM_LIBS="`$LLVM_CONFIG --libs engine bitwriter`"
> -
> +	if test "x$with_llvm_shared_libs" = xyes; then
> +	    dnl We can't use $LLVM_VERSION because it has 'svn' stripped
> out,
> +	    LLVM_LIBS="-lLLVM-`$LLVM_CONFIG --version`"
> +	else
> +	    LLVM_LIBS="`$LLVM_CONFIG --libs engine bitwriter`"
> +	fi
>  	LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
>  	DEFINES="$DEFINES -D__STDC_CONSTANT_MACROS"
>  	MESA_LLVM=1
> --
> 1.7.3.4
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 


More information about the mesa-dev mailing list