diff m4/execinfo.m4 @ 17062:879fe335e7cb

execinfo: port to FreeBSD * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo if needed, as in FreeBSD. Reported by Bastien Roucariès in <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>. * modules/execinfo (Link): Add $(LIB_EXECINFO).
author Paul Eggert <eggert@cs.ucla.edu>
date Fri, 24 Aug 2012 03:29:39 -0700
parents a9db8a0359df
children e542fd46ad6f
line wrap: on
line diff
--- a/m4/execinfo.m4
+++ b/m4/execinfo.m4
@@ -9,13 +9,23 @@
 [
   AC_CHECK_HEADERS_ONCE([execinfo.h])
 
+  LIB_EXECINFO=''
+  EXECINFO_H='execinfo.h'
+
   if test $ac_cv_header_execinfo_h = yes; then
-    EXECINFO_H=''
-  else
-    EXECINFO_H='execinfo.h'
+    gl_saved_libs=$LIBS
+      AC_SEARCH_LIBS([backtrace_symbols_fd], [execinfo],
+        [test "$ac_cv_search_backtrace_symbols_fd" = "none required" ||
+         LIB_EXECINFO=$ac_cv_search_backtrace_symbols_fd])
+    LIBS=$gl_saved_libs
+    test "$ac_cv_search_backtrace_symbols_fd" = no || EXECINFO_H=''
+  fi
+
+  if test -n "$EXECINFO_H"; then
     AC_LIBOBJ([execinfo])
   fi
 
   AC_SUBST([EXECINFO_H])
+  AC_SUBST([LIB_EXECINFO])
   AM_CONDITIONAL([GL_GENERATE_EXECINFO_H], [test -n "$EXECINFO_H"])
 ])