summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/distutils/command/build_ext.py6
-rw-r--r--Lib/distutils/tests/test_build_ext.py10
-rw-r--r--Misc/NEWS3
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.