mirror of
https://github.com/python/cpython.git
synced 2025-12-04 00:30:19 +00:00
- Issue #16754: Fix the incorrect shared library extension on linux. Introduce
two makefile macros SHLIB_SUFFIX and EXT_SUFFIX. SO now has the value of SHLIB_SUFFIX again (as in 2.x and 3.1). The SO macro is removed in 3.4.
This commit is contained in:
parent
03b0116c78
commit
d5537d071c
13 changed files with 88 additions and 99 deletions
|
|
@ -667,10 +667,10 @@ class build_ext(Command):
|
|||
if os.name == "os2":
|
||||
ext_path[len(ext_path) - 1] = ext_path[len(ext_path) - 1][:8]
|
||||
# extensions in debug_mode are named 'module_d.pyd' under windows
|
||||
so_ext = get_config_var('SO')
|
||||
ext_suffix = get_config_var('EXT_SUFFIX')
|
||||
if os.name == 'nt' and self.debug:
|
||||
return os.path.join(*ext_path) + '_d' + so_ext
|
||||
return os.path.join(*ext_path) + so_ext
|
||||
return os.path.join(*ext_path) + '_d' + ext_suffix
|
||||
return os.path.join(*ext_path) + ext_suffix
|
||||
|
||||
def get_export_symbols(self, ext):
|
||||
"""Return the list of symbols that a shared extension has to
|
||||
|
|
|
|||
|
|
@ -170,9 +170,9 @@ def customize_compiler(compiler):
|
|||
_osx_support.customize_compiler(_config_vars)
|
||||
_config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
|
||||
|
||||
(cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \
|
||||
(cc, cxx, opt, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags) = \
|
||||
get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
|
||||
'CCSHARED', 'LDSHARED', 'SO', 'AR', 'ARFLAGS')
|
||||
'CCSHARED', 'LDSHARED', 'SHLIB_SUFFIX', 'AR', 'ARFLAGS')
|
||||
|
||||
newcc = None
|
||||
if 'CC' in os.environ:
|
||||
|
|
@ -211,7 +211,7 @@ def customize_compiler(compiler):
|
|||
linker_exe=cc,
|
||||
archiver=archiver)
|
||||
|
||||
compiler.shared_lib_extension = so_ext
|
||||
compiler.shared_lib_extension = shlib_suffix
|
||||
|
||||
|
||||
def get_config_h_filename():
|
||||
|
|
@ -466,6 +466,7 @@ def _init_nt():
|
|||
g['INCLUDEPY'] = get_python_inc(plat_specific=0)
|
||||
|
||||
g['SO'] = '.pyd'
|
||||
g['EXT_SUFFIX'] = '.pyd'
|
||||
g['EXE'] = ".exe"
|
||||
g['VERSION'] = get_python_version().replace(".", "")
|
||||
g['BINDIR'] = os.path.dirname(os.path.abspath(sys.executable))
|
||||
|
|
@ -485,6 +486,7 @@ def _init_os2():
|
|||
g['INCLUDEPY'] = get_python_inc(plat_specific=0)
|
||||
|
||||
g['SO'] = '.pyd'
|
||||
g['EXT_SUFFIX'] = '.pyd'
|
||||
g['EXE'] = ".exe"
|
||||
|
||||
global _config_vars
|
||||
|
|
|
|||
|
|
@ -318,8 +318,8 @@ class BuildExtTestCase(TempdirManager,
|
|||
finally:
|
||||
os.chdir(old_wd)
|
||||
self.assertTrue(os.path.exists(so_file))
|
||||
so_ext = sysconfig.get_config_var('SO')
|
||||
self.assertTrue(so_file.endswith(so_ext))
|
||||
ext_suffix = sysconfig.get_config_var('EXT_SUFFIX')
|
||||
self.assertTrue(so_file.endswith(ext_suffix))
|
||||
so_dir = os.path.dirname(so_file)
|
||||
self.assertEqual(so_dir, other_tmp_dir)
|
||||
|
||||
|
|
@ -328,7 +328,7 @@ class BuildExtTestCase(TempdirManager,
|
|||
cmd.run()
|
||||
so_file = cmd.get_outputs()[0]
|
||||
self.assertTrue(os.path.exists(so_file))
|
||||
self.assertTrue(so_file.endswith(so_ext))
|
||||
self.assertTrue(so_file.endswith(ext_suffix))
|
||||
so_dir = os.path.dirname(so_file)
|
||||
self.assertEqual(so_dir, cmd.build_lib)
|
||||
|
||||
|
|
@ -355,7 +355,7 @@ class BuildExtTestCase(TempdirManager,
|
|||
self.assertEqual(lastdir, 'bar')
|
||||
|
||||
def test_ext_fullpath(self):
|
||||
ext = sysconfig.get_config_vars()['SO']
|
||||
ext = sysconfig.get_config_var('EXT_SUFFIX')
|
||||
# building lxml.etree inplace
|
||||
#etree_c = os.path.join(self.tmp_dir, 'lxml.etree.c')
|
||||
#etree_ext = Extension('lxml.etree', [etree_c])
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ from distutils.tests import support
|
|||
def _make_ext_name(modname):
|
||||
if os.name == 'nt' and sys.executable.endswith('_d.exe'):
|
||||
modname += '_d'
|
||||
return modname + sysconfig.get_config_var('SO')
|
||||
return modname + sysconfig.get_config_var('EXT_SUFFIX')
|
||||
|
||||
|
||||
class InstallTestCase(support.TempdirManager,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue