mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-11-30 02:27:38 +01:00
09c959ad30
2005/02/24 23:28:02-08:00 hp.com!davidm Fix merge-conflict. 2004/11/16 14:09:01-08:00 hp.com!davidm Manual merge. 2004/11/05 00:14:10-08:00 hp.com!davidm Fix merge conflict. 2004/11/03 13:57:00-08:00 hp.com!davidm Merge. 2004/10/19 23:06:23-07:00 mostang.com!davidm (pkg_minor): Switch to 99. (pkg_extra): Switch to -alpha. (CFLAGS): Add -fexceptions if we're compiling with GCC. It's needed to get the proper unwind tables on platforms with DWARF unwind info (well, at least on x86 it's needed). (Logical change 1.290)
132 lines
3.3 KiB
Text
132 lines
3.3 KiB
Text
define(pkg_major, 0)
|
|
define(pkg_minor, 99)
|
|
define(pkg_extra, -alpha)
|
|
define(pkg_maintainer, libunwind@linux.hpl.hp.com)
|
|
define(mkvers, $1.$2$3)
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
AC_INIT(libunwind, mkvers(pkg_major, pkg_minor, pkg_extra), pkg_maintainer)
|
|
AC_CONFIG_SRCDIR(src/mi/backtrace.c)
|
|
AC_CONFIG_AUX_DIR(config)
|
|
AC_CANONICAL_SYSTEM
|
|
AM_INIT_AUTOMAKE([1.6 subdir-objects])
|
|
AM_MAINTAINER_MODE
|
|
AM_CONFIG_HEADER(include/config.h)
|
|
|
|
dnl Checks for programs.
|
|
AC_PROG_CC
|
|
AC_PROG_CXX
|
|
AC_PROG_INSTALL
|
|
AC_PROG_MAKE_SET
|
|
AM_PROG_LIBTOOL
|
|
AM_PROG_AS
|
|
AM_PROG_CC_C_O
|
|
|
|
dnl Checks for libraries.
|
|
AC_CHECK_LIB(uca, __uc_get_grs)
|
|
CHECK_ATOMIC_OPS
|
|
|
|
dnl Checks for header files.
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS(asm/ptrace_offsets.h endian.h execinfo.h ia64intrin.h \
|
|
sys/uc_access.h unistd.h signal.h)
|
|
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
|
AC_C_CONST
|
|
AC_C_INLINE
|
|
AC_TYPE_SIGNAL
|
|
AC_TYPE_SIZE_T
|
|
|
|
CPPFLAGS="${CPPFLAGS} -D_GNU_SOURCE"
|
|
if test x$enable_debug = xyes; then
|
|
CPPFLAGS="${CPPFLAGS} -DDEBUG"
|
|
else
|
|
CPPFLAGS="${CPPFLAGS} -DNDEBUG"
|
|
fi
|
|
|
|
AC_CHECK_MEMBERS([struct dl_phdr_info.dlpi_subs],,,[#include <link.h>])
|
|
AC_CHECK_TYPES([sighandler_t], [], [],
|
|
[$ac_includes_default
|
|
#if HAVE_SIGNAL_H
|
|
# include <signal.h>
|
|
#endif
|
|
])
|
|
|
|
dnl Checks for library functions.
|
|
AC_FUNC_MEMCMP
|
|
AC_TYPE_SIGNAL
|
|
AC_CHECK_FUNCS(dl_iterate_phdr dl_phdr_removals_counter dlmodinfo getunwind \
|
|
ttrace)
|
|
|
|
get_arch() {
|
|
case "$1" in
|
|
i?86) echo x86;;
|
|
hppa*) echo hppa;;
|
|
*) echo $1;;
|
|
esac
|
|
}
|
|
|
|
build_arch=`get_arch $build_cpu`
|
|
target_arch=`get_arch $target_cpu`
|
|
|
|
AM_CONDITIONAL(REMOTE_ONLY, test x$target_arch != x$build_arch)
|
|
AM_CONDITIONAL(ARCH_IA64, test x$target_arch = xia64)
|
|
AM_CONDITIONAL(ARCH_HPPA, test x$target_arch = xhppa)
|
|
AM_CONDITIONAL(ARCH_X86, test x$target_arch = xx86)
|
|
AM_CONDITIONAL(ARCH_X86_64, test x$target_arch = xx86_64)
|
|
AM_CONDITIONAL(OS_LINUX, expr x$target_os : xlinux >/dev/null)
|
|
AM_CONDITIONAL(OS_HPUX, expr x$target_os : xhpux >/dev/null)
|
|
|
|
if test x$target_arch != x$build_arch; then
|
|
CPPFLAGS="${CPPFLAGS} -DUNW_REMOTE_ONLY"
|
|
fi
|
|
AC_CONFIG_LINKS(include/libunwind.h:include/libunwind-$target_arch.h
|
|
include/tdep.h:include/tdep-$target_arch.h)
|
|
|
|
AC_ARG_ENABLE(debug,
|
|
[ --enable-debug turn on debug support (slows down execution)],
|
|
[enable_debug=yes], [])
|
|
|
|
LIBUNWIND___THREAD
|
|
|
|
save_LDFLAGS="$LDFLAGS"
|
|
LDFLAGS="$LDFLAGS -static-libcxa"
|
|
AC_TRY_LINK([], [], [have_static_libcxa=yes])
|
|
LDFLAGS="$save_LDFLAGS"
|
|
if test "x$have_static_libcxa" = xyes; then
|
|
LDFLAGS_STATIC_LIBCXA="-XCClinker -static-libcxa"
|
|
fi
|
|
|
|
AC_TRY_COMPILE([], [#ifndef __INTEL_COMPILER
|
|
#error choke me
|
|
#endif], [intel_compiler=yes])
|
|
|
|
if test x$GCC = xyes -a x$intel_compiler != xyes; then
|
|
CFLAGS="${CFLAGS} -fexceptions -Wall -Wsign-compare"
|
|
LIBCRTS="-lgcc"
|
|
fi
|
|
|
|
CCASFLAGS="${CCASFLAGS} ${CPPFLAGS}"
|
|
|
|
arch="$target_arch"
|
|
ARCH=`echo $target_arch | tr [a-z] [A-Z]`
|
|
|
|
dnl create shell variables from the M4 macros:
|
|
PKG_MAJOR=pkg_major
|
|
PKG_MINOR=pkg_minor
|
|
PKG_EXTRA=pkg_extra
|
|
PKG_MAINTAINER=pkg_maintainer
|
|
|
|
AC_SUBST(build_arch)
|
|
AC_SUBST(target_os)
|
|
AC_SUBST(arch)
|
|
AC_SUBST(ARCH)
|
|
AC_SUBST(LDFLAGS_STATIC_LIBCXA)
|
|
AC_SUBST(LIBCRTS)
|
|
AC_SUBST(PKG_MAJOR)
|
|
AC_SUBST(PKG_MINOR)
|
|
AC_SUBST(PKG_EXTRA)
|
|
AC_SUBST(PKG_MAINTAINER)
|
|
|
|
AC_CONFIG_FILES(Makefile src/Makefile tests/Makefile tests/check-namespace.sh
|
|
doc/Makefile doc/common.tex include/libunwind-common.h)
|
|
AC_OUTPUT
|