dpkg (1.18.25) stretch; urgency=medium
[dpkg] / m4 / dpkg-coverage.m4
CommitLineData
1479465f
GJ
1# Copyright © 2010 Guillem Jover <guillem@debian.org>
2
3# DPKG_CODE_COVERAGE
4# ------------------
5# Add configuration option to enable code coverage support.
6AC_DEFUN([DPKG_CODE_COVERAGE], [
7 AC_ARG_ENABLE([coverage],
8 [AS_HELP_STRING([--enable-coverage], [whether to enable code coverage])],
9 [], [enable_coverage=no])
10 AM_CONDITIONAL([COVERAGE_ENABLED], [test x$enable_coverage = xyes])
11
12 AS_IF([test "x$enable_coverage" = "xyes"], [
13 AS_IF([test "x$GCC" = "xno"], [
14 AC_MSG_ERROR([not compiling with gcc, which is required for C coverage support])
15 ])
16
17 AC_CHECK_PROGS([GCOV], [gcov])
18 AS_IF([test -z "$GCOV"], [
19 AC_MSG_ERROR([missing gcov, which is required for C coverage support])
20 ])
21
22 AC_CHECK_PROGS([LCOV], [lcov])
23 AS_IF([test -z "$LCOV"], [
24 AC_MSG_ERROR([missing lcov, which is required for C coverage support])
25 ])
26
27 AC_CHECK_PROGS([LCOV_GENHTML], [genhtml])
28 AS_IF([test -z "$LCOV_GENHTML"], [
29 AC_MSG_ERROR([missing genhtml, which is required for C coverage support])
30 ])
31
32 CFLAGS="$CFLAGS --coverage"
33 LDFLAGS="$LDFLAGS --coverage"
34
35 AC_MSG_CHECKING([for Devel::Cover perl module])
36 AS_IF([$($PERL -e "require Devel::Cover;" 2>/dev/null)], [
37 PERL_COVERAGE="-MDevel::Cover"
38 AC_SUBST(PERL_COVERAGE)
39 AC_MSG_RESULT([ok])
40 ], [
41 AC_MSG_ERROR([Devel::Cover perl module is required for coverage support])
42 ])
43 AC_CHECK_PROGS([PERL_COVER], [cover])
44 AS_IF([test -z "$PERL_COVER"], [
45 AC_MSG_ERROR([missing cover, which is required for perl coverage support])
46 ])
47 ])
48 AC_MSG_CHECKING([whether to build with code coverage])
49 AC_MSG_RESULT([$enable_coverage])
50])