Always apply concatenate_string_literal.

get_define always applies concatenate_string_literal to its result.
Remove kwarg concatenate_string_literal from get_define.
pull/3744/head
Christoph Behle 7 years ago committed by Nirbheek Chauhan
parent b19b714f37
commit 47c3a26915
  1. 2
      mesonbuild/compilers/c.py
  2. 4
      mesonbuild/interpreter.py
  3. 4
      test cases/common/140 get define/meson.build

@ -569,7 +569,7 @@ class CCompiler(Compiler):
# Get the preprocessed value after the delimiter,
# minus the extra newline at the end and
# merge string literals.
return p.stdo.split(delim + '\n')[-1][:-1]
return CCompiler.concatenate_string_literals(p.stdo.split(delim + '\n')[-1][:-1])
def get_return_value(self, fname, rtype, prefix, env, extra_args, dependencies):
if rtype == 'string':

@ -1174,7 +1174,6 @@ class CompilerHolder(InterpreterObject):
'include_directories',
'args',
'dependencies',
'concatenate_string_literals',
})
def get_define_method(self, args, kwargs):
if len(args) != 1:
@ -1182,15 +1181,12 @@ 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({

@ -82,7 +82,7 @@ foreach lang : ['c', 'cpp']
endif
have = cc.get_define('TEST_VERSION_STR',
prefix : '#include <concat.h>', include_directories: include_directories('.'), concatenate_string_literals: true)
prefix : '#include <concat.h>', include_directories: include_directories('.'))
assert(have == '"6.0.0"', 'TEST_VERSION_STR value is "@0@" instead of ""6.0.0""'.format(have))
concat_examples = {
@ -95,7 +95,7 @@ foreach lang : ['c', 'cpp']
}
foreach def,expected : concat_examples
have = cc.get_define(def,
prefix : '#include <concat.h>', include_directories: include_directories('.'), concatenate_string_literals: true)
prefix : '#include <concat.h>', include_directories: include_directories('.'))
assert(have == expected, '@0@ value is "@1@" instead of "@2@"'.format(def, have, expected))
endforeach
endforeach

Loading…
Cancel
Save