aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/modules/python3.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-06-27 04:12:17 -0400
committerGitHub <noreply@github.com>2017-06-27 04:12:17 -0400
commit80ebc916f78ad736494ffee49f100134954acc2c (patch)
tree724f8c7390efd0536fa3a37082414a359ae9fd1f /mesonbuild/modules/python3.py
parentee8fcd5f6729c0481c18309d6ad2beb0fdc67792 (diff)
parent3262be23dc3f01923a1d162a5914ba29f05416b7 (diff)
downloadmeson-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.py13
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: