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.
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):
- 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.
# endif
#elif defined(__gnu_hurd__)
i386-gnu
+#elif defined(__APPLE__)
+ darwin
#else
# error unknown platform triplet
#endif
case $ac_sys_system in
- Linux*|GNU*)
+ Linux*|GNU*|Darwin)
EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX};;
*)
EXT_SUFFIX=${SHLIB_SUFFIX};;
# endif
#elif defined(__gnu_hurd__)
i386-gnu
+#elif defined(__APPLE__)
+ darwin
#else
# error unknown platform triplet
#endif
AC_SUBST(EXT_SUFFIX)
case $ac_sys_system in
- Linux*|GNU*)
+ Linux*|GNU*|Darwin)
EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX};;
*)
EXT_SUFFIX=${SHLIB_SUFFIX};;