aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/linkers.py
diff options
context:
space:
mode:
authorAndrei Alexeyev <akari@taisei-project.org>2019-09-10 17:05:35 +0300
committerDylan Baker <dylan@pnwbakers.com>2020-02-18 11:28:43 -0800
commit49ae886620c5d140efbbe177ff0565ba100309f2 (patch)
tree501149e13e48bc200ecd1647fc6cd206cf3f9104 /mesonbuild/linkers.py
parent8eb13c93ea0cf2968a9b0f337968e9fd9cf4bbe2 (diff)
downloadmeson-49ae886620c5d140efbbe177ff0565ba100309f2.zip
meson-49ae886620c5d140efbbe177ff0565ba100309f2.tar.gz
meson-49ae886620c5d140efbbe177ff0565ba100309f2.tar.bz2
Don't pass --allow-shlib-undefined to lld if it's not supported
Fixes builds with llvm-mingw
Diffstat (limited to 'mesonbuild/linkers.py')
-rw-r--r--mesonbuild/linkers.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/mesonbuild/linkers.py b/mesonbuild/linkers.py
index dbd90b2..41b445e 100644
--- a/mesonbuild/linkers.py
+++ b/mesonbuild/linkers.py
@@ -659,7 +659,18 @@ class LLVMDynamicLinker(GnuLikeDynamicLinkerMixin, PosixDynamicLinkerMixin, Dyna
This is only the posix-like linker.
"""
- pass
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+
+ # Some targets don't seem to support this argument (windows, wasm, ...)
+ _, _, e = mesonlib.Popen_safe(self.exelist + self._apply_prefix('--allow-shlib-undefined'))
+ self.has_allow_shlib_undefined = not ('unknown argument: --allow-shlib-undefined' in e)
+
+ def get_allow_undefined_args(self) -> typing.List[str]:
+ if self.has_allow_shlib_undefined:
+ return self._apply_prefix('--allow-shlib-undefined')
+ return []
+
class CcrxDynamicLinker(DynamicLinker):