Issue #22980: Under Linux, C extensions now include bitness in the file name,

to make it easy to test 32-bit and 64-bit builds in the same working tree.
This commit is contained in:
Antoine Pitrou 2015-03-08 20:43:10 +01:00
parent af098a221a
commit 5bd7bf5bab
4 changed files with 28 additions and 2 deletions

View File

@ -389,6 +389,12 @@ class TestSysConfig(unittest.TestCase):
self.assertIsNotNone(vars['SO'])
self.assertEqual(vars['SO'], vars['EXT_SUFFIX'])
@unittest.skipUnless(sys.platform == 'linux', 'Linux-specific test')
def test_bitness_in_ext_suffix(self):
suffix = sysconfig.get_config_var('EXT_SUFFIX')
bitness = '-32b' if sys.maxsize < 2**32 else '-64b'
self.assertTrue(suffix.endswith(bitness + '.so'), suffix)
class MakefileTests(unittest.TestCase):

View File

@ -10,6 +10,10 @@ Release date: 2015-03-08
Core and Builtins
-----------------
- Issue #22980: Under Linux, C extensions now include bitness in the file
name, to make it easy to test 32-bit and 64-bit builds in the same
working tree.
- Issue #23571: PyObject_Call() and PyCFunction_Call() now raise a SystemError
if a function returns a result and raises an exception. The SystemError is
chained to the previous exception.

10
configure vendored
View File

@ -14200,7 +14200,15 @@ $as_echo_n "checking ABIFLAGS... " >&6; }
$as_echo "$ABIFLAGS" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking SOABI" >&5
$as_echo_n "checking SOABI... " >&6; }
SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS}
case $ac_sys_system in
Linux*|GNU*)
BITNESS_SUFFIX=-$(($ac_cv_sizeof_void_p * 8))b;;
*)
BITNESS_SUFFIX=;;
esac
SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS}${BITNESS_SUFFIX}
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SOABI" >&5
$as_echo "$SOABI" >&6; }

View File

@ -4175,7 +4175,15 @@ AC_SUBST(SOABI)
AC_MSG_CHECKING(ABIFLAGS)
AC_MSG_RESULT($ABIFLAGS)
AC_MSG_CHECKING(SOABI)
SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS}
case $ac_sys_system in
Linux*|GNU*)
BITNESS_SUFFIX=-$(($ac_cv_sizeof_void_p * 8))b;;
*)
BITNESS_SUFFIX=;;
esac
SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS}${BITNESS_SUFFIX}
AC_MSG_RESULT($SOABI)
AC_SUBST(EXT_SUFFIX)