Handle strings in cross file args. Closes #4671.

pull/4711/head
Jussi Pakkanen 6 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' root = '/usr/arm-linux-gnueabihf'
# Used in unit test '140 get define' # Used in unit test '140 get define'
c_args = ['-DMESON_TEST_ISSUE_1665=1'] 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_printf = true
has_function_hfkerhisadf = false has_function_hfkerhisadf = false

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

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

Loading…
Cancel
Save