diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py index c39bd72d624..eb4cb051c40 100644 --- a/Lib/distutils/command/build_ext.py +++ b/Lib/distutils/command/build_ext.py @@ -636,7 +636,8 @@ def get_ext_fullpath(self, ext_name): 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) diff --git a/Lib/distutils/tests/test_build_ext.py b/Lib/distutils/tests/test_build_ext.py index 764aa727d12..add2923b87b 100644 --- a/Lib/distutils/tests/test_build_ext.py +++ b/Lib/distutils/tests/test_build_ext.py @@ -20,12 +20,6 @@ # 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 - def _get_source_filename(): srcdir = sysconfig.get_config_var('srcdir') return os.path.join(srcdir, 'Modules', 'xxmodule.c') @@ -299,7 +293,6 @@ def test_compiler_option(self): cmd.run() self.assertEquals(cmd.compiler, 'unix') - @unittest.skipIf(UNDER_MSVC8, 'not running this test for MSVC < 8') def test_get_outputs(self): tmp_dir = self.mkdtemp() c_file = os.path.join(tmp_dir, 'foo.c') @@ -329,6 +322,8 @@ def test_get_outputs(self): 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) @@ -336,6 +331,8 @@ def test_get_outputs(self): 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 bf4a0dd1955..87e471e7b69 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -618,6 +618,9 @@ Core and Builtins Library ------- +- Issue #6046: Fixed the library extension when distutils build_ext is used + inplace. Initial patch by Roumen Petrov. + - Issue #6041: Now distutils `sdist` and `register` commands use `check` as a subcommand.