changeset 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 2e351049200b
children cfd2822a5661
files ChangeLog m4/execinfo.m4 modules/execinfo
diffstat 3 files changed, 24 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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"])
 ])
--- a/modules/execinfo
+++ b/modules/execinfo
@@ -33,6 +33,9 @@
 Include:
 <execinfo.h>
 
+Link:
+$(LIB_EXECINFO)
+
 License:
 LGPLv2+