* lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4: New files.

This commit is contained in:
Paul Eggert 2012-08-24 21:27:32 -07:00
parent f4a681b077
commit 7d896ca9f3
3 changed files with 88 additions and 0 deletions

3
lib/execinfo.c Normal file
View file

@ -0,0 +1,3 @@
#include <config.h>
#define _GL_EXECINFO_INLINE _GL_EXTERN_INLINE
#include "execinfo.h"

54
lib/execinfo.in.h Normal file
View file

@ -0,0 +1,54 @@
/* Information about executables.
Copyright (C) 2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* Written by Paul Eggert. */
#ifndef _GL_EXECINFO_H
#define _GL_EXECINFO_H
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_EXECINFO_INLINE
# define _GL_EXECINFO_INLINE _GL_INLINE
#endif
_GL_EXECINFO_INLINE int
backtrace (void **buffer, int size)
{
(void) buffer;
(void) size;
return 0;
}
_GL_EXECINFO_INLINE char **
backtrace_symbols (void *const *buffer, int size)
{
(void) buffer;
(void) size;
return 0;
}
_GL_EXECINFO_INLINE void
backtrace_symbols_fd (void *const *buffer, int size, int fd)
{
(void) buffer;
(void) size;
(void) fd;
}
_GL_INLINE_HEADER_END
#endif

31
m4/execinfo.m4 Normal file
View file

@ -0,0 +1,31 @@
# Check for GNU-style execinfo.h.
dnl Copyright 2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
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
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"])
])