aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2017-10-05 11:33:33 -0700
committerDylan Baker <dylan@pnwbakers.com>2017-10-25 10:03:34 -0700
commit6cbbbd546e0e86ea90df6899fb247b7ad9743a65 (patch)
treedd0fa4e90c7fd018c76dae9a95db2d4bbdfd03cc
parent3e004ae61170e919be4c72fc6ddc2a6d1d6354a2 (diff)
downloadmeson-6cbbbd546e0e86ea90df6899fb247b7ad9743a65.zip
meson-6cbbbd546e0e86ea90df6899fb247b7ad9743a65.tar.gz
meson-6cbbbd546e0e86ea90df6899fb247b7ad9743a65.tar.bz2
llvm: Add modules to libs check
Which is required for statically linking with LLVM.
-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 d41963f..858f12f 100644
--- a/mesonbuild/dependencies/dev.py
+++ b/mesonbuild/dependencies/dev.py
@@ -137,6 +137,7 @@ class LLVMDependency(ExternalDependency):
# the C linker works fine if only using the C API.
super().__init__('llvm-config', environment, 'cpp', kwargs)
self.provided_modules = []
+ self.required_modules = set()
self.llvmconfig = None
self.__best_found = None
# FIXME: Support multiple version requirements ala PkgConfigDependency
@@ -180,7 +181,7 @@ class LLVMDependency(ExternalDependency):
self.check_components(opt_modules, required=False)
p, out = Popen_safe(
- [self.llvmconfig, '--libs', '--ldflags'])[:2]
+ [self.llvmconfig, '--libs', '--ldflags'] + 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))
@@ -206,6 +207,7 @@ class LLVMDependency(ExternalDependency):
raise DependencyException(
'Could not find required LLVM Component: {}'.format(mod))
else:
+ self.required_modules.add(mod)
mlog.log('LLVM module', mod, 'found:', mlog.green('YES'))
def check_llvmconfig(self, version_req):