mirror of https://github.com/python/cpython
Fixed the library extension when distutils build_ext is used inplace
This commit is contained in:
parent
5605416100
commit
fcc7f039ec
|
@ -649,7 +649,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)
|
||||
|
@ -663,12 +664,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 :-(
|
||||
|
|
|
@ -19,12 +19,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
|
||||
|
||||
def _get_source_filename():
|
||||
srcdir = sysconfig.get_config_var('srcdir')
|
||||
return os.path.join(srcdir, 'Modules', 'xxmodule.c')
|
||||
|
@ -299,7 +293,6 @@ class BuildExtTestCase(support.TempdirManager,
|
|||
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 @@ 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)
|
||||
|
||||
|
@ -336,6 +331,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)
|
||||
|
||||
|
|
Loading…
Reference in New Issue