diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-02-24 23:56:30 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-02-24 23:56:30 +0200 |
commit | d74a216d9fa45450c4fbf3ea94e5e0ef5fa524a6 (patch) | |
tree | 15fd4e1ed0f24877106c0d000fb0fd31d0753c5b | |
parent | 325cd7a75b5ae2c927594ea2986a39ca7c462331 (diff) | |
download | meson-d74a216d9fa45450c4fbf3ea94e5e0ef5fa524a6.zip meson-d74a216d9fa45450c4fbf3ea94e5e0ef5fa524a6.tar.gz meson-d74a216d9fa45450c4fbf3ea94e5e0ef5fa524a6.tar.bz2 |
Handle required flag in pkg-config deps.
-rwxr-xr-x | environment.py | 11 |
1 files 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' |