From d74a216d9fa45450c4fbf3ea94e5e0ef5fa524a6 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sun, 24 Feb 2013 23:56:30 +0200 Subject: Handle required flag in pkg-config deps. --- environment.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/environment.py b/environment.py index cf7158e..733233b 100755 --- a/environment.py +++ b/environment.py @@ -411,17 +411,18 @@ class Dependency(): class PkgConfigDependency(Dependency): pkgconfig_found = False - def __init__(self, name): + def __init__(self, name, required): Dependency.__init__(self) - self.is_found = False if not PkgConfigDependency.pkgconfig_found: self.check_pkgconfig() + self.is_found = False p = subprocess.Popen(['pkg-config', '--modversion', name], stdout=subprocess.PIPE, stderr=subprocess.PIPE) out = p.communicate()[0] if p.returncode != 0: - print('Dependency %s not known to pkg-config.' % name) + if required: + raise EnvironmentException('Required dependency %s not found.' % name) self.modversion = 'none' self.cflags = [] self.libs = [] @@ -465,8 +466,8 @@ class PkgConfigDependency(Dependency): # Fixme, move to environment. def find_external_dependency(name, kwargs): - # Add detectors for non-pkg-config deps (e.g. Boost) etc here. - return PkgConfigDependency(name) + required = kwargs.get('required', False) + return PkgConfigDependency(name, required) def test_pkg_config(): name = 'gtk+-3.0' -- cgit v1.1