diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2020-04-13 18:12:43 -0400 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.com> | 2020-07-01 09:51:57 -0400 |
commit | 71804e56eb3612eabc51887fe4d46961684a3ecc (patch) | |
tree | ecc5fecb9e2493db6fb60feda4c1c8d317e4b07c /mesonbuild/wrap/wrap.py | |
parent | 2a7f72885ff0623a0a625efb5ffeca6299fc4cf7 (diff) | |
download | meson-71804e56eb3612eabc51887fe4d46961684a3ecc.zip meson-71804e56eb3612eabc51887fe4d46961684a3ecc.tar.gz meson-71804e56eb3612eabc51887fe4d46961684a3ecc.tar.bz2 |
wrap: Add special 'dependency_names' key in [provide] section
The value for that key must be a coma separated list of dependecy names
provided by that subproject, when no variable name is needed because the
subproject uses override_dependency().
Diffstat (limited to 'mesonbuild/wrap/wrap.py')
-rw-r--r-- | mesonbuild/wrap/wrap.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/mesonbuild/wrap/wrap.py b/mesonbuild/wrap/wrap.py index 63ee349..d645c2c 100644 --- a/mesonbuild/wrap/wrap.py +++ b/mesonbuild/wrap/wrap.py @@ -127,7 +127,19 @@ class PackageDefinition: def parse_provide_section(self): self.provide = {self.name: None} if self.config.has_section('provide'): - self.provide.update(self.config['provide']) + for k, v in self.config['provide'].items(): + if k == 'dependency_names': + # A coma separated list of dependency names that does not + # need a variable name + names = {n.strip(): None for n in v.split(',')} + self.provide.update(names) + continue + if not v: + m = ('Empty dependency variable name for {!r} in {}. ' + 'If the subproject uses meson.override_dependency() ' + 'it can be added in the "dependency_names" special key.') + raise WrapException(m.format(k, self.basename)) + self.provide[k] = v def get(self, key: str) -> str: try: |