detect and provide fallback for backtrace_symbols_fd

Closes #2615 to fix includes on FreeBSD and provide fallback on Cygwin.
This commit is contained in:
David Adam 2015-12-17 20:35:34 +08:00
parent 5306fce16e
commit 7143512198
2 changed files with 4 additions and 3 deletions

View file

@ -362,6 +362,7 @@ AC_SEARCH_LIBS( shm_open, rt, , [AC_MSG_ERROR([Cannot find the rt library, neede
AC_SEARCH_LIBS( pthread_create, pthread, , [AC_MSG_ERROR([Cannot find the pthread library, needed to build this package.] )] ) AC_SEARCH_LIBS( pthread_create, pthread, , [AC_MSG_ERROR([Cannot find the pthread library, needed to build this package.] )] )
AC_SEARCH_LIBS( setupterm, [ncurses tinfo curses], , [AC_MSG_ERROR([Could not find a curses implementation, needed to build fish. If this is Linux, try running 'sudo apt-get install libncurses5-dev' or 'sudo yum install ncurses-devel'])] ) AC_SEARCH_LIBS( setupterm, [ncurses tinfo curses], , [AC_MSG_ERROR([Could not find a curses implementation, needed to build fish. If this is Linux, try running 'sudo apt-get install libncurses5-dev' or 'sudo yum install ncurses-devel'])] )
AC_SEARCH_LIBS( [nan], [m], [AC_DEFINE( [HAVE_NAN], [1], [Define to 1 if you have the nan function])] ) AC_SEARCH_LIBS( [nan], [m], [AC_DEFINE( [HAVE_NAN], [1], [Define to 1 if you have the nan function])] )
AC_SEARCH_LIBS( [backtrace_symbols_fd], [execinfo] )
if test x$local_gettext != xno; then if test x$local_gettext != xno; then
AC_SEARCH_LIBS( gettext, intl,,) AC_SEARCH_LIBS( gettext, intl,,)
@ -524,7 +525,7 @@ AC_STRUCT_DIRENT_D_TYPE
AC_CHECK_FUNCS( wcsdup wcsndup wcslen wcscasecmp wcsncasecmp fwprintf ) AC_CHECK_FUNCS( wcsdup wcsndup wcslen wcscasecmp wcsncasecmp fwprintf )
AC_CHECK_FUNCS( futimes wcwidth wcswidth wcstok fputwc fgetwc ) AC_CHECK_FUNCS( futimes wcwidth wcswidth wcstok fputwc fgetwc )
AC_CHECK_FUNCS( wcstol wcslcat wcslcpy lrand48_r killpg mkostemp ) AC_CHECK_FUNCS( wcstol wcslcat wcslcpy lrand48_r killpg mkostemp )
AC_CHECK_FUNCS( backtrace backtrace_symbols sysconf getifaddrs ) AC_CHECK_FUNCS( backtrace backtrace_symbols_fd sysconf getifaddrs )
AC_CHECK_FUNCS( futimens clock_gettime ) AC_CHECK_FUNCS( futimens clock_gettime )
if test x$local_gettext != xno; then if test x$local_gettext != xno; then

View file

@ -1228,8 +1228,8 @@ int backtrace(void **buffer, int size)
} }
#endif #endif
#ifndef HAVE_BACKTRACE_SYMBOLS #ifndef HAVE_BACKTRACE_SYMBOLS_FD
char ** backtrace_symbols(void *const *buffer, int size) char ** backtrace_symbols_fd(void *const *buffer, int size, int fd)
{ {
return 0; return 0;
} }