aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/modules/python3.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-06-25 20:24:14 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2017-06-26 21:10:27 +0300
commit80d665e8decd644d737930d450f0bc66d6b5b02c (patch)
treecb23e0d3b6d814ad4b1ee8b95e0a856e663ab87d /mesonbuild/modules/python3.py
parent7f482824bbd1d21ade16969f0fb0ad23a7065471 (diff)
downloadmeson-80d665e8decd644d737930d450f0bc66d6b5b02c.zip
meson-80d665e8decd644d737930d450f0bc66d6b5b02c.tar.gz
meson-80d665e8decd644d737930d450f0bc66d6b5b02c.tar.bz2
Converted some modules.
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: