aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2018-01-13 18:23:44 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2018-01-19 15:49:49 +0200
commit5e4538fe63c49192716528758c6392b8d2057fd0 (patch)
treee939f74ed62bd47227f609f5e52aab1671324ff0 /mesonbuild
parent714ac85d220cf822491e50b6cd84385b3529178d (diff)
downloadmeson-5e4538fe63c49192716528758c6392b8d2057fd0.zip
meson-5e4538fe63c49192716528758c6392b8d2057fd0.tar.gz
meson-5e4538fe63c49192716528758c6392b8d2057fd0.tar.bz2
Add external dependencies to pc files only if found. Closes #2911.
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/modules/pkgconfig.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py
index 54c2126..c951920 100644
--- a/mesonbuild/modules/pkgconfig.py
+++ b/mesonbuild/modules/pkgconfig.py
@@ -79,7 +79,7 @@ class DependenciesHelper:
if not hasattr(obj, 'generated_pc'):
obj.generated_pc = self.name
self.add_priv_libs(obj.get_dependencies())
- self.add_priv_libs(obj.get_external_deps())
+ self.add_priv_libs(self.strip_unfound(obj.get_external_deps()))
elif isinstance(obj, str):
processed_libs.append(obj)
else:
@@ -87,6 +87,9 @@ class DependenciesHelper:
return processed_libs, processed_reqs, processed_cflags
+ def strip_unfound(self, deps):
+ return [x for x in deps if not hasattr(x, 'found') or x.found()]
+
def remove_dups(self):
self.pub_libs = list(set(self.pub_libs))
self.pub_reqs = list(set(self.pub_reqs))