aboutsummaryrefslogtreecommitdiff
path: root/interpreter.py
diff options
context:
space:
mode:
Diffstat (limited to 'interpreter.py')
-rw-r--r--interpreter.py29
1 files changed, 18 insertions, 11 deletions
diff --git a/interpreter.py b/interpreter.py
index 9e8aa7c..402f24e 100644
--- a/interpreter.py
+++ b/interpreter.py
@@ -588,7 +588,8 @@ class CompilerHolder(InterpreterObject):
raise InterpreterException('Alignment method takes exactly one positional argument.')
check_stringlist(args)
typename = args[0]
- result = self.compiler.alignment(typename, self.environment)
+ extra_args = mesonlib.stringlistify(kwargs.get('args', []))
+ result = self.compiler.alignment(typename, self.environment, extra_args)
mlog.log('Checking for alignment of "', mlog.bold(typename), '": ', result, sep='')
return result
@@ -600,7 +601,8 @@ class CompilerHolder(InterpreterObject):
testname = kwargs.get('name', '')
if not isinstance(testname, str):
raise InterpreterException('Testname argument must be a string.')
- result = self.compiler.run(code)
+ extra_args = mesonlib.stringlistify(kwargs.get('args', []))
+ result = self.compiler.run(code, extra_args)
if len(testname) > 0:
if not result.compiled:
h = mlog.red('DID NOT COMPILE')
@@ -623,7 +625,8 @@ class CompilerHolder(InterpreterObject):
prefix = kwargs.get('prefix', '')
if not isinstance(prefix, str):
raise InterpreterException('Prefix argument of has_function must be a string.')
- had = self.compiler.has_member(typename, membername, prefix)
+ extra_args = mesonlib.stringlistify(kwargs.get('args', []))
+ had = self.compiler.has_member(typename, membername, prefix, extra_args)
if had:
hadtxt = mlog.green('YES')
else:
@@ -640,7 +643,8 @@ class CompilerHolder(InterpreterObject):
prefix = kwargs.get('prefix', '')
if not isinstance(prefix, str):
raise InterpreterException('Prefix argument of has_function must be a string.')
- had = self.compiler.has_function(funcname, prefix, self.environment)
+ extra_args = mesonlib.stringlistify(kwargs.get('args', []))
+ had = self.compiler.has_function(funcname, prefix, self.environment, extra_args)
if had:
hadtxt = mlog.green('YES')
else:
@@ -656,7 +660,8 @@ class CompilerHolder(InterpreterObject):
prefix = kwargs.get('prefix', '')
if not isinstance(prefix, str):
raise InterpreterException('Prefix argument of has_type must be a string.')
- had = self.compiler.has_type(typename, prefix)
+ extra_args = mesonlib.stringlistify(kwargs.get('args', []))
+ had = self.compiler.has_type(typename, prefix, extra_args)
if had:
hadtxt = mlog.green('YES')
else:
@@ -672,7 +677,8 @@ class CompilerHolder(InterpreterObject):
prefix = kwargs.get('prefix', '')
if not isinstance(prefix, str):
raise InterpreterException('Prefix argument of sizeof must be a string.')
- esize = self.compiler.sizeof(element, prefix, self.environment)
+ extra_args = mesonlib.stringlistify(kwargs.get('args', []))
+ esize = self.compiler.sizeof(element, prefix, self.environment, extra_args)
mlog.log('Checking for size of "%s": %d' % (element, esize))
return esize
@@ -684,8 +690,8 @@ class CompilerHolder(InterpreterObject):
testname = kwargs.get('name', '')
if not isinstance(testname, str):
raise InterpreterException('Testname argument must be a string.')
- args = mesonlib.stringlistify(kwargs.get('args', []))
- result = self.compiler.compiles(code, args)
+ extra_args = mesonlib.stringlistify(kwargs.get('args', []))
+ result = self.compiler.compiles(code, extra_args)
if len(testname) > 0:
if result:
h = mlog.green('YES')
@@ -702,8 +708,8 @@ class CompilerHolder(InterpreterObject):
testname = kwargs.get('name', '')
if not isinstance(testname, str):
raise InterpreterException('Testname argument must be a string.')
- args = mesonlib.stringlistify(kwargs.get('args', []))
- result = self.compiler.links(code, args)
+ extra_args = mesonlib.stringlistify(kwargs.get('args', []))
+ result = self.compiler.links(code, extra_args)
if len(testname) > 0:
if result:
h = mlog.green('YES')
@@ -717,7 +723,8 @@ class CompilerHolder(InterpreterObject):
raise InterpreterException('has_header method takes exactly one argument.')
check_stringlist(args)
string = args[0]
- haz = self.compiler.has_header(string)
+ extra_args = mesonlib.stringlistify(kwargs.get('args', []))
+ haz = self.compiler.has_header(string, extra_args)
if haz:
h = mlog.green('YES')
else: