diff options
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 29 |
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) |