aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/dependencies/dev.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2017-12-21 09:40:49 -0800
committerDylan Baker <dylan@pnwbakers.com>2018-01-06 13:49:34 -0800
commit448ba5b6f300dcaae018e7bb03017f488a0a92a3 (patch)
tree708ecc5b618b5cad10a52962963ba8d531c8ddab /mesonbuild/dependencies/dev.py
parent3a0f8ab0cf56d4036251be3f8d593b3f93c07c47 (diff)
downloadmeson-448ba5b6f300dcaae018e7bb03017f488a0a92a3.zip
meson-448ba5b6f300dcaae018e7bb03017f488a0a92a3.tar.gz
meson-448ba5b6f300dcaae018e7bb03017f488a0a92a3.tar.bz2
LLVM: work around bug in dragonfly bsd llvm-config for shared libs
Of course there are OS specific bugs for llvm-config as well, so work around those too.
Diffstat (limited to 'mesonbuild/dependencies/dev.py')
-rw-r--r--mesonbuild/dependencies/dev.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/mesonbuild/dependencies/dev.py b/mesonbuild/dependencies/dev.py
index e039bd6..2be9be4 100644
--- a/mesonbuild/dependencies/dev.py
+++ b/mesonbuild/dependencies/dev.py
@@ -173,6 +173,16 @@ class LLVMDependency(ConfigToolDependency):
def _set_new_link_args(self):
"""How to set linker args for LLVM versions >= 3.9"""
+ if (mesonlib.is_dragonflybsd() and not self.static and
+ version_compare(self.version, '>= 4.0')):
+ # llvm-config on DragonFly BSD for versions 4.0, 5.0, and 6.0 have
+ # an error when generating arguments for shared mode linking, even
+ # though libLLVM.so is installed, because for some reason the tool
+ # expects to find a .so for each static library. This works around
+ # that.
+ self.link_args = self.get_config_value(['--ldflags'], 'link_args')
+ self.link_args.append('-lLLVM')
+ return
link_args = ['--link-static', '--system-libs'] if self.static else ['--link-shared']
self.link_args = self.get_config_value(
['--libs', '--ldflags'] + link_args + list(self.required_modules),