summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac29
1 files changed, 23 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac
index b561cf3a..ed099702 100644
--- a/configure.ac
+++ b/configure.ac
@@ -180,19 +180,36 @@ AM_CONDITIONAL(BUILD_ELFUTILS, test $build_elfutils = yes)
AC_SUBST(elfutils_abs_srcdir, `AS_IF([test $build_elfutils = yes],
[cd $with_elfutils && pwd])`)
+AC_ARG_ENABLE([staticdw],
+ [AS_HELP_STRING([--enable-staticdw], [support distributions with static libdw])])
+
if test $build_elfutils = no; then
# Need libdwfl-capable recent elfutils from Fedora
save_LIBS="$LIBS"
- AC_CHECK_LIB(dw, dwfl_module_getsym,,[
- AC_MSG_ERROR([missing elfutils development headers/libraries (dw 0.123+)])])
- AC_CHECK_LIB(ebl, ebl_openbackend,,[
- AC_MSG_ERROR([missing elfutils development headers/libraries (ebl 0.123+)])])
+ AS_IF([test "x$enable_staticdw" != xyes],[
+ AC_CHECK_LIB(dw, dwfl_module_getsym,,[
+ AC_MSG_ERROR([missing elfutils development headers/libraries (dw 0.123+)])])
+ AC_CHECK_LIB(ebl, ebl_openbackend,,[
+ AC_MSG_ERROR([missing elfutils development headers/libraries (ebl 0.123+)])])
+
+ stap_LIBS="$LIBS"
+ ],[
+ # Debian ships with a static libdw, which has a circular dependency on libebl
+ AC_CHECK_LIB(dw, dwfl_module_getsym,[],[
+ AC_MSG_ERROR([missing elfutils development headers/libraries (dw 0.123+)])],
+ [-Wl,--start-group -ldw -lebl -Wl,--end-group -lelf])
+ dnl XXX Do we need the ebl check, since it was referenced above?
+ AC_CHECK_LIB(ebl, ebl_openbackend,[],[
+ AC_MSG_ERROR([missing elfutils development headers/libraries (ebl 0.123+)])],
+ [-lelf])
- stap_LIBS="$LIBS"
+ stap_LIBS="-Wl,--start-group -ldw -lebl -Wl,--end-group -lelf"
+ ])
LIBS="$save_LIBS"
else
# We built our own and stap_LDFLAGS points at the install.
- stap_LIBS="-ldw -lebl"
+ AS_IF([test "x$enable_staticdw" != xyes],[stap_LIBS="-ldw -lebl"],
+ [stap_LIBS="-Wl,--start-group -ldw -lebl -Wl,--end-group -lelf"])
fi
AC_SUBST(stap_LIBS)