aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-09-01 18:32:27 +0300
committerGitHub <noreply@github.com>2017-09-01 18:32:27 +0300
commit437fc04da1a6961cc27510d58d2f0a38b71eb526 (patch)
tree5553eba398fda7b96f47cb1896c86fbc2915cbe4 /mesonbuild/interpreter.py
parent7fb1973caca249e284ba6bec7e7a7b2439f9721f (diff)
parent552c15b978434456780f9efea1e7f05b21b1208f (diff)
downloadmeson-437fc04da1a6961cc27510d58d2f0a38b71eb526.zip
meson-437fc04da1a6961cc27510d58d2f0a38b71eb526.tar.gz
meson-437fc04da1a6961cc27510d58d2f0a38b71eb526.tar.bz2
Merge pull request #1614 from fooishbar/cc-filter-args
Add Compiler.filter_arguments()
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r--mesonbuild/interpreter.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 313f430..72df3c7 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -652,6 +652,7 @@ class CompilerHolder(InterpreterObject):
'find_library': self.find_library_method,
'has_argument': self.has_argument_method,
'has_multi_arguments': self.has_multi_arguments_method,
+ 'get_supported_arguments': self.get_supported_arguments_method,
'first_supported_argument': self.first_supported_argument_method,
'unittest_args': self.unittest_args_method,
'symbols_have_underscore_prefix': self.symbols_have_underscore_prefix_method,
@@ -1013,6 +1014,22 @@ class CompilerHolder(InterpreterObject):
h)
return result
+ def get_supported_arguments_method(self, args, kwargs):
+ args = mesonlib.stringlistify(args)
+ result = self.compiler.get_supported_arguments(args, self.environment)
+ if len(result) == len(args):
+ h = mlog.green('YES')
+ elif len(result) > 0:
+ h = mlog.yellow('SOME')
+ else:
+ h = mlog.red('NO')
+ mlog.log(
+ 'Compiler for {} supports arguments {}:'.format(
+ self.compiler.get_display_language(), ' '.join(args)),
+ h)
+ return result
+
+
def first_supported_argument_method(self, args, kwargs):
for i in mesonlib.stringlistify(args):
if self.compiler.has_argument(i, self.environment):