aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2021-03-03 10:58:06 -0500
committerXavier Claessens <xclaesse@gmail.com>2021-03-04 11:33:22 -0500
commit1e69908be5fb738cd787f0e4825da395e9b356b2 (patch)
treedf030a65a2a784e9a656238468b6ea0ec44a05cf
parenta2cae005ec08145d6b6c11c8091d24abc96f8f62 (diff)
downloadmeson-1e69908be5fb738cd787f0e4825da395e9b356b2.zip
meson-1e69908be5fb738cd787f0e4825da395e9b356b2.tar.gz
meson-1e69908be5fb738cd787f0e4825da395e9b356b2.tar.bz2
interpreter: Fix process_new_values()
It should recurse on lists and does not need to return a value.
-rw-r--r--mesonbuild/interpreter.py10
1 files changed, 3 insertions, 7 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 5642242..570b34f 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -2580,26 +2580,22 @@ class Interpreter(InterpreterBase):
if isinstance(v, (build.BuildTarget, build.CustomTarget, build.RunTarget)):
self.add_target(v.name, v)
elif isinstance(v, list):
- self.module_method_callback(v)
- elif isinstance(v, build.GeneratedList):
- pass
+ self.process_new_values(v)
elif isinstance(v, ExecutableSerialisation):
v.subproject = self.subproject
self.build.install_scripts.append(v)
elif isinstance(v, build.Data):
self.build.data.append(v)
- elif isinstance(v, dependencies.ExternalProgram):
- return ExternalProgramHolder(v, self.subproject)
elif isinstance(v, dependencies.InternalDependency):
# FIXME: This is special cased and not ideal:
# The first source is our new VapiTarget, the rest are deps
self.process_new_values(v.sources[0])
elif isinstance(v, build.InstallDir):
self.build.install_dirs.append(v)
- return InstallDirHolder(v)
elif isinstance(v, Test):
self.build.tests.append(v)
- elif isinstance(v, (int, str, bool, Disabler, ObjectHolder)):
+ elif isinstance(v, (int, str, bool, Disabler, ObjectHolder, build.GeneratedList,
+ dependencies.ExternalProgram)):
pass
else:
raise InterpreterException('Module returned a value of unknown type.')