aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2017-12-21 13:33:57 -0800
committerDylan Baker <dylan@pnwbakers.com>2018-01-06 13:49:34 -0800
commit660dee1e10b5293c38d372b7a8ddfce49cc14936 (patch)
tree14ebc31da538ed2d21020e8a724366cc3e3b8825
parent4cea88c2bb9be96e9cd099828cdd6ff755d6d57a (diff)
downloadmeson-660dee1e10b5293c38d372b7a8ddfce49cc14936.zip
meson-660dee1e10b5293c38d372b7a8ddfce49cc14936.tar.gz
meson-660dee1e10b5293c38d372b7a8ddfce49cc14936.tar.bz2
LLVM: use DragonFly BSD workaround on FreeBSD as well
-rw-r--r--mesonbuild/dependencies/dev.py14
-rw-r--r--mesonbuild/mesonlib.py3
2 files changed, 10 insertions, 7 deletions
diff --git a/mesonbuild/dependencies/dev.py b/mesonbuild/dependencies/dev.py
index 2be9be4..4a163ea 100644
--- a/mesonbuild/dependencies/dev.py
+++ b/mesonbuild/dependencies/dev.py
@@ -173,13 +173,13 @@ 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.
+ if ((mesonlib.is_dragonflybsd() or mesonlib.is_freebsd()) and not
+ self.static and version_compare(self.version, '>= 4.0')):
+ # llvm-config on DragonFly BSD and FreeBSD 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
diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py
index 8793dff..b7d2992 100644
--- a/mesonbuild/mesonlib.py
+++ b/mesonbuild/mesonlib.py
@@ -288,6 +288,9 @@ def is_debianlike():
def is_dragonflybsd():
return platform.system().lower() == 'dragonfly'
+def is_freebsd():
+ return platform.system().lower() == 'freebsd'
+
def for_windows(is_cross, env):
"""
Host machine is windows?