# Support for coverage analysis via gcov:
# from http://fragglet.livejournal.com/14291.html
AC_DEFUN([DODS_GCOV_VALGRIND],
[
AC_ARG_ENABLE(coverage,
[AS_HELP_STRING([--enable-coverage],
[Collect coverage data (default is no)]) ],
[coverage=$enableval],
[coverage=no])
AS_IF([test x$coverage = xyes],
[ AS_IF([test x$GCC = xyes],
[ CFLAGS="-fprofile-arcs -ftest-coverage -pg $CFLAGS"
CXXFLAGS="-fprofile-arcs -ftest-coverage -pg $CXXFLAGS"
LDFLAGS="-pg $LDFLAGS"
AC_CHECK_LIB([gcov], [gcov_open],[LIBS="$LIBS -lgcov"],[],[])
AC_MSG_NOTICE([Building coverage reporting.]) ],
[ AC_MSG_ERROR([Can only enable coverage when using gcc.]) ]) ])
# Support for running test cases using valgrind:
use_valgrind=no
AC_ARG_ENABLE(valgrind,
[AS_HELP_STRING([--enable-valgrind],
[Use valgrind when running unit tests. (default is no)])],
[use_valgrind=$enableval],
[use_valgrind=no])
AS_IF([test x$use_valgrind = xyes ],
[ AC_CHECK_PROG(HAVE_VALGRIND, valgrind, yes, no)
AS_IF([test x$HAVE_VALGRIND = xyes ],
[AC_MSG_NOTICE([Using valgrind with unit tests.])],
[AC_MSG_ERROR([Valgrind not found in PATH.])])])
AM_CONDITIONAL(USE_VALGRIND, [test x$use_valgrind = xyes])
])