[Mesa-dev] [PATCH] configure: Check llvm-config --shared-mode
Michel Dänzer
michel at daenzer.net
Wed Aug 16 00:30:58 UTC 2017
On 15/08/17 11:04 PM, Aaron Watry wrote:
> On Mon, Aug 14, 2017 at 10:11 PM, Michel Dänzer <michel at daenzer.net> wrote:
>> On 15/08/17 12:00 PM, Aaron Watry wrote:
>>> On Mon, Aug 14, 2017 at 7:54 PM, Michel Dänzer <michel at daenzer.net> wrote:
>>>> From: Michel Dänzer <michel.daenzer at amd.com>
>>>>
>>>> https://bugs.llvm.org/show_bug.cgi?id=6823 still affects current LLVM.
>>>> llvm-config --libs only reports the single shared library if LLVM was
>>>> built with -DLLVM_LINK_LLVM_DYLIB=ON. llvm-config --shared-mode reports
>>>> "shared" in that case, "static" otherwise (even if LLVM was built with
>>>> -DLLVM_BUILD_LLVM_DYLIB=ON).
>>>>
>>>> Fixes: 3d8da1f678e1 ("configure: Trust LLVM >= 4.0 llvm-config --libs
>>>> for shared libraries")
>>>> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
>>>
>>> Thanks Michel,
>>>
>>> Fixes a build error I've been encountering tonight with all of the
>>> combinations of llvm builds I've tried (VC_REV=on/off,
>>> shared_libraries=1/0, dylib=1/0
>>>
>>> Tested-by: Aaron Watry <awatry at gmail.com>
>>>
>>> FYI: I've settled for now on LLVM_APPEND_VC_REV=ON,
>>> BUILD_SHARED_LIBS=1 amongst the rest of my llvm build flags.
>>> Previously, I was able to get away with VC_REV=off,
>>> LLVM_BULID_LLVM_DYLIB=1.
>>
>> The latter should work again with this patch. I'm using
>> LLVM_BULID_LLVM_DYLIB=ON LLVM_LINK_LLVM_DYLIB=ON, the latter removes the
>> need for LLVM_APPEND_VC_REV=OFF with my patches.
>
> Huh, I just tried to rebuild things with:
> -DLLVM_BUILD_LLVM_DYLIB=1 -DLLVM_LINK_LLVM_DYLIB=1 -DLLVM_APPEND_VC_REV=ON
>
> glxinfo works fine afterwords, but I get the following error when I
> try to run opencl programs:
> CommandLine Error: Option 'help-list' registered more than once!
> LLVM ERROR: inconsistency in registered CommandLine options
Works for me, at least for the piglit OpenCL tests.
> I can go back to one of my other build configurations, but it's
> looking like something in that is causing multiple
> registrations/initializations of some llvm components.
Right, make sure nothing's still linking the individual LLVM components
for you, either dynamically or statically. Have you run at least make
clean in the Mesa tree since changing the build configuration?
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the mesa-dev
mailing list