update-copyright: generalize comment handling
[gnulib.git] / m4 / lib-ignore.m4
index 348f6f4..e518f81 100644 (file)
@@ -13,15 +13,30 @@ 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.
-     for gl_flags in '-Wl,-z,ignore' '-z ignore'; do
+     # 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' \
+       '-z ignore'
+     do
        LDFLAGS="$gl_flags $LDFLAGS"
        AC_LINK_IFELSE([AC_LANG_PROGRAM()],
         [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"