configure: Add switches for enabling/disabling libdw and libunwind

https://bugzilla.gnome.org/show_bug.cgi?id=778193
This commit is contained in:
Carlos Rafael Giani 2017-08-11 21:17:06 +02:00 committed by Tim-Philipp Müller
parent 208d500c67
commit 4d25706ff1

View file

@ -799,19 +799,45 @@ fi
AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
dnl libunwind is optionally used by the leaks tracer
PKG_CHECK_MODULES(UNWIND, libunwind, HAVE_UNWIND=yes, HAVE_UNWIND=no)
if test "x$HAVE_UNWIND" = "xyes"; then
AC_DEFINE(HAVE_UNWIND, 1, [libunwind available])
UNWIND_REQUIRE=libunwind
AC_SUBST(UNWIND_REQUIRE)
AC_ARG_WITH([unwind],[AS_HELP_STRING([--with-unwind=yes|no|auto],[use libunwind])],
[], [with_unwind=auto])
if [ test "x${with_unwind}" != "xno" ]; then
PKG_CHECK_MODULES(UNWIND, [libunwind],
[
HAVE_UNWIND=yes
AC_DEFINE(HAVE_UNWIND, 1, [libunwind available])
UNWIND_REQUIRE=libunwind
AC_SUBST(UNWIND_REQUIRE)
],
[
HAVE_UNWIND=no
if [ test "x${with_unwind}" = "xyes" ]; then
AC_MSG_ERROR([could not find libunwind])
fi
])
else
HAVE_UNWIND=no
fi
dnl libdw is optionally used to add source lines and numbers to backtraces
PKG_CHECK_MODULES(DW, libdw, HAVE_DW=yes, HAVE_DW=no)
if test "x$HAVE_DW" = "xyes"; then
AC_DEFINE(HAVE_DW, 1, [libdw available])
DW_REQUIRE=libdw
AC_SUBST(DW_REQUIRE)
AC_ARG_WITH([dw],[AS_HELP_STRING([--with-dw=yes|no|auto],[use libdw])],
[], [with_dw=auto])
if [ test "x${with_dw}" != "xno" ]; then
PKG_CHECK_MODULES(DW, [libdw],
[
HAVE_DW=yes
AC_DEFINE(HAVE_DW, 1, [libdw available])
DW_REQUIRE=libdw
AC_SUBST(DW_REQUIRE)
],
[
HAVE_DW=no
if [ test "x${with_dw}" = "xyes" ]; then
AC_MSG_ERROR([could not find libdw])
fi
])
else
HAVE_DW=no
fi
dnl Check for backtrace() from libc