changeset: 95684:32c24eec035f user: Ned Deily date: Wed Apr 15 17:11:47 2015 -0700 files: Lib/test/test_sysconfig.py Misc/NEWS configure configure.ac description: 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. diff -r fc0e79387a3a -r 32c24eec035f Lib/test/test_sysconfig.py --- a/Lib/test/test_sysconfig.py Thu Apr 16 02:31:14 2015 +0300 +++ b/Lib/test/test_sysconfig.py Wed Apr 15 17:11:47 2015 -0700 @@ -404,6 +404,10 @@ 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 -r fc0e79387a3a -r 32c24eec035f Misc/NEWS --- a/Misc/NEWS Thu Apr 16 02:31:14 2015 +0300 +++ b/Misc/NEWS Wed Apr 15 17:11:47 2015 -0700 @@ -12,7 +12,8 @@ - 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 -r fc0e79387a3a -r 32c24eec035f configure --- a/configure Thu Apr 16 02:31:14 2015 +0300 +++ b/configure Wed Apr 15 17:11:47 2015 -0700 @@ -5167,6 +5167,8 @@ # endif #elif defined(__gnu_hurd__) i386-gnu +#elif defined(__APPLE__) + darwin #else # error unknown platform triplet #endif @@ -14359,7 +14361,7 @@ case $ac_sys_system in - Linux*|GNU*) + Linux*|GNU*|Darwin) EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX};; *) EXT_SUFFIX=${SHLIB_SUFFIX};; diff -r fc0e79387a3a -r 32c24eec035f configure.ac --- a/configure.ac Thu Apr 16 02:31:14 2015 +0300 +++ b/configure.ac Wed Apr 15 17:11:47 2015 -0700 @@ -826,6 +826,8 @@ # endif #elif defined(__gnu_hurd__) i386-gnu +#elif defined(__APPLE__) + darwin #else # error unknown platform triplet #endif @@ -4310,7 +4312,7 @@ AC_SUBST(EXT_SUFFIX) case $ac_sys_system in - Linux*|GNU*) + Linux*|GNU*|Darwin) EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX};; *) EXT_SUFFIX=${SHLIB_SUFFIX};;