[Mesa-dev] [PATCH WIP 1/1] configure: include llvm systemlibs when using static llvm

Emil Velikov emil.l.velikov at gmail.com
Sun Oct 26 19:24:28 PDT 2014


On 26/10/14 19:36, Jan Vesely wrote:
> On Fri, 2014-10-24 at 23:54 +0000, Emil Velikov wrote:
>> On 24/10/14 17:03, Jan Vesely wrote:
>>> -Wl,--exclude-libs prevents automatic export of symbols
>>>
>>>
>>> CC: Kai Wasserbach <kai at dev.carbon-project.org>
>>> CC: Emil Velikov <emil.l.velikov at gmail.com>
>>> Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
>>> ---
>>>
>>> Kai,
>>> can you try this patch with your setup, and check whether LLVM symbols are
>>> exported from mesa library? (and it's still working)
>>>
>>> Emil,
>>> would it help to have --exclude-libs ALL enabled globally?
>>>
>> Haven't really looked up on the documentation about it, yet there should
>> be no (unneeded) exported symbols thanks to the version scripts.
>> As such I'm not entirely sure what this patch (attempts to) resolve :(
> 
> you are right. I don't know why I thought it was still a problem.
> In that case the attached patch should fix compiling with llvm static
> libs (#70410)
> 
For future patches please add the full link in the commit message
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70410

Afaics the bug mentioned has a slightly different patch, which brings
the question - do we need to append to the existing LLVM_LIBS, or can we
overwrite them ? Either way it would be nice if we can get a tested-by
or two :)

Thanks
Emil

> jan
> 
>>
>> -Emil
>>
>>> jan
>>>
>>>  configure.ac | 10 +++++++++-
>>>  1 file changed, 9 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/configure.ac b/configure.ac
>>> index 3c76deb..b4b4b13 100644
>>> --- a/configure.ac
>>> +++ b/configure.ac
>>> @@ -1981,7 +1981,15 @@ if test "x$MESA_LLVM" != x0; then
>>>             dnl already added all of these objects to LLVM_LIBS.
>>>          fi
>>>      else
>>> -        AC_MSG_WARN([Building mesa with staticly linked LLVM may cause compilation issues])
>>> +        AC_MSG_WARN([Building mesa with statically linked LLVM may cause compilation issues])
>>> +	dnl Don't export symbols automatically
>>> +	dnl TODO: Do we want to list llvm libs explicitly here?
>>> +	LLVM_LDFLAGS+=" -Wl,exclude-libs ALL"
>>> +	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 -eq 3 -a $LLVM_VERSION_MINOR -ge 5; then
>>> +		LLVM_LIBS+=" `$LLVM_CONFIG --system-libs`"
>>> +	fi
>>>      fi
>>>  fi
>>>  
>>>
>>
> 



More information about the mesa-dev mailing list