aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2017-10-05 11:42:44 -0700
committerDylan Baker <dylan@pnwbakers.com>2017-10-25 10:03:34 -0700
commit55844093468d09005350baf9bd21a5022cfc30b2 (patch)
tree829c78cb37b24213d0758ced3870548ddb573452 /mesonbuild
parent6cbbbd546e0e86ea90df6899fb247b7ad9743a65 (diff)
downloadmeson-55844093468d09005350baf9bd21a5022cfc30b2.zip
meson-55844093468d09005350baf9bd21a5022cfc30b2.tar.gz
meson-55844093468d09005350baf9bd21a5022cfc30b2.tar.bz2
llvm: Add support for linking statically
This adds support for the static kwarg to the llvm dependency.
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/dependencies/dev.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/mesonbuild/dependencies/dev.py b/mesonbuild/dependencies/dev.py
index 858f12f..b9e35e1 100644
--- a/mesonbuild/dependencies/dev.py
+++ b/mesonbuild/dependencies/dev.py
@@ -139,6 +139,7 @@ class LLVMDependency(ExternalDependency):
self.provided_modules = []
self.required_modules = set()
self.llvmconfig = None
+ self.static = kwargs.get('static', False)
self.__best_found = None
# FIXME: Support multiple version requirements ala PkgConfigDependency
req_version = kwargs.get('version', None)
@@ -180,8 +181,9 @@ class LLVMDependency(ExternalDependency):
opt_modules = stringlistify(extract_as_list(kwargs, 'optional_modules'))
self.check_components(opt_modules, required=False)
+ link_args = ['--link-static', '--system-libs'] if self.static else ['--link-shared']
p, out = Popen_safe(
- [self.llvmconfig, '--libs', '--ldflags'] + list(self.required_modules))[:2]
+ [self.llvmconfig, '--libs', '--ldflags'] + link_args + list(self.required_modules))[:2]
if p.returncode != 0:
raise DependencyException('Could not generate libs for LLVM.')
self.link_args = strip_system_libdirs(environment, shlex.split(out))