]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-45433: Do not link libpython against libcrypt (GH-28881)
authorMike Gilbert <floppymaster@gmail.com>
Mon, 11 Oct 2021 23:24:03 +0000 (19:24 -0400)
committerGitHub <noreply@github.com>
Mon, 11 Oct 2021 23:24:03 +0000 (01:24 +0200)
Save/restore LIBS when calling AC_SEARCH_LIBS(..., crypt). This avoid
linking libpython with libcrypt.

Doc/whatsnew/3.11.rst
Misc/NEWS.d/next/Build/2021-10-11-16-08-37.bpo-45433.pVDkMV.rst [new file with mode: 0644]
configure
configure.ac

index 0d30fe8b6464436371581908186680467ba3cc7e..21a46b4b72133a5b13df2ad9182bcd634dfb380c 100644 (file)
@@ -457,6 +457,8 @@ Build Changes
 * CPython can now be built with the ThinLTO option via ``--with-lto=thin``.
   (Contributed by Dong-hee Na and Brett Holman in :issue:`44340`.)
 
+* libpython is no longer linked against libcrypt.
+  (Contributed by Mike Gilbert in :issue:`45433`.)
 
 C API Changes
 =============
diff --git a/Misc/NEWS.d/next/Build/2021-10-11-16-08-37.bpo-45433.pVDkMV.rst b/Misc/NEWS.d/next/Build/2021-10-11-16-08-37.bpo-45433.pVDkMV.rst
new file mode 100644 (file)
index 0000000..27869f0
--- /dev/null
@@ -0,0 +1 @@
+Avoid linking libpython with libcrypt.
index 15c7c54b095368c8d6283f7632a9aa5c80bf55af..70f28b0c7064ee31754be9bb87c9199d266f599f 100755 (executable)
--- a/configure
+++ b/configure
@@ -13227,6 +13227,8 @@ done
 
 # We search for both crypt and crypt_r as one or the other may be defined
 # This gets us our -lcrypt in LIBS when required on the target platform.
+# Save/restore LIBS to avoid linking libpython with libcrypt.
+LIBS_SAVE=$LIBS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing crypt" >&5
 $as_echo_n "checking for library containing crypt... " >&6; }
 if ${ac_cv_search_crypt+:} false; then :
@@ -13368,6 +13370,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
 
+LIBS=$LIBS_SAVE
 
 for ac_func in clock_gettime
 do :
index 6c65b2914bf66730e9b44de007556eb0f77d4986..afdc68363ceaf6948317049e679db8dead9dba0f 100644 (file)
@@ -4085,6 +4085,8 @@ AC_CHECK_FUNCS(setpgrp,
 
 # We search for both crypt and crypt_r as one or the other may be defined
 # This gets us our -lcrypt in LIBS when required on the target platform.
+# Save/restore LIBS to avoid linking libpython with libcrypt.
+LIBS_SAVE=$LIBS
 AC_SEARCH_LIBS(crypt, crypt)
 AC_SEARCH_LIBS(crypt_r, crypt)
 
@@ -4099,6 +4101,7 @@ char *r = crypt_r("", "", &d);
     [AC_DEFINE(HAVE_CRYPT_R, 1, [Define if you have the crypt_r() function.])],
     [])
 )
+LIBS=$LIBS_SAVE
 
 AC_CHECK_FUNCS(clock_gettime, [], [
     AC_CHECK_LIB(rt, clock_gettime, [