Handle strings in cross file args. Closes #4671.

pull/4711/head
Jussi Pakkanen 5 years ago
parent ee555e37c9
commit 6c76ac8017
  1. 2
      cross/ubuntu-armhf.txt
  2. 4
      mesonbuild/compilers/compilers.py
  3. 12
      test cases/common/137 get define/meson.build

@ -12,7 +12,7 @@ pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'
root = '/usr/arm-linux-gnueabihf'
# Used in unit test '140 get define'
c_args = ['-DMESON_TEST_ISSUE_1665=1']
cpp_args = ['-DMESON_TEST_ISSUE_1665=1']
cpp_args = '-DMESON_TEST_ISSUE_1665=1'
has_function_printf = true
has_function_hfkerhisadf = false

@ -1048,10 +1048,10 @@ class Compiler:
if 'properties' in environment.cross_info.config:
props = environment.cross_info.config['properties']
lang_args_key = self.language + '_args'
extra_flags += props.get(lang_args_key, [])
extra_flags += mesonlib.stringlistify(props.get(lang_args_key, []))
lang_link_args_key = self.language + '_link_args'
if link:
extra_flags += props.get(lang_link_args_key, [])
extra_flags += mesonlib.stringlistify(props.get(lang_link_args_key, []))
return extra_flags
def _get_compile_output(self, dirname, mode):

@ -67,15 +67,9 @@ foreach lang : ['c', 'cpp']
run_1665_test = false
if meson.is_cross_build()
# Can't use an empty array as a fallback here because of
# https://github.com/mesonbuild/meson/issues/1481
lang_args = meson.get_cross_property(lang + '_args', [])
if lang_args.length() != 0
foreach lang_arg : lang_args
if lang_arg.contains('MESON_TEST_ISSUE_1665')
run_1665_test = true
endif
endforeach
lang_arg = meson.get_cross_property(lang + '_args', '')
if lang_arg == '-DMESON_TEST_ISSUE_1665=1'
run_1665_test = true
endif
endif

Loading…
Cancel
Save