From 22a1596a9705218ff37a2629b5067b37a7631ede Mon Sep 17 00:00:00 2001 From: Jon Turney Date: Sat, 13 Jan 2018 15:49:42 +0000 Subject: Warn about using non-existent pkgconfig variables I'm not sure this is a good idea, but at the moment it seems a bit too easy to write something like dep.get_pkgconfig_variable('inculdedir:') (sic) and not notice it's not doing anything useful. --- mesonbuild/dependencies/base.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py index e29d4de..31b15d0 100644 --- a/mesonbuild/dependencies/base.py +++ b/mesonbuild/dependencies/base.py @@ -16,6 +16,7 @@ # Custom logic for several other packages are in separate files. import os +import re import sys import stat import shlex @@ -532,6 +533,14 @@ class PkgConfigDependency(ExternalDependency): (self.type_string, self.name)) else: variable = out.strip() + + # pkg-config doesn't distinguish between empty and non-existent variables + # use the variable list to check for variable existence + if not variable: + ret, out = self._call_pkgbin(['--print-variables', self.name]) + if not re.search(r'^' + variable_name + r'$', out, re.MULTILINE): + mlog.warning("pkgconfig variable '%s' not defined for dependency %s." % (variable_name, self.name)) + mlog.debug('Got pkgconfig variable %s : %s' % (variable_name, variable)) return variable -- cgit v1.1