aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Duponchelle <mathieu.duponchelle@opencreed.com>2015-06-07 21:49:10 +0200
committerMathieu Duponchelle <mathieu.duponchelle@opencreed.com>2015-06-07 22:55:24 +0200
commit9c9e94d5318e1fddd7078f4c96d1fae350114458 (patch)
treeacd42c70f85cc926f46c04c0f96c10ae5b23a2cc
parenta08374b9a945f3e15b1d7cebf07d4e62a83ba3b2 (diff)
downloadmeson-9c9e94d5318e1fddd7078f4c96d1fae350114458.zip
meson-9c9e94d5318e1fddd7078f4c96d1fae350114458.tar.gz
meson-9c9e94d5318e1fddd7078f4c96d1fae350114458.tar.bz2
PkgConfigDependency: Add a get_variable method.
-rw-r--r--dependencies.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/dependencies.py b/dependencies.py
index c4c046a..3767d63 100644
--- a/dependencies.py
+++ b/dependencies.py
@@ -90,6 +90,8 @@ class PkgConfigDependency(Dependency):
else:
pkgbin = 'pkg-config'
type_string = 'Native'
+
+ self.pkgbin = pkgbin
p = subprocess.Popen([pkgbin, '--modversion', name], stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
out = p.communicate()[0]
@@ -142,6 +144,20 @@ class PkgConfigDependency(Dependency):
self.libs.append(lib)
+ def get_variable(self, variable_name):
+ p = subprocess.Popen([self.pkgbin, '--variable=%s' %
+ variable_name, self.name], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ out = p.communicate()[0]
+ if p.returncode != 0:
+ if required:
+ raise DependencyException('%s dependency %s not found.' %
+ (type_string, self.name))
+ else:
+ variable = out.decode().strip()
+ mlog.debug ("return of subprocess : ", variable)
+
+ return variable
+
def get_modversion(self):
return self.modversion