summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4')
-rw-r--r--m4/execinfo.m416
1 files changed, 13 insertions, 3 deletions
diff --git a/m4/execinfo.m4 b/m4/execinfo.m4
index fa2b84523b..f1f3cd9163 100644
--- a/m4/execinfo.m4
+++ b/m4/execinfo.m4
@@ -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"])
])