aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2023-07-25 10:08:45 -0700
committerEli Schwartz <eschwartz93@gmail.com>2023-07-28 17:27:21 -0400
commit10a94d3e751ddff0121de41c17f16b4d24f8f3b3 (patch)
treebb8dfb8dba6e2c1a2b402626c876b9a7dac6bd57 /mesonbuild
parent36301eaf8a043fe8cd862f86fd4e8e70e59d9f30 (diff)
downloadmeson-10a94d3e751ddff0121de41c17f16b4d24f8f3b3.zip
meson-10a94d3e751ddff0121de41c17f16b4d24f8f3b3.tar.gz
meson-10a94d3e751ddff0121de41c17f16b4d24f8f3b3.tar.bz2
modules/python3: use typed_pos_args for extension_module
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/modules/python3.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/mesonbuild/modules/python3.py b/mesonbuild/modules/python3.py
index 9d16098..90ee952 100644
--- a/mesonbuild/modules/python3.py
+++ b/mesonbuild/modules/python3.py
@@ -17,13 +17,17 @@ import sysconfig
import typing as T
from .. import mesonlib
-from . import ExtensionModule, ModuleInfo
+from . import ExtensionModule, ModuleInfo, ModuleState
+from ..build import (
+ BuildTarget, CustomTarget, CustomTargetIndex, ExtractedObjects,
+ GeneratedList, SharedModule, StructuredSources, known_shmod_kwargs
+)
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.interpreter import BuildTargetSource
from ..interpreter.kwargs import SharedModule as SharedModuleKW
@@ -44,8 +48,9 @@ class Python3Module(ExtensionModule):
})
@permittedKwargs(known_shmod_kwargs)
+ @typed_pos_args('python3.extension_module', str, varargs=(str, mesonlib.File, CustomTarget, CustomTargetIndex, GeneratedList, StructuredSources, ExtractedObjects, BuildTarget))
@typed_kwargs('python3.extension_module', *_MOD_KWARGS, allow_unknown=True)
- def extension_module(self, state, args, kwargs: SharedModuleKW):
+ def extension_module(self, state: ModuleState, args: T.Tuple[str, T.List[BuildTargetSource]], kwargs: SharedModuleKW):
if 'name_prefix' in kwargs:
raise mesonlib.MesonException('Name_prefix is set automatically, specifying it is forbidden.')
if 'name_suffix' in kwargs:
@@ -61,7 +66,7 @@ class Python3Module(ExtensionModule):
suffix = []
kwargs['name_prefix'] = ''
kwargs['name_suffix'] = suffix
- return self.interpreter.func_shared_module(None, args, kwargs)
+ return self.interpreter.build_target(state.current_node, args, kwargs, SharedModule)
@noPosargs
@noKwargs