[Python-checkins] [3.12] gh-90005: Don't link with libbsd if not needed (#105236) (#105360)

erlend-aasland webhook-mailer at python.org
Tue Jun 6 06:58:36 EDT 2023


https://github.com/python/cpython/commit/6f3a4fd4f23f8013cca5abdf03bcc7dd4adf8637
commit: 6f3a4fd4f23f8013cca5abdf03bcc7dd4adf8637
branch: 3.12
author: Erlend E. Aasland <erlend.aasland at protonmail.com>
committer: erlend-aasland <erlend.aasland at protonmail.com>
date: 2023-06-06T10:58:13Z
summary:

[3.12] gh-90005: Don't link with libbsd if not needed (#105236) (#105360)

The regression was introduced with commit 5b946cada.
Restore pre gh-29696 behaviour.

files:
A Misc/NEWS.d/next/Build/2023-06-06-09-08-10.gh-issue-90005.8mmeJQ.rst
M configure
M configure.ac

diff --git a/Misc/NEWS.d/next/Build/2023-06-06-09-08-10.gh-issue-90005.8mmeJQ.rst b/Misc/NEWS.d/next/Build/2023-06-06-09-08-10.gh-issue-90005.8mmeJQ.rst
new file mode 100644
index 0000000000000..0a23fbf0c0fbd
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2023-06-06-09-08-10.gh-issue-90005.8mmeJQ.rst
@@ -0,0 +1 @@
+Fix a regression in :file:`configure` where we could end up unintentionally linking with ``libbsd``.
diff --git a/configure b/configure
index a4d4996b06579..e89155b5bbef9 100755
--- a/configure
+++ b/configure
@@ -19278,13 +19278,15 @@ fi
 printf "%s\n" "$ac_cv_flock_decl" >&6; }
 if test "x$ac_cv_flock_decl" = xyes
 then :
+
+  for ac_func in flock
+do :
   ac_fn_c_check_func "$LINENO" "flock" "ac_cv_func_flock"
 if test "x$ac_cv_func_flock" = xyes
 then :
   printf "%s\n" "#define HAVE_FLOCK 1" >>confdefs.h
 
-fi
-
+else $as_nop
   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for flock in -lbsd" >&5
 printf %s "checking for flock in -lbsd... " >&6; }
 if test ${ac_cv_lib_bsd_flock+y}
@@ -19325,7 +19327,9 @@ then :
   FCNTL_LIBS="-lbsd"
 fi
 
+fi
 
+done
 fi
 
 
diff --git a/configure.ac b/configure.ac
index e0a69583ca834..dc9359e7c7bde 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4936,9 +4936,8 @@ AC_CACHE_CHECK([for flock declaration], [ac_cv_flock_decl],
 ])
 dnl Linking with libbsd may be necessary on AIX for flock function.
 AS_VAR_IF([ac_cv_flock_decl], [yes],
-  AC_CHECK_FUNCS([flock])
-  AC_CHECK_LIB([bsd], [flock], [FCNTL_LIBS="-lbsd"])
-)
+  [AC_CHECK_FUNCS([flock], [],
+    [AC_CHECK_LIB([bsd], [flock], [FCNTL_LIBS="-lbsd"])])])
 
 PY_CHECK_FUNC([getpagesize], [#include <unistd.h>])
 



More information about the Python-checkins mailing list