aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r--mesonbuild/interpreter.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 7dd24c5..f0ba4a9 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -2001,7 +2001,7 @@ class Interpreter(InterpreterBase):
return [self.holderify(x) for x in item]
if isinstance(item, build.CustomTarget):
return CustomTargetHolder(item, self)
- elif isinstance(item, (int, str)) or item is None:
+ elif isinstance(item, (int, str, bool)) or item is None:
return item
elif isinstance(item, build.Executable):
return ExecutableHolder(item, self)
@@ -2027,6 +2027,9 @@ class Interpreter(InterpreterBase):
def process_new_values(self, invalues):
invalues = listify(invalues)
for v in invalues:
+ if isinstance(v, (RunTargetHolder, CustomTargetHolder, BuildTargetHolder)):
+ v = v.held_object
+
if isinstance(v, (build.BuildTarget, build.CustomTarget, build.RunTarget)):
self.add_target(v.name, v)
elif isinstance(v, list):
@@ -2045,6 +2048,8 @@ class Interpreter(InterpreterBase):
self.process_new_values(v.sources[0])
elif hasattr(v, 'held_object'):
pass
+ elif isinstance(v, (int, str, bool)):
+ pass
else:
raise InterpreterException('Module returned a value of unknown type.')