From: Bruno Haible Date: Sun, 10 May 2020 17:54:58 +0000 (+0200) Subject: havelib: Enhance documentation. X-Git-Tag: v1.0~4103 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=72b0ca02b62e50f7cbfd32367e9106133dd635bb;p=gnulib.git havelib: Enhance documentation. * doc/havelib.texi (Searching for Libraries): Mention the bad consequences of using LIBxxx instead of LTLIBxxx and vice versa. --- diff --git a/ChangeLog b/ChangeLog index 019e45bec4..6ef88249c7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2020-05-10 Bruno Haible + + havelib: Enhance documentation. + * doc/havelib.texi (Searching for Libraries): Mention the bad + consequences of using LIBxxx instead of LTLIBxxx and vice versa. + 2020-05-10 Bruno Haible attribute: Clarify list of attributes. diff --git a/doc/havelib.texi b/doc/havelib.texi index a776d526d5..59126c708a 100644 --- a/doc/havelib.texi +++ b/doc/havelib.texi @@ -79,6 +79,17 @@ when linking with libtool. Both @code{LTLIB<@var{NAME}>} and @samp{-Wl,-rpath}, @code{LTLIB<@var{NAME}>} contains platform independent flags like @samp{-R}. +If you, by mistake, use @code{LIB<@var{NAME}>} instead of +@code{LTLIB<@var{NAME}>} when linking with libtool, you will observe that the +binaries created in the build dir will prefer the shared libraries in the +installation directories over the shared libraries in the build dir; this can +lead to all sorts of build failures, test failures, or crashes! + +If you, on the other hand, by mistake, use @code{LTLIB<@var{NAME}>} instead of +@code{LIB<@var{NAME}>} when linking @emph{without} libtool, you will observe +build failures, because the @samp{-R} options contained @code{LTLIB<@var{NAME}>} +are not valid options to compilers such as GCC. + @unnumberedsubsubsec Example of using @code{AC_LIB_LINKFLAGS} Suppose you want to use @code{libz}, the compression library.