|
@@ -0,0 +1,51 @@
|
|
|
+# Copyright © 2010 Guillem Jover <guillem@debian.org>
|
|
|
+
|
|
|
+# DPKG_CODE_COVERAGE
|
|
|
+# ------------------
|
|
|
+# Add configuration option to enable code coverage support.
|
|
|
+AC_DEFUN([DPKG_CODE_COVERAGE],
|
|
|
+[
|
|
|
+AC_ARG_ENABLE(coverage,
|
|
|
+ AS_HELP_STRING([--enable-coverage],
|
|
|
+ [whether to enable code coverage]),
|
|
|
+ [],
|
|
|
+ [enable_coverage=no])
|
|
|
+AM_CONDITIONAL(COVERAGE_ENABLED, test x$enable_coverage = xyes)
|
|
|
+
|
|
|
+if test "x$enable_coverage" = "xyes"; then
|
|
|
+ if test "x$GCC" = "xno"; then
|
|
|
+ AC_MSG_ERROR([not compiling with gcc, which is required for C coverage support])
|
|
|
+ fi
|
|
|
+
|
|
|
+ AC_CHECK_PROGS([GCOV], [gcov])
|
|
|
+ if test -z "$GCOV"; then
|
|
|
+ AC_MSG_ERROR([missing gcov, which is required for C coverage support])
|
|
|
+ fi
|
|
|
+
|
|
|
+ AC_CHECK_PROGS([LCOV], [lcov])
|
|
|
+ if test -z "$LCOV"; then
|
|
|
+ AC_MSG_ERROR([missing lcov, which is required for C coverage support])
|
|
|
+ fi
|
|
|
+
|
|
|
+ AC_CHECK_PROGS([LCOV_GENHTML], [genhtml])
|
|
|
+ if test -z "$LCOV_GENHTML"; then
|
|
|
+ AC_MSG_ERROR([missing genhtml, which is required for C coverage support])
|
|
|
+ fi
|
|
|
+
|
|
|
+ CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
|
|
|
+ LDFLAGS="$LDFLAGS -fprofile-arcs -ftest-coverage"
|
|
|
+
|
|
|
+ AC_MSG_CHECKING([for Devel::Cover perl module])
|
|
|
+ if $($PERL -e "require Devel::Cover;" 2>/dev/null); then
|
|
|
+ PERL_COVERAGE="-MDevel::Cover"
|
|
|
+ AC_SUBST(PERL_COVERAGE)
|
|
|
+ AC_MSG_RESULT([ok])
|
|
|
+ else
|
|
|
+ AC_MSG_ERROR([Devel::Cover perl module is required for coverage support])
|
|
|
+ fi
|
|
|
+ AC_CHECK_PROGS([PERL_COVER], [cover])
|
|
|
+ if test -z "$PERL_COVER"; then
|
|
|
+ AC_MSG_ERROR([missing cover, which is required for perl coverage support])
|
|
|
+ fi
|
|
|
+fi
|
|
|
+])
|