summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac9
-rw-r--r--distrib/configure.ac.in10
2 files changed, 16 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index ff717a1010..dd3236c24e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1052,7 +1052,14 @@ if test "$use_large_address_space" = "yes" ; then
AC_DEFINE([USE_LARGE_ADDRESS_SPACE], [1], [Enable single heap address space support])
fi
-AC_CHECK_LIB(dw, dwfl_begin, [HaveLibdw=YES], [HaveLibdw=NO])
+dnl ** Have libdw?
+dnl --------------------------------------------------------------
+AC_ARG_ENABLE(libdw,
+ [AC_HELP_STRING([--enable-dwarf-unwind],
+ [Enable DWARF unwinding support in the runtime system via elfutils' libdw [default=no]])],
+ [AC_CHECK_LIB(dw, dwfl_attach_state, [HaveLibdw=YES], [HaveLibdw=NO])],
+ [HaveLibdw=NO]
+)
AC_SUBST(HaveLibdw)
if test -n "$SPHINXBUILD"; then
diff --git a/distrib/configure.ac.in b/distrib/configure.ac.in
index 1df58d508b..c0610c632e 100644
--- a/distrib/configure.ac.in
+++ b/distrib/configure.ac.in
@@ -93,8 +93,14 @@ AC_SUBST([LdCmd])
dnl ** Have libdw?
dnl --------------------------------------------------------------
-AC_CHECK_LIB(dw, dwfl_begin, [HaveLibdw=YES], [HaveLibdw=NO])
-AC_SUBST(HaveLibdw)
+dnl Check for a usable version of libdw/elfutils
+dnl Currently we need 0.158 or newer.
+BinDistNeedsLibdw=@HaveLibdw@
+if test "x$BinDistNeedsLibdw" = "xyes" ; then
+ AC_CHECK_LIB(dw, dwfl_attach_state, [HaveLibdw=YES],
+ [AC_MSG_ERROR([Binary distribution was built with libdw support but target system doesn't have supported libdw version (needs at least 0.158)])]
+ )];
+fi
FP_GCC_VERSION
AC_PROG_CPP