diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2023-07-25 10:04:08 -0700 |
---|---|---|
committer | Eli Schwartz <eschwartz93@gmail.com> | 2023-07-28 17:27:21 -0400 |
commit | 36301eaf8a043fe8cd862f86fd4e8e70e59d9f30 (patch) | |
tree | acdb3c086e8f2a21491a44ffa6af9ee7f671074a /mesonbuild | |
parent | fdbce211b2e34e753308499d3e065ffd6d856c83 (diff) | |
download | meson-36301eaf8a043fe8cd862f86fd4e8e70e59d9f30.zip meson-36301eaf8a043fe8cd862f86fd4e8e70e59d9f30.tar.gz meson-36301eaf8a043fe8cd862f86fd4e8e70e59d9f30.tar.bz2 |
modules/python3: use typed_kwargs for extension_module
Just like python, but for the python3 module
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/modules/python3.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/mesonbuild/modules/python3.py b/mesonbuild/modules/python3.py index 065e8d7..9d16098 100644 --- a/mesonbuild/modules/python3.py +++ b/mesonbuild/modules/python3.py @@ -14,13 +14,21 @@ from __future__ import annotations import sysconfig -from .. import mesonlib +import typing as T +from .. import mesonlib from . import ExtensionModule, ModuleInfo -from ..interpreterbase import typed_pos_args, noPosargs, noKwargs, permittedKwargs +from ..interpreter.type_checking import SHARED_MOD_KWS +from ..interpreterbase import typed_kwargs, typed_pos_args, noPosargs, noKwargs, permittedKwargs from ..build import known_shmod_kwargs from ..programs import ExternalProgram +if T.TYPE_CHECKING: + from ..interpreter.kwargs import SharedModule as SharedModuleKW + + +_MOD_KWARGS = [k for k in SHARED_MOD_KWS if k.name not in {'name_prefix', 'name_suffix'}] + class Python3Module(ExtensionModule): @@ -36,7 +44,8 @@ class Python3Module(ExtensionModule): }) @permittedKwargs(known_shmod_kwargs) - def extension_module(self, state, args, kwargs): + @typed_kwargs('python3.extension_module', *_MOD_KWARGS, allow_unknown=True) + def extension_module(self, state, args, kwargs: SharedModuleKW): if 'name_prefix' in kwargs: raise mesonlib.MesonException('Name_prefix is set automatically, specifying it is forbidden.') if 'name_suffix' in kwargs: |