diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2014-07-26 17:46:40 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2014-07-26 17:46:40 +0300 |
commit | 01f8a1455e227fa78b8415d5d8aafcfe38911e8e (patch) | |
tree | 177e25714937889ff27d6483121635e83e55efe1 /interpreter.py | |
parent | d61529caf01f5f84ca7d409909462398f3db4e1b (diff) | |
download | meson-01f8a1455e227fa78b8415d5d8aafcfe38911e8e.zip meson-01f8a1455e227fa78b8415d5d8aafcfe38911e8e.tar.gz meson-01f8a1455e227fa78b8415d5d8aafcfe38911e8e.tar.bz2 |
Generators work in subdirectories.
Diffstat (limited to 'interpreter.py')
-rw-r--r-- | interpreter.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/interpreter.py b/interpreter.py index a3b5e6f..ffad881 100644 --- a/interpreter.py +++ b/interpreter.py @@ -210,8 +210,9 @@ class ExternalLibraryHolder(InterpreterObject): return self.el.get_exe_args() class GeneratorHolder(InterpreterObject): - def __init__(self, args, kwargs): + def __init__(self, interpreter, args, kwargs): super().__init__() + self.interpreter = interpreter self.generator = build.Generator(args, kwargs) self.methods.update({'process' : self.process_method}) @@ -226,7 +227,7 @@ class GeneratorHolder(InterpreterObject): if not isinstance(a, str): raise InvalidArguments('A non-string object in "process" arguments.') gl = GeneratedListHolder(self) - [gl.add_file(a) for a in args] + [gl.add_file(os.path.join(self.interpreter.subdir, a)) for a in args] return gl class GeneratedListHolder(InterpreterObject): @@ -1085,7 +1086,7 @@ class Interpreter(): return tg def func_generator(self, node, args, kwargs): - gen = GeneratorHolder(args, kwargs) + gen = GeneratorHolder(self, args, kwargs) self.generators.append(gen) return gen |