fixed #6459: distutils.command.build_ext.get_export_symbols now uses 'PyInit'
This commit is contained in:
parent
b7e14eda6e
commit
23a3775cc8
|
@ -732,10 +732,10 @@ class build_ext(Command):
|
|||
def get_export_symbols(self, ext):
|
||||
"""Return the list of symbols that a shared extension has to
|
||||
export. This either uses 'ext.export_symbols' or, if it's not
|
||||
provided, "init" + module_name. Only relevant on Windows, where
|
||||
the .pyd file (DLL) must export the module "init" function.
|
||||
provided, "PyInit_" + module_name. Only relevant on Windows, where
|
||||
the .pyd file (DLL) must export the module "PyInit_" function.
|
||||
"""
|
||||
initfunc_name = "init" + ext.name.split('.')[-1]
|
||||
initfunc_name = "PyInit_" + ext.name.split('.')[-1]
|
||||
if initfunc_name not in ext.export_symbols:
|
||||
ext.export_symbols.append(initfunc_name)
|
||||
return ext.export_symbols
|
||||
|
|
|
@ -299,7 +299,7 @@ class BuildExtTestCase(support.TempdirManager,
|
|||
def test_get_outputs(self):
|
||||
tmp_dir = self.mkdtemp()
|
||||
c_file = os.path.join(tmp_dir, 'foo.c')
|
||||
self.write_file(c_file, 'void initfoo(void) {};\n')
|
||||
self.write_file(c_file, 'void PyInit_foo(void) {};\n')
|
||||
ext = Extension('foo', [c_file], optional=False)
|
||||
dist = Distribution({'name': 'xx',
|
||||
'ext_modules': [ext]})
|
||||
|
|
|
@ -350,6 +350,9 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #6459: distutils.command.build_ext.get_export_symbols now uses the
|
||||
"PyInit" prefix, rather than "init".
|
||||
|
||||
- Issue #6455: Fixed test_build_ext under win32.
|
||||
|
||||
- Issue #6377: Enabled the compiler option, and deprecate its usage as an
|
||||
|
|
Loading…
Reference in New Issue