aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/xcodebackend.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2018-09-27 13:19:27 -0700
committerDylan Baker <dylan@pnwbakers.com>2018-10-01 14:23:34 -0700
commitca8ae7f5e5e86cd7f06b0b0cd6419958f3129f04 (patch)
tree9bad1d6f77f86386ab043f7ea952af092b8f1a95 /mesonbuild/backend/xcodebackend.py
parente5080a8453d7eea2a91ffb53bdb652336c260834 (diff)
downloadmeson-ca8ae7f5e5e86cd7f06b0b0cd6419958f3129f04.zip
meson-ca8ae7f5e5e86cd7f06b0b0cd6419958f3129f04.tar.gz
meson-ca8ae7f5e5e86cd7f06b0b0cd6419958f3129f04.tar.bz2
dependencies/LLVM: rework shared link detection to be more robust
Instead of trying to hardcode which versions of which OSes are misconfiguring llvm-config, lets try to use a generic mechanism that catches most of the broken cases. If a dynamic lib is built but the tools are linked staticly (LLVM_BUILD_LLVM_DYLIB=true and LLVM_LINK_LLVM_DYLIB=false) and you don't enabled shared libs (LLVM_BUILD_SHARED_LIBS=false, which should be false), then llvm-config will mistakenly return a each static library with .(so|dll|dylib) appended, instead of -lLLVM-x.y.z. if LLVM_LINK_LLVM_DYlIB is true this works fine. There's been a bug opened in upstream since 2014 about this with no responses[1]. So, this patches looks at --shared-mode (which tells us whether llvm-config was linked staticly or dynamicly), then if the shared-mode is static it will check and see what it gets. If it gets valid results then it will go with those, if it doesn't then it will try to build a set of valid link arguments to link with libLLVM.(so|dll|dylib). [1] https://bugs.llvm.org/show_bug.cgi?id=19937
Diffstat (limited to 'mesonbuild/backend/xcodebackend.py')
0 files changed, 0 insertions, 0 deletions