|
|
@ -275,8 +275,38 @@ AC_ARG_WITH(libunwind, |
|
|
|
[WITH_LIBUNWIND=$withval],[WITH_LIBUNWIND=no]) |
|
|
|
|
|
|
|
if test "$WITH_LIBUNWIND" != "no"; then |
|
|
|
PKG_CHECK_MODULES(LIBUNWIND, libunwind) |
|
|
|
AC_DEFINE(HAVE_LIBUNWIND, 1, [Have libunwind support]) |
|
|
|
have_libunwind=no |
|
|
|
|
|
|
|
PKG_CHECK_MODULES(LIBUNWIND, libunwind, [have_libunwind=yes], [ |
|
|
|
# pkg-config failed, search manually |
|
|
|
OLDLIBS="$LIBS" |
|
|
|
LIBS="$LIBS -lunwind" |
|
|
|
AC_CACHE_CHECK([for libunwind support], [ac_cv_libunwind], |
|
|
|
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
|
|
|
# define UNW_LOCAL_ONLY |
|
|
|
# include <libunwind.h> |
|
|
|
]], [[ |
|
|
|
unw_context_t context; |
|
|
|
unw_getcontext(&context); |
|
|
|
]])],[ac_cv_libunwind=yes],[ac_cv_libunwind=no])]) |
|
|
|
LIBS="$OLDLIBS" |
|
|
|
|
|
|
|
if test "$ac_cv_libunwind" = yes; then |
|
|
|
LIBUNWIND_CFLAGS= |
|
|
|
LIBUNWIND_LIBS=-lunwind |
|
|
|
fi |
|
|
|
|
|
|
|
have_libunwind="$ac_cv_libunwind" |
|
|
|
]) |
|
|
|
|
|
|
|
if test "$have_libunwind" = yes; then |
|
|
|
AC_DEFINE(HAVE_LIBUNWIND, 1, [Have libunwind support]) |
|
|
|
else |
|
|
|
AC_MSG_ERROR("couldn't find libunwind") |
|
|
|
fi |
|
|
|
|
|
|
|
AC_SUBST([LIBUNWIND_CFLAGS]) |
|
|
|
AC_SUBST([LIBUNWIND_LIBS]) |
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|