Inpull/12823/head89146e84c9
, a heuristic was introduced where if libLLVMSupport is available as a static library, LLVM itself is assumed to be availble as a static library as a whole. This is unfortunately not the case at least on Gentoo and Arch Linux, where a subsequent llvm-config call yields: ``` $ /usr/lib/llvm/17/bin/llvm-config --libfiles --link-static llvm-config: error: missing: /usr/lib/llvm/17/lib64/libLLVMTargetParser.a llvm-config: error: missing: /usr/lib/llvm/17/lib64/libLLVMBinaryFormat.a llvm-config: error: missing: /usr/lib/llvm/17/lib64/libLLVMBitstreamReader.a llvm-config: error: missing: /usr/lib/llvm/17/lib64/libLLVMRemarks.a [...] ``` On Gentoo, where LLVM's static libraries are not included, we still have: ``` $ equery f llvm:17 | grep -i lib64/.*.a$ /usr/lib/llvm/17/lib64/libLLVMDemangle.a /usr/lib/llvm/17/lib64/libLLVMSupport.a /usr/lib/llvm/17/lib64/libLLVMTableGen.a /usr/lib/llvm/17/lib64/libLLVMTestingAnnotations.a /usr/lib/llvm/17/lib64/libLLVMTestingSupport.a /usr/lib/llvm/17/lib64/libllvm_gtest.a /usr/lib/llvm/17/lib64/libllvm_gtest_main.a ``` Therefore, testing for libLLVMSupport is insufficient. We now try libLLVMCore instead, as that appears to only be installed when LLVM truly has static libraries available. libLLVMCore is handled as a LLVM component which gives us some guarantee this is supposed to be happening and not a fluke. (Specifically, LLVM's llvm/lib/Support/CMakeLists.txt pays 0 attention to -DLLVM_BUILD_LLVM_DYLIB and -DLLVM_LINK_LLVM_DYLIB, and is hence only affected by -DBUILD_SHARED_LIBS, which LLVM upstream say is only to be used for development. Therefore, with -DBUILD_SHARED_LIBS=OFF (as is recommended/the default) and -DLLVM_BUILD_LLVM_DYLIB=ON, you will get a static libLLVMSupport, without it indicating anything about the rest of your configuration.) Closes: https://github.com/mesonbuild/meson/issues/12323 Fixes:89146e84c9
Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
parent
369cc28e59
commit
d1b783fc69
1 changed files with 1 additions and 1 deletions
Loading…
Reference in new issue