diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2018-01-19 11:32:14 -0500 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.com> | 2018-01-19 13:45:14 -0500 |
commit | 6e2e94c6452c12af224515e70aa88a63fb5adc65 (patch) | |
tree | 22df3360a0cd4d34a5129b99afe6c4c095eb9647 /mesonbuild/modules/pkgconfig.py | |
parent | ec37f625c7ffd5b3470ac6990f856f485c04af5e (diff) | |
download | meson-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.py | 13 |
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)) |