From 482c220ace659da67a6175972e0f1a2e54549a9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tarek=20Ziad=C3=A9?= Date: Mon, 18 May 2009 08:05:17 +0000 Subject: Merged revisions 72758 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r72758 | tarek.ziade | 2009-05-18 10:03:37 +0200 (Mon, 18 May 2009) | 1 line Fixed the library extension when distutils build_ext is used inplace ........ --- Lib/distutils/command/build_ext.py | 6 +++--- Lib/distutils/tests/test_build_ext.py | 10 ++++------ Misc/NEWS | 3 +++ 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py index 01bab36..85935d3 100644 --- a/Lib/distutils/command/build_ext.py +++ b/Lib/distutils/command/build_ext.py @@ -635,7 +635,8 @@ class build_ext (Command): base = modpath[-1] build_py = self.get_finalized_command('build_py') package_dir = os.path.abspath(build_py.get_package_dir(package)) - return os.path.join(package_dir, base) + filename = self.get_ext_filename(ext_name) + return os.path.join(package_dir, filename) else: filename = self.get_ext_filename(ext_name) return os.path.join(self.build_lib, filename) @@ -649,12 +650,11 @@ class build_ext (Command): else: return self.package + '.' + ext_name - def get_ext_filename (self, ext_name): + def get_ext_filename(self, ext_name): r"""Convert the name of an extension (eg. "foo.bar") into the name of the file from which it will be loaded (eg. "foo/bar.so", or "foo\bar.pyd"). """ - from distutils.sysconfig import get_config_var ext_path = string.split(ext_name, '.') # OS/2 has an 8 character module (extension) limit :-( diff --git a/Lib/distutils/tests/test_build_ext.py b/Lib/distutils/tests/test_build_ext.py index 21020d3..bd906e3 100644 --- a/Lib/distutils/tests/test_build_ext.py +++ b/Lib/distutils/tests/test_build_ext.py @@ -17,12 +17,6 @@ from test import test_support # Don't load the xx module more than once. ALREADY_TESTED = False -if sys.platform != 'win32': - UNDER_MSVC8 = False -else: - from distutils.msvccompiler import get_build_version - UNDER_MSVC8 = get_build_version() < 8.0 - class BuildExtTestCase(support.TempdirManager, support.LoggingSilencer, unittest.TestCase): @@ -267,6 +261,8 @@ class BuildExtTestCase(support.TempdirManager, finally: os.chdir(old_wd) self.assert_(os.path.exists(so_file)) + self.assertEquals(os.path.splitext(so_file)[-1], + sysconfig.get_config_var('SO')) so_dir = os.path.dirname(so_file) self.assertEquals(so_dir, other_tmp_dir) @@ -274,6 +270,8 @@ class BuildExtTestCase(support.TempdirManager, cmd.run() so_file = cmd.get_outputs()[0] self.assert_(os.path.exists(so_file)) + self.assertEquals(os.path.splitext(so_file)[-1], + sysconfig.get_config_var('SO')) so_dir = os.path.dirname(so_file) self.assertEquals(so_dir, cmd.build_lib) diff --git a/Misc/NEWS b/Misc/NEWS index 23690c2..7981837 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -198,6 +198,9 @@ Core and Builtins Library ------- +- Issue #6046: Fixed the library extension when distutils build_ext is used + inplace. Initial patch by Roumen Petrov. + - Issue #6022: a test file was created in the current working directory by test_get_outputs in Distutils. -- cgit v0.12