diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2017-12-21 09:40:49 -0800 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2018-01-06 13:49:34 -0800 |
commit | 448ba5b6f300dcaae018e7bb03017f488a0a92a3 (patch) | |
tree | 708ecc5b618b5cad10a52962963ba8d531c8ddab /mesonbuild/dependencies/dev.py | |
parent | 3a0f8ab0cf56d4036251be3f8d593b3f93c07c47 (diff) | |
download | meson-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.py | 10 |
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), |