From 76ad4f0ec9be19ccd341bb0989d8de08671d29f5 Mon Sep 17 00:00:00 2001 From: Tarek Ziade Date: Sat, 21 May 2011 21:48:04 +0200 Subject: [PATCH] fixed the export symbols for the win32 linker --- Lib/packaging/command/build_ext.py | 2 +- Lib/packaging/tests/test_command_build_ext.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Lib/packaging/command/build_ext.py b/Lib/packaging/command/build_ext.py index 9b710411ca5..7803d01821b 100644 --- a/Lib/packaging/command/build_ext.py +++ b/Lib/packaging/command/build_ext.py @@ -589,7 +589,7 @@ class build_ext(Command): provided, "init" + module_name. Only relevant on Windows, where the .pyd file (DLL) must export the module "init" 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 diff --git a/Lib/packaging/tests/test_command_build_ext.py b/Lib/packaging/tests/test_command_build_ext.py index 2d798422b2d..9dfa26b1e16 100644 --- a/Lib/packaging/tests/test_command_build_ext.py +++ b/Lib/packaging/tests/test_command_build_ext.py @@ -239,7 +239,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]})