From: Tarek Ziadé Date: Sat, 11 Jul 2009 10:57:49 +0000 (+0000) Subject: Merged revisions 73946 via svnmerge from X-Git-Tag: v2.6.3rc1~153 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dc692f71435e01c2a2a367a4144f3e8e02a40b33;p=python Merged revisions 73946 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r73946 | tarek.ziade | 2009-07-11 12:55:27 +0200 (Sat, 11 Jul 2009) | 1 line fixed #6459: distutils.command.build_ext.get_export_symbols now uses 'PyInit' ........ --- diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py index 8cb1efe67e..ccc3fe564c 100644 --- a/Lib/distutils/command/build_ext.py +++ b/Lib/distutils/command/build_ext.py @@ -680,11 +680,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" + string.split(ext.name,'.')[-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 diff --git a/Lib/distutils/tests/test_build_ext.py b/Lib/distutils/tests/test_build_ext.py index 153c875644..d992548059 100644 --- a/Lib/distutils/tests/test_build_ext.py +++ b/Lib/distutils/tests/test_build_ext.py @@ -233,7 +233,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]) dist = Distribution({'name': 'xx', 'ext_modules': [ext]}) diff --git a/Misc/NEWS b/Misc/NEWS index abb01e4553..cb801f4037 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -262,6 +262,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 #6403: Fixed package path usage in build_ext.