diff options
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 8645b68..f9841bd 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -597,6 +597,7 @@ class CompilerHolder(InterpreterObject): 'find_library': self.find_library_method, 'has_argument' : self.has_argument_method, 'first_supported_argument' : self.first_supported_argument_method, + 'unittest_args' : self.unittest_args_method, }) def version_method(self, args, kwargs): @@ -650,6 +651,12 @@ class CompilerHolder(InterpreterObject): def get_id_method(self, args, kwargs): return self.compiler.get_id() + def unittest_args_method(self, args, kwargs): + # At time, only D compilers have this feature. + if not hasattr(self.compiler, 'get_unittest_args'): + raise InterpreterException('This {} compiler has no unittest arguments.'.format(self.compiler.language)) + return self.compiler.get_unittest_args() + def has_member_method(self, args, kwargs): if len(args) != 2: raise InterpreterException('Has_member takes exactly two arguments.') @@ -1566,6 +1573,10 @@ class Interpreter(): comp = self.environment.detect_vala_compiler() if need_cross_compiler: cross_comp = comp # Vala is too (I think). + elif lang == 'd': + comp = self.environment.detect_d_compiler() + if need_cross_compiler: + cross_comp = comp # D as well (AFAIK). elif lang == 'rust': comp = self.environment.detect_rust_compiler() if need_cross_compiler: |