aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2023-07-25 10:04:08 -0700
committerEli Schwartz <eschwartz93@gmail.com>2023-07-28 17:27:21 -0400
commit36301eaf8a043fe8cd862f86fd4e8e70e59d9f30 (patch)
treeacdb3c086e8f2a21491a44ffa6af9ee7f671074a /mesonbuild
parentfdbce211b2e34e753308499d3e065ffd6d856c83 (diff)
downloadmeson-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.py15
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: