From 72b0ca02b62e50f7cbfd32367e9106133dd635bb Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 10 May 2020 19:54:58 +0200 Subject: [PATCH] havelib: Enhance documentation. * doc/havelib.texi (Searching for Libraries): Mention the bad consequences of using LIBxxx instead of LTLIBxxx and vice versa. --- ChangeLog | 6 ++++++ doc/havelib.texi | 11 +++++++++++ 2 files changed, 17 insertions(+) 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. -- 2.39.5