execinfo: port to FreeBSD
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 24 Aug 2012 10:29:39 +0000 (03:29 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 24 Aug 2012 10:33:43 +0000 (03:33 -0700)
* 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).

ChangeLog
m4/execinfo.m4
modules/execinfo

index 03a4ace..952b67a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       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).
+
 2012-08-23  Jim Meyering  <meyering@redhat.com>
 
        xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
index fa2b845..f1f3cd9 100644 (file)
@@ -9,13 +9,23 @@ AC_DEFUN([gl_EXECINFO_H],
 [
   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"])
 ])
index 1578216..2a49f88 100644 (file)
@@ -33,6 +33,9 @@ MOSTLYCLEANFILES += execinfo.h execinfo.h-t
 Include:
 <execinfo.h>
 
+Link:
+$(LIB_EXECINFO)
+
 License:
 LGPLv2+