From: Ken Thomases Subject: [PATCH 2/3] configure: Check if -lunwind is needed for libunwind. Message-Id: <096E1242-D3C7-4047-8B11-D841BC25F2C7@codeweavers.com> Date: Sun, 14 Jun 2015 21:22:59 -0500 --- configure.ac | 26 ++++++++++++++++++++++++++ dlls/ntdll/Makefile.in | 2 +- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index ba52ade..025ff07 100644 --- a/configure.ac +++ b/configure.ac @@ -1086,6 +1086,32 @@ WINE_ERROR_WITH(pthread,[test "x$ac_cv_func_pthread_create" != xyes -a "x$PTHREA [pthread ${notice_platform}development files not found. Wine cannot support threads without libpthread.]) +dnl **** Check for libunwind **** + +if test "$ac_cv_header_libunwind_h" = "yes" +then + AC_CACHE_CHECK([for libunwind], ac_cv_have_libunwind, + [ac_save_LIBS="$LIBS" + for lib in '' -lunwind + do + LIBS="$lib $ac_save_LIBS" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define UNW_LOCAL_ONLY +#include ]],[[unw_cursor_t cursor; unw_context_t context; unw_getcontext(&context); unw_init_local(&cursor, &context);]])], + [ac_cv_have_libunwind=${lib:-"none required"}],[ac_cv_have_libunwind="not found"]) + test "x$ac_cv_have_libunwind" = "xnot found" || break + done + LIBS="$ac_save_LIBS"]) + + case "$ac_cv_have_libunwind" in + "not found") ;; + "none required") + AC_DEFINE(HAVE_LIBUNWIND, 1, [Define if you have libunwind]) ;; + *) + AC_DEFINE(HAVE_LIBUNWIND, 1) + AC_SUBST(UNWIND_LIBS,$ac_cv_have_libunwind) ;; + esac +fi + dnl **** Check for X11 **** AC_PATH_XTRA diff --git a/dlls/ntdll/Makefile.in b/dlls/ntdll/Makefile.in index ed4bb94..08f094a 100644 --- a/dlls/ntdll/Makefile.in +++ b/dlls/ntdll/Makefile.in @@ -2,7 +2,7 @@ EXTRADEFS = -D_NTSYSTEM_ MODULE = ntdll.dll IMPORTLIB = ntdll IMPORTS = winecrt0 -EXTRALIBS = $(IOKIT_LIBS) $(RT_LIBS) $(PTHREAD_LIBS) +EXTRALIBS = $(IOKIT_LIBS) $(RT_LIBS) $(PTHREAD_LIBS) $(UNWIND_LIBS) EXTRADLLFLAGS = -nodefaultlibs -Wl,--image-base,0x7bc00000 C_SRCS = \