]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-110828: AIX 32bit build needs -latomic for _testcapi module (#110962)
authorAyappan Perumal <ayappap2@in.ibm.com>
Sun, 22 Oct 2023 20:58:52 +0000 (02:28 +0530)
committerGitHub <noreply@github.com>
Sun, 22 Oct 2023 20:58:52 +0000 (22:58 +0200)
Misc/NEWS.d/next/Build/2023-10-17-03-10-40.gh-issue-110828.31vQ9B.rst [new file with mode: 0644]
configure
configure.ac

diff --git a/Misc/NEWS.d/next/Build/2023-10-17-03-10-40.gh-issue-110828.31vQ9B.rst b/Misc/NEWS.d/next/Build/2023-10-17-03-10-40.gh-issue-110828.31vQ9B.rst
new file mode 100644 (file)
index 0000000..13647fe
--- /dev/null
@@ -0,0 +1 @@
+AIX 32bit needs ``-latomic`` to build the :mod:`!_testcapi` extension module.
index 3bf92ddb8fcb40c6bbfc09f452245a863a902841..8b90c1306f825ff5c08d0a853ba4a739030778bb 100755 (executable)
--- a/configure
+++ b/configure
@@ -27931,6 +27931,7 @@ printf "%s\n" "$ac_cv_libatomic_needed" >&6; }
 if test "x$ac_cv_libatomic_needed" = xyes
 then :
   LIBS="${LIBS} -latomic"
+           LIBATOMIC=${LIBATOMIC-"-latomic"}
 fi
 CPPFLAGS=$save_CPPFLAGS
 
@@ -30084,7 +30085,7 @@ fi
 then :
 
 
-
+    as_fn_append MODULE_BLOCK "MODULE__TESTCAPI_LDFLAGS=$LIBATOMIC$as_nl"
 
 fi
    if test "$py_cv_module__testcapi" = yes; then
index daa59b2737bae99d44368d8107da4541a1b034be..a4ac589822708de8e954728192d15334b7b3c6fa 100644 (file)
@@ -7056,7 +7056,8 @@ int main()
 ])
 
 AS_VAR_IF([ac_cv_libatomic_needed], [yes],
-          [LIBS="${LIBS} -latomic"])
+          [LIBS="${LIBS} -latomic"
+           LIBATOMIC=${LIBATOMIC-"-latomic"}])
 _RESTORE_VAR([CPPFLAGS])
 
 
@@ -7328,7 +7329,10 @@ PY_STDLIB_MOD([_hashlib], [], [test "$ac_cv_working_openssl_hashlib" = yes],
   [$OPENSSL_INCLUDES], [$OPENSSL_LDFLAGS $OPENSSL_LDFLAGS_RPATH $LIBCRYPTO_LIBS])
 
 dnl test modules
-PY_STDLIB_MOD([_testcapi], [test "$TEST_MODULES" = yes])
+PY_STDLIB_MOD([_testcapi],
+    [test "$TEST_MODULES" = yes],
+    dnl Modules/_testcapi needs -latomic for 32bit AIX build
+    [], [], [$LIBATOMIC])
 PY_STDLIB_MOD([_testclinic], [test "$TEST_MODULES" = yes])
 PY_STDLIB_MOD([_testclinic_limited], [test "$TEST_MODULES" = yes])
 PY_STDLIB_MOD([_testinternalcapi], [test "$TEST_MODULES" = yes])