From 8e9f0c954c08d959eb5ed52b726ab03855968cec Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sat, 21 Jan 2017 13:00:00 +0200 Subject: Gracefully fallback when cross pkg-config can not be found for an optional dependency. --- mesonbuild/dependencies.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'mesonbuild/dependencies.py') diff --git a/mesonbuild/dependencies.py b/mesonbuild/dependencies.py index 97aec7e..32c61c1 100644 --- a/mesonbuild/dependencies.py +++ b/mesonbuild/dependencies.py @@ -119,8 +119,10 @@ class PkgConfigDependency(Dependency): if self.required: raise DependencyException('Pkg-config binary missing from cross file') else: - self.pkgbin = environment.cross_info.config['binaries']['pkgconfig'] - PkgConfigDependency.class_pkgbin = self.pkgbin + potential_pkgbin = environment.cross_info.config['binaries'].get('pkgconfig', 'non_existing_binary') + if shutil.which(potential_pkgbin): + self.pkgbin = potential_pkgbin + PkgConfigDependency.class_pkgbin = self.pkgbin # Only search for the native pkg-config the first time and # store the result in the class definition elif PkgConfigDependency.class_pkgbin is None: -- cgit v1.1