diff options
author | doko@ubuntu.com <doko@ubuntu.com> | 2013-03-21 20:39:52 (GMT) |
---|---|---|
committer | doko@ubuntu.com <doko@ubuntu.com> | 2013-03-21 20:39:52 (GMT) |
commit | 6d3d0fe0b2ebb3628167fb90a6ffd51c3b73046b (patch) | |
tree | 9f03bd9e07f9425fe8bb611334478d1c621878eb /setup.py | |
parent | d06b35c1b6ef9e49c455bb4e163ce056bf80d073 (diff) | |
parent | 1621d77fc8fb2385d26c7de39f55df60426ec6ec (diff) | |
download | cpython-6d3d0fe0b2ebb3628167fb90a6ffd51c3b73046b.zip cpython-6d3d0fe0b2ebb3628167fb90a6ffd51c3b73046b.tar.gz cpython-6d3d0fe0b2ebb3628167fb90a6ffd51c3b73046b.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
@@ -169,13 +169,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 @@ -2066,7 +2060,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) @@ -2081,7 +2076,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) |