summaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/compilers.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/compilers/compilers.py')
-rw-r--r--mesonbuild/compilers/compilers.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index 1432afb85..5777f19f1 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -1359,6 +1359,15 @@ class Compiler(HoldableObject, metaclass=abc.ABCMeta):
def form_compileropt_key(self, basename: str) -> OptionKey:
return OptionKey(f'{self.language}_{basename}', machine=self.for_machine)
+ def _update_language_stds(self, opts: MutableKeyedOptionDictType, value: T.List[str]) -> None:
+ key = self.form_compileropt_key('std')
+ std = opts[key]
+ assert isinstance(std, (options.UserStdOption, options.UserComboOption)), 'for mypy'
+ if 'none' not in value:
+ value = ['none'] + value
+ std.choices = value
+
+
def get_global_options(lang: str,
comp: T.Type[Compiler],
for_machine: MachineChoice,
@@ -1374,12 +1383,12 @@ def get_global_options(lang: str,
comp_options = env.options.get(comp_key, [])
link_options = env.options.get(largkey, [])
- cargs = options.UserArrayOption(
+ cargs = options.UserStringArrayOption(
f'{lang}_{argkey.name}',
description + ' compiler',
comp_options, split_args=True, allow_dups=True)
- largs = options.UserArrayOption(
+ largs = options.UserStringArrayOption(
f'{lang}_{largkey.name}',
description + ' linker',
link_options, split_args=True, allow_dups=True)