diff options
author | Tristan Partin <tristan@partin.io> | 2021-08-25 12:33:06 -0500 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2021-08-26 09:51:33 -0700 |
commit | 959e1bb2e396fbc4969374121e625fadef701e02 (patch) | |
tree | 827e1212bc35880a3aae416a20d0cd50994c305f /mesonbuild | |
parent | 1dce556dc25c15eeaad4847c5e49fb5ee5eda8cb (diff) | |
download | meson-959e1bb2e396fbc4969374121e625fadef701e02.zip meson-959e1bb2e396fbc4969374121e625fadef701e02.tar.gz meson-959e1bb2e396fbc4969374121e625fadef701e02.tar.bz2 |
Add typed_kwargs to add_languages()
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/interpreter/interpreter.py | 9 | ||||
-rw-r--r-- | mesonbuild/interpreter/kwargs.py | 4 |
2 files changed, 9 insertions, 4 deletions
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index f5820c5..35529a3 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -1099,17 +1099,18 @@ external dependencies (including libraries) must go to "dependencies".''') if not self.is_subproject(): self.check_stdlibs() - @FeatureNewKwargs('add_languages', '0.54.0', ['native']) - @permittedKwargs({'required', 'native'}) + @typed_kwargs('add_languages', KwargInfo('native', (bool, type(None)), since='0.54.0'), REQUIRED_KW) @typed_pos_args('add_languages', varargs=str) - def func_add_languages(self, node: mparser.FunctionNode, args: T.Tuple[T.List[str]], kwargs: 'TYPE_kwargs') -> bool: + def func_add_languages(self, node: mparser.FunctionNode, args: T.Tuple[T.List[str]], kwargs: 'kwargs.FuncAddLanguages') -> bool: langs = args[0] disabled, required, feature = extract_required_kwarg(kwargs, self.subproject) + native = kwargs['native'] + if disabled: for lang in sorted(langs, key=compilers.sort_clink): mlog.log('Compiler for language', mlog.bold(lang), 'skipped: feature', mlog.bold(feature), 'disabled') return False - if 'native' in kwargs: + if native is not None: return self.add_languages(langs, required, self.machine_from_native_kwarg(kwargs)) else: # absent 'native' means 'both' for backwards compatibility diff --git a/mesonbuild/interpreter/kwargs.py b/mesonbuild/interpreter/kwargs.py index dc9585d..77826cb 100644 --- a/mesonbuild/interpreter/kwargs.py +++ b/mesonbuild/interpreter/kwargs.py @@ -152,3 +152,7 @@ class FuncImportModule(ExtractRequired): class FuncIncludeDirectories(TypedDict): is_system: bool + +class FuncAddLanguages(ExtractRequired): + + native: T.Optional[bool] |