diff options
Diffstat (limited to 'mesonbuild/modules/python3.py')
-rw-r--r-- | mesonbuild/modules/python3.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/mesonbuild/modules/python3.py b/mesonbuild/modules/python3.py index 9f01043..6431047 100644 --- a/mesonbuild/modules/python3.py +++ b/mesonbuild/modules/python3.py @@ -18,6 +18,11 @@ from .. import mesonlib, dependencies from . import ExtensionModule from mesonbuild.modules import ModuleReturnValue +from . import noKwargs, permittedSnippetKwargs +from ..interpreter import shlib_kwargs + +mod_kwargs = set() +mod_kwargs.update(shlib_kwargs) class Python3Module(ExtensionModule): @@ -25,6 +30,7 @@ class Python3Module(ExtensionModule): super().__init__() self.snippets.add('extension_module') + @permittedSnippetKwargs(mod_kwargs) def extension_module(self, interpreter, state, args, kwargs): if 'name_prefix' in kwargs: raise mesonlib.MesonException('Name_prefix is set automatically, specifying it is forbidden.') @@ -43,20 +49,19 @@ class Python3Module(ExtensionModule): kwargs['name_suffix'] = suffix return interpreter.func_shared_module(None, args, kwargs) + @noKwargs def find_python(self, state, args, kwargs): py3 = dependencies.ExternalProgram('python3', sys.executable, silent=True) return ModuleReturnValue(py3, [py3]) + @noKwargs def language_version(self, state, args, kwargs): - if args or kwargs: - raise mesonlib.MesonException('language_version() takes no arguments.') return ModuleReturnValue(sysconfig.get_python_version(), []) + @noKwargs def sysconfig_path(self, state, args, kwargs): if len(args) != 1: raise mesonlib.MesonException('sysconfig_path() requires passing the name of path to get.') - if kwargs: - raise mesonlib.MesonException('sysconfig_path() does not accept keywords.') path_name = args[0] valid_names = sysconfig.get_path_names() if path_name not in valid_names: |