aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/modules/pkgconfig.py
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2018-01-19 11:32:14 -0500
committerXavier Claessens <xavier.claessens@collabora.com>2018-01-19 13:45:14 -0500
commit6e2e94c6452c12af224515e70aa88a63fb5adc65 (patch)
tree22df3360a0cd4d34a5129b99afe6c4c095eb9647 /mesonbuild/modules/pkgconfig.py
parentec37f625c7ffd5b3470ac6990f856f485c04af5e (diff)
downloadmeson-6e2e94c6452c12af224515e70aa88a63fb5adc65.zip
meson-6e2e94c6452c12af224515e70aa88a63fb5adc65.tar.gz
meson-6e2e94c6452c12af224515e70aa88a63fb5adc65.tar.bz2
pkgconfig: Also ignore not found deps passed directly to pc generator
Currently only not found deps implicitly pulled from a Library object are ignored. We should also ignore not found deps passed directly to generate() method. This makes the unit testing more complicated because libfoo pkgconfig dependency cannot be found when generated from the within the same meson.build.
Diffstat (limited to 'mesonbuild/modules/pkgconfig.py')
-rw-r--r--mesonbuild/modules/pkgconfig.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py
index c951920..5573a2e 100644
--- a/mesonbuild/modules/pkgconfig.py
+++ b/mesonbuild/modules/pkgconfig.py
@@ -66,20 +66,22 @@ class DependenciesHelper:
elif hasattr(obj, 'generated_pc'):
processed_reqs.append(obj.generated_pc)
elif isinstance(obj, dependencies.PkgConfigDependency):
- processed_reqs.append(obj.name)
+ if obj.found():
+ processed_reqs.append(obj.name)
elif isinstance(obj, dependencies.ThreadDependency):
processed_libs += obj.get_compiler().thread_link_flags(obj.env)
processed_cflags += obj.get_compiler().thread_flags(obj.env)
elif isinstance(obj, dependencies.Dependency):
- processed_libs += obj.get_link_args()
- processed_cflags += obj.get_compile_args()
+ if obj.found():
+ processed_libs += obj.get_link_args()
+ processed_cflags += obj.get_compile_args()
elif isinstance(obj, (build.SharedLibrary, build.StaticLibrary)):
processed_libs.append(obj)
if public:
if not hasattr(obj, 'generated_pc'):
obj.generated_pc = self.name
self.add_priv_libs(obj.get_dependencies())
- self.add_priv_libs(self.strip_unfound(obj.get_external_deps()))
+ self.add_priv_libs(obj.get_external_deps())
elif isinstance(obj, str):
processed_libs.append(obj)
else:
@@ -87,9 +89,6 @@ 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))