aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-02-24 23:56:30 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2013-02-24 23:56:30 +0200
commitd74a216d9fa45450c4fbf3ea94e5e0ef5fa524a6 (patch)
tree15fd4e1ed0f24877106c0d000fb0fd31d0753c5b
parent325cd7a75b5ae2c927594ea2986a39ca7c462331 (diff)
downloadmeson-d74a216d9fa45450c4fbf3ea94e5e0ef5fa524a6.zip
meson-d74a216d9fa45450c4fbf3ea94e5e0ef5fa524a6.tar.gz
meson-d74a216d9fa45450c4fbf3ea94e5e0ef5fa524a6.tar.bz2
Handle required flag in pkg-config deps.
-rwxr-xr-xenvironment.py11
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'