]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Add --enable-coverage for coverage instrumentation 2117/head
authorRuben Kerkhof <ruben@rubenkerkhof.com>
Sat, 24 Jan 2015 22:10:25 +0000 (23:10 +0100)
committerRuben Kerkhof <ruben@rubenkerkhof.com>
Sun, 25 Jan 2015 16:29:44 +0000 (17:29 +0100)
.gitignore
configure.ac
m4/pdns_enable_coverage.m4 [new file with mode: 0644]
pdns/Makefile.am

index 1de1b0f53fc6bc6fe2c23d8dedd1f8b1747d2d5a..9fe812cee905ffd990ac4b72302985fdad70cf43 100644 (file)
@@ -42,3 +42,6 @@ pdns-*.tar.bz2
 .*DS_Store
 *~
 pdns.pid
+*.gcda
+*.gcno
+*.gcov
index b1972524dc619f69ded8a08c89715299de378071..2c68538448d940129bc177fe2203d0c7597f18e5 100644 (file)
@@ -306,6 +306,8 @@ AS_IF([test "x$static" != "xyes"], [
   LDFLAGS="$PIE_LDFLAGS $LDFLAGS"
 ])
 
+PDNS_ENABLE_COVERAGE
+
 AC_SUBST(LIBS)
 
 AC_SUBST([AM_CPPFLAGS],
diff --git a/m4/pdns_enable_coverage.m4 b/m4/pdns_enable_coverage.m4
new file mode 100644 (file)
index 0000000..17846ff
--- /dev/null
@@ -0,0 +1,17 @@
+AC_DEFUN([PDNS_ENABLE_COVERAGE], [
+  AC_MSG_CHECKING([whether to enable code coverage])
+  AC_ARG_ENABLE([coverage],
+    AS_HELP_STRING([--enable-coverage],
+      [enable code coverage @<:@default=no@:>@]),
+    [enable_coverage=$enableval],
+    [enable_coverage=no]
+  )
+  AC_MSG_RESULT([$enable_coverage])
+  AS_IF([test "x$enable_coverage" != "xno"], [
+    gl_COMPILER_OPTION_IF([-fprofile-arcs -ftest-coverage], [
+      CXXFLAGS="$CXXFLAGS -U_FORTIFY_SOURCE -g -O0 -fprofile-arcs -ftest-coverage"
+    ], [
+      AC_MSG_ERROR([$CXX does not support gathering coverage data])
+    ])
+  ])
+])
index 1f9585187909a506e5a376cfd460409530d1b20c..cf8a56b556feaf6abc7db15c9041c08c8b8eff69 100644 (file)
@@ -48,7 +48,14 @@ BUILT_SOURCES = \
        version_generated.h \
        bindparser.h
 
-CLEANFILES = version_generated.h
+CLEANFILES = \
+       version_generated.h \
+       *.gcda \
+       *.gcno \
+       *.gcov \
+       backends/gsql/gsqlbackend.gcda \
+       backends/gsql/gsqlbackend.gcno \
+       backends/gsql/gsqlbackend.gcov
 
 noinst_SCRIPTS = pdns.init
 sysconf_DATA = pdns.conf-dist