aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorTristan Partin <tristan@partin.io>2021-08-25 12:33:06 -0500
committerDylan Baker <dylan@pnwbakers.com>2021-08-26 09:51:33 -0700
commit959e1bb2e396fbc4969374121e625fadef701e02 (patch)
tree827e1212bc35880a3aae416a20d0cd50994c305f /mesonbuild
parent1dce556dc25c15eeaad4847c5e49fb5ee5eda8cb (diff)
downloadmeson-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.py9
-rw-r--r--mesonbuild/interpreter/kwargs.py4
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]