Skip to content

Commit 2647f18

Browse files
xclaessenirbheek
authored andcommitted
Make sure we support "<lang>_args" kwarg for all languages
1 parent 2000ece commit 2647f18

File tree

1 file changed

+8
-25
lines changed

1 file changed

+8
-25
lines changed

mesonbuild/build.py

Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
MesonBugException,
3737
)
3838
from .compilers import (
39-
Compiler, is_object, clink_langs, sort_clink, lang_suffixes,
39+
Compiler, is_object, clink_langs, sort_clink, lang_suffixes, all_languages,
4040
is_known_suffix, detect_static_linker, detect_compiler_for
4141
)
4242
from .linkers import StaticLinker
@@ -54,23 +54,12 @@
5454

5555
pch_kwargs = {'c_pch', 'cpp_pch'}
5656

57-
lang_arg_kwargs = {
58-
'c_args',
59-
'cpp_args',
60-
'cuda_args',
61-
'd_args',
57+
lang_arg_kwargs = {f'{lang}_args' for lang in all_languages}
58+
lang_arg_kwargs |= {
6259
'd_import_dirs',
6360
'd_unittest',
6461
'd_module_versions',
6562
'd_debug',
66-
'fortran_args',
67-
'java_args',
68-
'objc_args',
69-
'objcpp_args',
70-
'rust_args',
71-
'vala_args',
72-
'cs_args',
73-
'cython_args',
7463
}
7564

7665
vala_kwargs = {'vala_header', 'vala_gir', 'vala_vapi'}
@@ -1078,24 +1067,18 @@ def process_kwargs(self, kwargs, environment):
10781067
for linktarget in lwhole:
10791068
self.link_whole(linktarget)
10801069

1081-
c_pchlist, cpp_pchlist, clist, cpplist, cudalist, cslist, valalist, objclist, objcpplist, fortranlist, rustlist \
1082-
= (extract_as_list(kwargs, c) for c in ['c_pch', 'cpp_pch', 'c_args', 'cpp_args', 'cuda_args', 'cs_args', 'vala_args', 'objc_args', 'objcpp_args', 'fortran_args', 'rust_args'])
1070+
for lang in all_languages:
1071+
lang_args = extract_as_list(kwargs, f'{lang}_args')
1072+
self.add_compiler_args(lang, lang_args)
10831073

1084-
self.add_pch('c', c_pchlist)
1085-
self.add_pch('cpp', cpp_pchlist)
1086-
compiler_args = {'c': clist, 'cpp': cpplist, 'cuda': cudalist, 'cs': cslist, 'vala': valalist, 'objc': objclist, 'objcpp': objcpplist,
1087-
'fortran': fortranlist, 'rust': rustlist
1088-
}
1089-
for key, value in compiler_args.items():
1090-
self.add_compiler_args(key, value)
1074+
self.add_pch('c', extract_as_list(kwargs, 'c_pch'))
1075+
self.add_pch('cpp', extract_as_list(kwargs, 'cpp_pch'))
10911076

10921077
if not isinstance(self, Executable) or 'export_dynamic' in kwargs:
10931078
self.vala_header = kwargs.get('vala_header', self.name + '.h')
10941079
self.vala_vapi = kwargs.get('vala_vapi', self.name + '.vapi')
10951080
self.vala_gir = kwargs.get('vala_gir', None)
10961081

1097-
dlist = stringlistify(kwargs.get('d_args', []))
1098-
self.add_compiler_args('d', dlist)
10991082
dfeatures = dict()
11001083
dfeature_unittest = kwargs.get('d_unittest', False)
11011084
if dfeature_unittest:

0 commit comments

Comments
 (0)