diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2015-03-08 19:43:10 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2015-03-08 19:43:10 (GMT) |
commit | 5bd7bf5bab3a961a3952e36b053eb93818553e13 (patch) | |
tree | c6df9941bf61e2de5917b788bf59436a8495b49b | |
parent | af098a221aba15dfd121250e590c8ff72c81665b (diff) | |
download | cpython-5bd7bf5bab3a961a3952e36b053eb93818553e13.zip cpython-5bd7bf5bab3a961a3952e36b053eb93818553e13.tar.gz cpython-5bd7bf5bab3a961a3952e36b053eb93818553e13.tar.bz2 |
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.
-rw-r--r-- | Lib/test/test_sysconfig.py | 6 | ||||
-rw-r--r-- | Misc/NEWS | 4 | ||||
-rwxr-xr-x | configure | 10 | ||||
-rw-r--r-- | configure.ac | 10 |
4 files changed, 28 insertions, 2 deletions
diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py index 804c446..3711784 100644 --- a/Lib/test/test_sysconfig.py +++ b/Lib/test/test_sysconfig.py @@ -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): @@ -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. @@ -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; } diff --git a/configure.ac b/configure.ac index 263ae15..c9bb90b 100644 --- a/configure.ac +++ b/configure.ac @@ -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) |