diff options
Diffstat (limited to 'interpreter.py')
-rw-r--r-- | interpreter.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/interpreter.py b/interpreter.py index 7cc938d..92a2b92 100644 --- a/interpreter.py +++ b/interpreter.py @@ -303,8 +303,9 @@ class Headers(InterpreterObject): return self.custom_install_dir class Data(InterpreterObject): - def __init__(self, source_subdir, sources, kwargs): + def __init__(self, in_sourcetree, source_subdir, sources, kwargs): InterpreterObject.__init__(self) + self.in_sourcetree = in_sourcetree self.source_subdir = source_subdir self.sources = sources kwsource = kwargs.get('sources', []) @@ -1269,7 +1270,7 @@ class Interpreter(): for a in args: if not isinstance(a, str): raise InvalidArguments('Argument %s is not a string.' % str(a)) - data = Data(self.subdir, args, kwargs) + data = Data(True, self.subdir, args, kwargs) self.build.data.append(data) return data @@ -1295,9 +1296,9 @@ class Interpreter(): raise InterpreterException('Required keyword argument "input" not defined.') if not 'output' in kwargs: raise InterpreterException('Required keyword argument "output" not defined.') + inputfile = kwargs['input'] + output = kwargs['output'] if 'configuration' in kwargs: - inputfile = kwargs['input'] - output = kwargs['output'] conf = kwargs['configuration'] if not isinstance(conf, ConfigurationDataHolder): raise InterpreterException('Argument "configuration" is not of type configuration_data') @@ -1314,6 +1315,8 @@ class Interpreter(): (res.stdout, res.stderr)) else: raise InterpreterException('Configure_file must have either "configuration" or "command".') + if isinstance(kwargs.get('install_dir', None), str): + self.build.data.append(Data(False, self.subdir, [output], kwargs)) def func_include_directories(self, node, args, kwargs): absbase = os.path.join(self.environment.get_source_dir(), self.subdir) |