(gl_IGNORE_UNUSED_LIBRARIES):
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 20 Jun 2006 05:59:16 +0000 (05:59 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 20 Jun 2006 05:59:16 +0000 (05:59 +0000)
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).

m4/ChangeLog
m4/lib-ignore.m4

index 8ad70a2..f31ec45 100644 (file)
@@ -3,6 +3,11 @@
        * 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>
 
index deaaee8..e518f81 100644 (file)
@@ -13,12 +13,21 @@ AC_DEFUN([gl_IGNORE_UNUSED_LIBRARIES],
     [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"
@@ -26,7 +35,8 @@ AC_DEFUN([gl_IGNORE_UNUSED_LIBRARIES],
         [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"