aboutsummaryrefslogtreecommitdiff
path: root/interpreter.py
diff options
context:
space:
mode:
Diffstat (limited to 'interpreter.py')
-rw-r--r--interpreter.py11
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)