summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNed Deily <nad@acm.org>2015-04-16 00:11:47 (GMT)
committerNed Deily <nad@acm.org>2015-04-16 00:11:47 (GMT)
commit3b8124884c3655b4cf2629d741b18c1a38181805 (patch)
treee783186567c2f18bbe7f5ec0f94d3f0341e12b7d
parent20416f7994d1efbca1158e549ec8ece5ac4dbb67 (diff)
downloadcpython-3b8124884c3655b4cf2629d741b18c1a38181805.zip
cpython-3b8124884c3655b4cf2629d741b18c1a38181805.tar.gz
cpython-3b8124884c3655b4cf2629d741b18c1a38181805.tar.bz2
Issues #22980, 23969: For OS X, use PEP 3149-style file names for extension
module binaries, with a platform triple of just "darwin", resulting in file names like: _ssl.cpython-35m-darwin.so rather than just _ssl.so as previously. Instead of attempting to encode differences in CPU architecture and OS X deployment targets in the file name as is done on other platforms, these continue to be managed by the use of Apple multi-architecture ("fat") files, by the system dynamic loader, and by logic in higher-levels like sysconfig.get_platform() and pip.
-rw-r--r--Lib/test/test_sysconfig.py4
-rw-r--r--Misc/NEWS3
-rwxr-xr-xconfigure4
-rw-r--r--configure.ac4
4 files changed, 12 insertions, 3 deletions
diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
index cc70422..c0f27a6 100644
--- a/Lib/test/test_sysconfig.py
+++ b/Lib/test/test_sysconfig.py
@@ -404,6 +404,10 @@ class TestSysConfig(unittest.TestCase):
else: # 8 byte pointer size
self.assertTrue(suffix.endswith('x86_64-linux-gnu.so'), suffix)
+ @unittest.skipUnless(sys.platform == 'darwin', 'OS X-specific test')
+ def test_osx_ext_suffix(self):
+ suffix = sysconfig.get_config_var('EXT_SUFFIX')
+ self.assertTrue(suffix.endswith('-darwin.so'), suffix)
class MakefileTests(unittest.TestCase):
diff --git a/Misc/NEWS b/Misc/NEWS
index ca7de81..0074417 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,7 +12,8 @@ Core and Builtins
- Issue #22980: Under Linux, GNU/KFreeBSD and the Hurd, C extensions now include
the architecture triplet in the extension name, to make it easy to test builds
- for different ABIs in the same working tree.
+ for different ABIs in the same working tree. Under OS X, the extension name
+ now includes PEP 3149-style information.
- Issue #22631: Added Linux-specific socket constant CAN_RAW_FD_FRAMES.
Patch courtesy of Joe Jevnik.
diff --git a/configure b/configure
index 46f8287..2e59ac8 100755
--- a/configure
+++ b/configure
@@ -5167,6 +5167,8 @@ cat >> conftest.c <<EOF
# endif
#elif defined(__gnu_hurd__)
i386-gnu
+#elif defined(__APPLE__)
+ darwin
#else
# error unknown platform triplet
#endif
@@ -14359,7 +14361,7 @@ $as_echo "$SOABI" >&6; }
case $ac_sys_system in
- Linux*|GNU*)
+ Linux*|GNU*|Darwin)
EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX};;
*)
EXT_SUFFIX=${SHLIB_SUFFIX};;
diff --git a/configure.ac b/configure.ac
index 26d7b36..73a0a2f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -826,6 +826,8 @@ cat >> conftest.c <<EOF
# endif
#elif defined(__gnu_hurd__)
i386-gnu
+#elif defined(__APPLE__)
+ darwin
#else
# error unknown platform triplet
#endif
@@ -4310,7 +4312,7 @@ AC_MSG_RESULT($SOABI)
AC_SUBST(EXT_SUFFIX)
case $ac_sys_system in
- Linux*|GNU*)
+ Linux*|GNU*|Darwin)
EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX};;
*)
EXT_SUFFIX=${SHLIB_SUFFIX};;