aboutsummaryrefslogtreecommitdiff
path: root/interpreter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2015-03-13 19:38:53 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2015-03-13 19:38:53 +0200
commit96839e58938a5c43cf742785378ea9a20e6390ec (patch)
tree42ada95d26ac8933175249a7c8aed19d2922d090 /interpreter.py
parentd6ef93434ea94be79af792d81c4ea273a408dc6c (diff)
downloadmeson-96839e58938a5c43cf742785378ea9a20e6390ec.zip
meson-96839e58938a5c43cf742785378ea9a20e6390ec.tar.gz
meson-96839e58938a5c43cf742785378ea9a20e6390ec.tar.bz2
Made Qt5 module do just preprocessing instead of building full executable, so it is composable with e.g. gettext and flex modules (when they appear).
Diffstat (limited to 'interpreter.py')
-rw-r--r--interpreter.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/interpreter.py b/interpreter.py
index 7b717cd..37b37bb 100644
--- a/interpreter.py
+++ b/interpreter.py
@@ -246,9 +246,12 @@ class GeneratorHolder(InterpreterObject):
return gl
class GeneratedListHolder(InterpreterObject):
- def __init__(self, generator):
+ def __init__(self, arg1):
super().__init__()
- self.held_object = build.GeneratedList(generator)
+ if isinstance(arg1, build.Generator):
+ self.held_object = build.GeneratedList(arg1)
+ else:
+ self.held_object = arg1
def add_file(self, a):
self.held_object.add_file(a)
@@ -790,7 +793,12 @@ class Interpreter():
raise InterpreterException('Tried to create target %s which already exists.' % v.name)
self.build.targets[v.name] = v
outvalues.append(ExecutableHolder(v))
+ elif isinstance(v, list):
+ outvalues.append(self.module_method_callback(v))
+ elif isinstance(v, build.GeneratedList):
+ outvalues.append(GeneratedListHolder(v))
else:
+ print(v)
raise InterpreterException('Module returned a value of unknown type.')
if len(outvalues) == 1 and unwrap_single:
return outvalues[0]