[PATCH] configure: use AC_SEARCH_LIBS instead of AC_CHECK_LIB
Show 27 quoted lines
> It looks like some recent bug in configure.ac, as I have run
> ./configure without "make configure" and it had
>
> NO_LIBGEN_H=@NO_LIBGEN_H@
> NEEDS_RESOLV=@NEEDS_RESOLV@
>
> SNPRINTF_RETURNS_BOGUS=
>
> and when I did "rm configure ; make configure ; ./configure"
> it gave me
>
> NO_LIBGEN_H=
> NEEDS_RESOLV=
>
> SNPRINTF_RETURNS_BOGUS=UnfortunatelyYes
>
> I have tried to find which commit introduced this regression.
>
> $ git bisect start origin v1.6.3 v1.6.3.2 -- configure.ac config.mak.in
> $ git bisect run ~/git/test.sh
>
> finds ecc395c (Makefile: add NEEDS_LIBGEN to optionally add -lgen to
> compile arguments, 2009-07-10) as a first bad commit. But I don't see
> how it could have changed it... Strange...
>
> CC-ed Brandon Casey, author of blamed changeset, and David Syzdek who
> offered at some time help with maintaining autoconf.
Thank you, I did the same investigation here. :-)
AC_CHECK_LIB may fail to check the good libraries. Use AC_SEARCH_LIBS instead as pointed out by the autotool documentation.
http://www.gnu.org/software/autoconf/manual/html_node/Libraries.html#Libraries
Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>
---
configure.ac | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/configure.ac b/configure.ac
index 74d0af5..48dd5f3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -339,9 +339,9 @@ AC_MSG_NOTICE([CHECKS for libraries])
GIT_STASH_FLAGS($OPENSSLDIR)
-AC_CHECK_LIB([crypto], [SHA1_Init],
+AC_SEARCH_LIBS([SHA1_Init], [crypto],
[NEEDS_SSL_WITH_CRYPTO=],
-[AC_CHECK_LIB([ssl], [SHA1_Init],
+[AC_SEARCH_LIBS([SHA1_Init], [ssl],
[NEEDS_SSL_WITH_CRYPTO=YesPlease
NEEDS_SSL_WITH_CRYPTO=],
[NO_OPENSSL=YesPlease])])
@@ -358,7 +358,7 @@ AC_SUBST(NO_OPENSSL)
GIT_STASH_FLAGS($CURLDIR)
-AC_CHECK_LIB([curl], [curl_global_init],
+AC_SEARCH_LIBS([curl_global_init], [curl],
[NO_CURL=],
[NO_CURL=YesPlease])
@@ -372,7 +372,7 @@ AC_SUBST(NO_CURL)
GIT_STASH_FLAGS($EXPATDIR)
-AC_CHECK_LIB([expat], [XML_ParserCreate],
+AC_SEARCH_LIBS([XML_ParserCreate], [expat],
[NO_EXPAT=],
[NO_EXPAT=YesPlease])
@@ -469,7 +469,7 @@ AC_SUBST(NO_DEFLATE_BOUND)
#
# Define NEEDS_SOCKET if linking with libc is not enough (SunOS,
# Patrick Mauritz).
-AC_CHECK_LIB([c], [socket],
+AC_SEARCH_LIBS([socket], [c],
[NEEDS_SOCKET=],
[NEEDS_SOCKET=YesPlease])
AC_SUBST(NEEDS_SOCKET)
@@ -479,13 +479,13 @@ test -n "$NEEDS_SOCKET" && LIBS="$LIBS -lsocket"
# Define NEEDS_RESOLV if linking with -lnsl and/or -lsocket is not enough.
# Notably on Solaris hstrerror resides in libresolv and on Solaris 7
# inet_ntop and inet_pton additionally reside there.
-AC_CHECK_LIB([resolv], [hstrerror],
+AC_SEARCH_LIBS([hstrerror], [resolv],
[NEEDS_RESOLV=],
[NEEDS_RESOLV=YesPlease])
AC_SUBST(NEEDS_RESOLV)
test -n "$NEEDS_RESOLV" && LIBS="$LIBS -lresolv"
-AC_CHECK_LIB([gen], [basename],
+AC_SEARCH_LIBS([basename], [gen],
[NEEDS_LIBGEN=],
[NEEDS_LIBGEN=YesPlease])
AC_SUBST(NEEDS_LIBGEN)
@@ -647,7 +647,7 @@ AC_SUBST(SNPRINTF_RETURNS_BOGUS)
## Checks for library functions.
-## (in default C library and libraries checked by AC_CHECK_LIB)
+## (in default C library and libraries checked by AC_SEARCH_LIBS)
AC_MSG_NOTICE([CHECKS for library functions])
#
# Define NO_LIBGEN_H if you don't have libgen.h.
--
1.6.4.rc1.170.ge727