[pypy-commit] pypy default: Merge compile_extension_module() and compile_extension_module_applevel() into a single version that takes a sys_info instead of a space
rlamy
pypy.commits at gmail.com
Wed Sep 7 14:13:50 EDT 2016
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch:
Changeset: r86948:df92d833f490
Date: 2016-09-07 19:13 +0100
http://bitbucket.org/pypy/pypy/changeset/df92d833f490/
Log: Merge compile_extension_module() and
compile_extension_module_applevel() into a single version that takes
a sys_info instead of a space
diff --git a/pypy/module/cpyext/test/test_cpyext.py b/pypy/module/cpyext/test/test_cpyext.py
--- a/pypy/module/cpyext/test/test_cpyext.py
+++ b/pypy/module/cpyext/test/test_cpyext.py
@@ -94,7 +94,7 @@
ext=get_so_extension(space))
-def compile_extension_module(space, modname, include_dirs=[],
+def compile_extension_module(sys_info, modname, include_dirs=[],
source_files=None, source_strings=None):
"""
Build an extension module and return the filename of the resulting native
@@ -106,12 +106,6 @@
Any extra keyword arguments are passed on to ExternalCompilationInfo to
build the module (so specify your source with one of those).
"""
- sys_info = get_cpyext_info(space)
- return _compile_ext(
- modname, include_dirs, source_files, source_strings, sys_info)
-
-
-def _compile_ext(modname, include_dirs, source_files, source_strings, sys_info):
modname = modname.split('.')[-1]
soname = create_so(modname,
include_dirs=sys_info.include_extra + include_dirs,
@@ -151,22 +145,6 @@
link_extra=link_extra,
ext=get_so_suffix())
-def compile_extension_module_applevel(space, modname, include_dirs=[],
- source_files=None, source_strings=None):
- """
- Build an extension module and return the filename of the resulting native
- code file.
-
- modname is the name of the module, possibly including dots if it is a module
- inside a package.
-
- Any extra keyword arguments are passed on to ExternalCompilationInfo to
- build the module (so specify your source with one of those).
- """
- sys_info = get_sys_info_app(space)
- return _compile_ext(
- modname, include_dirs, source_files, source_strings, sys_info)
-
def freeze_refcnts(self):
rawrefcount._dont_free_any_more()
@@ -347,8 +325,8 @@
assert separate_module_sources is not None
else:
separate_module_sources = []
- pydname = self.compile_extension_module(
- space, name,
+ pydname = compile_extension_module(
+ self.sys_info, name,
source_files=separate_module_files,
source_strings=separate_module_sources)
return space.wrap(pydname)
@@ -403,7 +381,7 @@
filename = py.path.local(pypydir) / 'module' \
/ 'cpyext'/ 'test' / (filename + ".c")
kwds = dict(source_files=[filename])
- mod = self.compile_extension_module(space, name,
+ mod = compile_extension_module(self.sys_info, name,
include_dirs=include_dirs, **kwds)
if load_it:
@@ -495,11 +473,11 @@
return run
def wrap(func):
return func
- self.compile_extension_module = compile_extension_module_applevel
+ self.sys_info = get_sys_info_app(space)
else:
interp2app = gateway.interp2app
wrap = self.space.wrap
- self.compile_extension_module = compile_extension_module
+ self.sys_info = get_cpyext_info(space)
self.w_compile_module = wrap(interp2app(compile_module))
self.w_import_module = wrap(interp2app(import_module))
self.w_reimport_module = wrap(interp2app(reimport_module))
More information about the pypy-commit
mailing list