;;
esac
+dnl Check for backtrace() support
+AC_CHECK_HEADERS(execinfo.h)
+AC_CHECK_FUNCS(backtrace)
+
dnl
dnl Enable profiling
dnl
}
#ifndef NDEBUG
-# if defined(__GLIBC__) || defined(__APPLE__)
+# ifdef (HAVE_EXECINFO_H)
# include <execinfo.h>
# endif
obj->psz_object_type);
fflush (stderr);
-#if defined(__GLIBC__) || defined(__APPLE__)
+#ifdef HAVE_BACKTRACE
void *stack[20];
int stackdepth = backtrace (stack, sizeof (stack) / sizeof (stack[0]));
backtrace_symbols_fd (stack, stackdepth, 2);
return v.i;
}
-#if defined(__GLIBC__) || defined(__APPLE__)
+#if HAVE_EXECINFO_H
# include <execinfo.h>
#endif
fflush (stderr);
#endif
-#if defined(__GLIBC__) || defined(__APPLE__)
+#ifdef HAVE_BACKTRACE
void *stack[20];
int len = backtrace (stack, sizeof (stack) / sizeof (stack[0]));
backtrace_symbols_fd (stack, len, 2);