From bdeddb89f727c434ad499da5a349f3959eba3226 Mon Sep 17 00:00:00 2001 From: Mikko Koppanen Date: Sat, 2 Apr 2011 22:49:41 +0200 Subject: [PATCH] Added code coverage checking Signed-off-by: Mikko Koppanen --- acinclude.m4 | 32 ++++++++++++++++++++++++++++++++ configure.in | 3 +++ 2 files changed, 35 insertions(+) diff --git a/acinclude.m4 b/acinclude.m4 index 1257c9e0..f488b004 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -317,6 +317,38 @@ AC_DEFUN([AC_ZMQ_CHECK_ENABLE_DEBUG], [{ fi }]) +dnl ############################################################################## +dnl # AC_ZMQ_WITH_GCOV([action-if-found], [action-if-not-found]) # +dnl # Check whether to build with code coverage # +dnl ############################################################################## +AC_DEFUN([AC_ZMQ_WITH_GCOV], [{ + # Require compiler specifics + AC_REQUIRE([AC_ZMQ_CHECK_COMPILERS]) + + AC_ARG_WITH(gcov, [AS_HELP_STRING([--with-gcov=yes/no], + [With GCC Code Coverage reporting.])], + [ZMQ_GCOV="$withval"]) + + AC_MSG_CHECKING(whether to enable code coverage) + + if test "x$GXX" != "xyes"; then + AC_MSG_ERROR([--with-gcov=yes works only with GCC]) + fi + + CFLAGS="-g -O0 -fprofile-arcs -ftest-coverage" + if test "x${ZMQ_ORIG_CPPFLAGS}" != "xnone"; then + CFLAGS="${CFLAGS} ${ZMQ_ORIG_CFLAGS}" + fi + + CPPFLAGS="-g -O0 -fprofile-arcs -ftest-coverage" + if test "x${ZMQ_ORIG_CPPFLAGS}" != "xnone"; then + CPPFLAGS="${CPPFLAGS} ${ZMQ_ORIG_CPPFLAGS}" + fi + + AS_IF([test "x$ZMQ_GCOV" = "xyes"], + [AC_MSG_RESULT(yes) ; $1], [AC_MSG_RESULT(no) ; $2]) +}]) + dnl ############################################################################## dnl # AC_ZMQ_CHECK_WITH_FLAG([flags], [macro]) # dnl # Runs a normal autoconf check with compiler flags # diff --git a/configure.in b/configure.in index bd0e8481..211dda34 100644 --- a/configure.in +++ b/configure.in @@ -57,6 +57,9 @@ AC_PROG_LIBTOOL # Check whether to build a with debug symbols AC_ZMQ_CHECK_ENABLE_DEBUG +# Check wheter to enable code coverage +AC_ZMQ_WITH_GCOV + # Checks for libraries. AC_CHECK_LIB([pthread], [pthread_create])