diff options
author | doko@ubuntu.com <doko@ubuntu.com> | 2013-03-21 20:21:49 (GMT) |
---|---|---|
committer | doko@ubuntu.com <doko@ubuntu.com> | 2013-03-21 20:21:49 (GMT) |
commit | d5537d071cc2acada7220431a0eea5931c2e8a2d (patch) | |
tree | eba2ec8207b84f178068d4f86942e962113d7689 /setup.py | |
parent | 03b0116c781f8b2b530c2452d25d9a372c8f3635 (diff) | |
download | cpython-d5537d071cc2acada7220431a0eea5931c2e8a2d.zip cpython-d5537d071cc2acada7220431a0eea5931c2e8a2d.tar.gz cpython-d5537d071cc2acada7220431a0eea5931c2e8a2d.tar.bz2 |
- 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.
Diffstat (limited to 'setup.py')
-rw-r--r-- | setup.py | 13 |
1 files changed, 4 insertions, 9 deletions
@@ -163,13 +163,7 @@ class PyBuildExt(build_ext): def build_extensions(self): # Detect which modules should be compiled - old_so = self.compiler.shared_lib_extension - # Workaround PEP 3149 stuff - self.compiler.shared_lib_extension = os.environ.get("SO", ".so") - try: - missing = self.detect_modules() - finally: - self.compiler.shared_lib_extension = old_so + missing = self.detect_modules() # Remove modules that are present on the disabled list extensions = [ext for ext in self.extensions @@ -1835,7 +1829,8 @@ class PyBuildInstallLib(install_lib): # mode 644 unless they are a shared library in which case they will get # mode 755. All installed directories will get mode 755. - so_ext = sysconfig.get_config_var("SO") + # this is works for EXT_SUFFIX too, which ends with SHLIB_SUFFIX + shlib_suffix = sysconfig.get_config_var("SHLIB_SUFFIX") def install(self): outfiles = install_lib.install(self) @@ -1850,7 +1845,7 @@ class PyBuildInstallLib(install_lib): for filename in files: if os.path.islink(filename): continue mode = defaultMode - if filename.endswith(self.so_ext): mode = sharedLibMode + if filename.endswith(self.shlib_suffix): mode = sharedLibMode log.info("changing mode of %s to %o", filename, mode) if not self.dry_run: os.chmod(filename, mode) |