[Python-checkins] r73947 - in python/branches/release26-maint: Lib/distutils/command/build_ext.py Lib/distutils/tests/test_build_ext.py Misc/NEWS

tarek.ziade python-checkins at python.org
Sat Jul 11 12:57:49 CEST 2009


Author: tarek.ziade
Date: Sat Jul 11 12:57:49 2009
New Revision: 73947

Log:
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'
........


Modified:
   python/branches/release26-maint/   (props changed)
   python/branches/release26-maint/Lib/distutils/command/build_ext.py
   python/branches/release26-maint/Lib/distutils/tests/test_build_ext.py
   python/branches/release26-maint/Misc/NEWS

Modified: python/branches/release26-maint/Lib/distutils/command/build_ext.py
==============================================================================
--- python/branches/release26-maint/Lib/distutils/command/build_ext.py	(original)
+++ python/branches/release26-maint/Lib/distutils/command/build_ext.py	Sat Jul 11 12:57:49 2009
@@ -680,11 +680,10 @@
     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

Modified: python/branches/release26-maint/Lib/distutils/tests/test_build_ext.py
==============================================================================
--- python/branches/release26-maint/Lib/distutils/tests/test_build_ext.py	(original)
+++ python/branches/release26-maint/Lib/distutils/tests/test_build_ext.py	Sat Jul 11 12:57:49 2009
@@ -233,7 +233,7 @@
     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]})

Modified: python/branches/release26-maint/Misc/NEWS
==============================================================================
--- python/branches/release26-maint/Misc/NEWS	(original)
+++ python/branches/release26-maint/Misc/NEWS	Sat Jul 11 12:57:49 2009
@@ -262,6 +262,9 @@
 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.


More information about the Python-checkins mailing list