diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2020-12-07 11:40:20 -0500 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2020-12-10 00:28:34 +0200 |
commit | 0efcb0be5f1aa834f6dcfcaba1d3a1ce487a6982 (patch) | |
tree | 5913d7dfa9efbb67143cd4cf8fb48c717b0a4d03 | |
parent | 6b328ef7c4dbc0e4a1079f9fe7aa885c66c85d2a (diff) | |
download | meson-0efcb0be5f1aa834f6dcfcaba1d3a1ce487a6982.zip meson-0efcb0be5f1aa834f6dcfcaba1d3a1ce487a6982.tar.gz meson-0efcb0be5f1aa834f6dcfcaba1d3a1ce487a6982.tar.bz2 |
pkgconfig: Respect variable ordering when passed as list
This fix a regression introduced in Meson 0.56.0 when using python 3.5.
Also mention in documentation that using a meson dict does not guarantee
ordering.
Fixes: #8074.
-rw-r--r-- | docs/markdown/Pkgconfig-module.md | 3 | ||||
-rw-r--r-- | mesonbuild/interpreter.py | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/docs/markdown/Pkgconfig-module.md b/docs/markdown/Pkgconfig-module.md index e9aa4a2..53c23fa 100644 --- a/docs/markdown/Pkgconfig-module.md +++ b/docs/markdown/Pkgconfig-module.md @@ -50,7 +50,8 @@ keyword arguments. reference other pkgconfig variables, e.g. `datadir=${prefix}/share`. The names `prefix`, `libdir` and `includedir` are reserved and may not be used. *Since 0.56.0* it can also be a - dictionary. + dictionary but ordering of Meson dictionaries are not guaranteed, which could + cause issues when some variables reference other variables. - `version` a string describing the version of this library, used to set the `Version:` field. (*since 0.46.0*) Defaults to the project version if unspecified. - `d_module_versions` a list of module version flags used when compiling diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 83acc01..59e29be 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -2708,7 +2708,7 @@ class Interpreter(InterpreterBase): varlist = mesonlib.stringlistify(variables) if list_new: FeatureNew.single_use('variables as list of strings', '0.56.0', self.subproject) - variables = {} + variables = collections.OrderedDict() for v in varlist: try: (key, value) = v.split('=', 1) |