]> granicus.if.org Git - python/commitdiff
Issues #22980, 23969: For OS X, use PEP 3149-style file names for extension
authorNed Deily <nad@acm.org>
Thu, 16 Apr 2015 00:11:47 +0000 (17:11 -0700)
committerNed Deily <nad@acm.org>
Thu, 16 Apr 2015 00:11:47 +0000 (17:11 -0700)
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.

Lib/test/test_sysconfig.py
Misc/NEWS
configure
configure.ac

index cc704228a26db2cf8c2c550c620656c0fb58008d..c0f27a67cc7297293db3a7dd47cfbe8014a73da8 100644 (file)
@@ -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):
 
index ca7de81ad9ce58137d44dee9106fbe243defc5f8..0074417e31c7fd0f2f4d0cdceb5ba2b8ca22364a 100644 (file)
--- 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.
index 46f82870aabfea70f4da5a3e6a261fbd1f4381c1..2e59ac8da57d417196b67d90db1abca2437992a2 100755 (executable)
--- 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};;
index 26d7b361f4610e25365ca9016c48efa8dce9525b..73a0a2f2aeefb8b5122e70b70fc0cd71fcba7925 100644 (file)
@@ -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};;