LLVM: use DragonFly BSD workaround on FreeBSD as well

This commit is contained in:
Dylan Baker 2017-12-21 13:33:57 -08:00
parent 4cea88c2bb
commit 660dee1e10
2 changed files with 10 additions and 7 deletions

View File

@ -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

View File

@ -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?