fix: don't add libelf and libdw to global LIBS
authorMichael Jeanson <mjeanson@efficios.com>
Fri, 12 Nov 2021 20:37:17 +0000 (15:37 -0500)
committerMichael Jeanson <mjeanson@efficios.com>
Fri, 10 Dec 2021 17:11:38 +0000 (12:11 -0500)
commit2bf8d3246aba9009042c293bb0154c7738e47ae3
treea6c48d5c54dd3c30ea31da4376fdcbedba751ae7
parent0c4e4aa8cf7c78b9e7fb8493361b8a71ce18a80d
fix: don't add libelf and libdw to global LIBS

The default behavior, for AC_CHECK_LIB when the `action-if-found` is NOT
defined, is to prepend the library to LIBS. [1]

"
If action-if-found is not specified, the default action prepends
-llibrary to LIBS and defines ‘HAVE_LIBlibrary’ (in all capitals).
"

It is important to note that the LIBS variable is used for ALL linking.

This is normally not a problem for most distribution since they force
the use of `--as-needed` at the toolchain level (gcc specs) (for example
debian [2]). One could also pass the `--as-needed` flag manually but
libtool reorganize flags in the case of shared object creation [3].

In our case, we always explicitly state the dependencies via the *_LIBADD
automake clause. We do not rely on the LIBS variable.

[1] https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Libraries.html
[2] https://salsa.debian.org/toolchain-team/gcc/-/blob/master/debian/patches/gcc-as-needed.diff
[3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=347650

Change-Id: Iea7812ccabb17e976362f9ea9412e0834ce946f4
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/6745
Tested-by: jenkins <jenkins@lttng.org>
Reviewed-by: Simon Marchi <simon.marchi@efficios.com>
Reviewed-by: Jonathan Rajotte Julien <jonathan.rajotte-julien@efficios.com>
configure.ac
This page took 0.024598 seconds and 4 git commands to generate.