aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
authorChristoph Behle <behlec@gmail.com>2018-06-10 21:32:45 +0200
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2018-06-12 00:14:54 +0000
commit40d121d33ee10004c0018df2f8ec2665569ff2db (patch)
treefdefbdb24a93ac457467b55746bba65fbcf6b26c /mesonbuild/interpreter.py
parentbbb893f39e0bf7424a7104dcc15b449c69b9103e (diff)
downloadmeson-40d121d33ee10004c0018df2f8ec2665569ff2db.zip
meson-40d121d33ee10004c0018df2f8ec2665569ff2db.tar.gz
meson-40d121d33ee10004c0018df2f8ec2665569ff2db.tar.bz2
get_define can concatenate string literals.
Added method concatenate_string_literals to CCompiler. Will concatenate string literals. Added keyword argument 'concatenate_string_literals' to Compiler.get_define. If used will apply concatenate_string_literals to its return value.
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r--mesonbuild/interpreter.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 421ddd9..e4ba63c 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -1174,6 +1174,7 @@ class CompilerHolder(InterpreterObject):
'include_directories',
'args',
'dependencies',
+ 'concatenate_string_literals',
})
def get_define_method(self, args, kwargs):
if len(args) != 1:
@@ -1181,12 +1182,15 @@ class CompilerHolder(InterpreterObject):
check_stringlist(args)
element = args[0]
prefix = kwargs.get('prefix', '')
+ concatenate = kwargs.pop('concatenate_string_literals', False)
if not isinstance(prefix, str):
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)
mlog.log('Fetching value of define "%s": %s' % (element, value))
+ if concatenate:
+ value = self.compiler.concatenate_string_literals(value)
return value
@permittedKwargs({