* lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
--as-needed option if available. Problem reported by Albert Chin in
<http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
+ However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
+ cc merely issues a bunch of annoying warnings for --as-needed
+ (this problem was reported by Bob Proulx). Also, try linking with
+ -lm to detect a bug in binutils 2.16 (this problem was reported
+ by Ralf Wildenhues).
2006-06-18 Jim Meyering <jim@meyering.net>
[gl_cv_ignore_unused_libraries],
[gl_cv_ignore_unused_libraries=none
gl_saved_ldflags=$LDFLAGS
+ gl_saved_libs=$LIBS
+ # Link with -lm to detect binutils 2.16 bug with --as-needed; see
+ # <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00131.html>.
+ LIBS="$LIBS -lm"
# Use long option sequences like '-z ignore' to test for the feature,
# to forestall problems with linkers that have -z, -i, -g, -n, etc. flags.
+ # GCC + binutils likes '-Wl,--as-needed'.
+ # GCC + Solaris ld likes '-Wl,-z,ignore'.
+ # Sun C likes '-z ignore'.
+ # Don't try bare '--as-needed'; nothing likes it and the HP-UX 11.11
+ # native cc issues annoying warnings and then ignores it,
+ # which would cause us to incorrectly conclude that it worked.
for gl_flags in \
'-Wl,--as-needed' \
'-Wl,-z,ignore' \
- '--as-needed' \
'-z ignore'
do
LDFLAGS="$gl_flags $LDFLAGS"
[gl_cv_ignore_unused_libraries=$gl_flags])
LDFLAGS=$gl_saved_ldflags
test "$gl_cv_ignore_unused_libraries" != none && break
- done])
+ done
+ LIBS=$gl_saved_libs])
test "$gl_cv_ignore_unused_libraries" != none &&
LDFLAGS="$LDFLAGS $gl_cv_ignore_unused_libraries"