diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2015-03-13 19:38:53 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2015-03-13 19:38:53 +0200 |
commit | 96839e58938a5c43cf742785378ea9a20e6390ec (patch) | |
tree | 42ada95d26ac8933175249a7c8aed19d2922d090 /interpreter.py | |
parent | d6ef93434ea94be79af792d81c4ea273a408dc6c (diff) | |
download | meson-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.py | 12 |
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] |