summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Behle <behlec@gmail.com>2018-06-11 20:24:49 +0200
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2018-06-18 07:52:15 +0000
commit93b5a42adac4f06173020ab272c3a070a2dfdf6a (patch)
treea3a9734cd2de2c044bf9f9bd13c1bfb62bb3cf9b
parentd2d1a7c573805236cc42490a9e7a5127ad02e051 (diff)
downloadmeson-93b5a42adac4f06173020ab272c3a070a2dfdf6a.tar.gz
Test if compiler supports get_define.
Raise an InterpreterError for a clean error message if get_define is not supported by the compiler.
-rw-r--r--mesonbuild/interpreter.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 3de58bd20..5888ef44d 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -1234,7 +1234,10 @@ class CompilerHolder(InterpreterObject):
raise InterpreterException('Prefix argument of get_define() must be a string.')
extra_args = self.determine_args(kwargs)
deps = self.determine_dependencies(kwargs)
- value = self.compiler.get_define(element, prefix, self.environment, extra_args, deps)
+ if hasattr(self.compiler, 'get_define'):
+ value = self.compiler.get_define(element, prefix, self.environment, extra_args, deps)
+ else:
+ raise InterpreterException('get_define is not supported for compiler ' + self.compiler.language)
mlog.log('Fetching value of define "%s": %s' % (element, value))
return value