diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2017-06-27 04:12:17 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-27 04:12:17 -0400 |
commit | 80ebc916f78ad736494ffee49f100134954acc2c (patch) | |
tree | 724f8c7390efd0536fa3a37082414a359ae9fd1f /mesonbuild/modules/python3.py | |
parent | ee8fcd5f6729c0481c18309d6ad2beb0fdc67792 (diff) | |
parent | 3262be23dc3f01923a1d162a5914ba29f05416b7 (diff) | |
download | meson-80ebc916f78ad736494ffee49f100134954acc2c.zip meson-80ebc916f78ad736494ffee49f100134954acc2c.tar.gz meson-80ebc916f78ad736494ffee49f100134954acc2c.tar.bz2 |
Merge pull request #2001 from mesonbuild/kwcheck
Decorator to check for unknown keyword arguments
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: |