spot/m4/valgrind.m4
2012-08-22 13:53:59 +02:00

33 lines
981 B
Text

# _AX_CHECK_VALGRIND_SANITY(IF-SANE, IF-NOT)
# ------------------------------------------
# Some installations of valgrind emit spurious warnings in ld.so or
# other standard libraries. We cannot rely on these during "make check".
# We check that by running valgrind on "ls".
AC_DEFUN([_AX_CHECK_VALGRIND_SANITY],
[
if (exec 8>valgrind.err
exitcode=0
$VALGRIND --tool=memcheck --leak-check=yes --log-fd=8 -q ls >/dev/null ||
exitcode=$?
test -z "`sed 1q valgrind.err`" || exitcode=50
rm -f valgrind.err
exit $exitcode
); then
$1;
else
$2;
fi
])
AC_DEFUN([AX_CHECK_VALGRIND], [
AC_CHECK_PROG([VALGRIND], [valgrind], [valgrind])
if test -n "$VALGRIND"; then
AC_CACHE_CHECK([whether valgrind is sane],
[ax_cv_valgrind_sanity],
[_AX_CHECK_VALGRIND_SANITY([ax_cv_valgrind_sanity=yes],
[ax_cv_valgrind_sanity=no])])
if test x"$ax_cv_valgrind_sanity" = xno; then
VALGRIND=
fi
fi
])