aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/markdown/Pkgconfig-module.md3
-rw-r--r--mesonbuild/interpreter.py2
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)