Merged revisions 279953 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Tue, 27 Jul 2010 21:16:39 +0000 (21:16 +0000)
committerRussell Bryant <russell@russellbryant.com>
Tue, 27 Jul 2010 21:16:39 +0000 (21:16 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r279953 | russell | 2010-07-27 16:16:05 -0500 (Tue, 27 Jul 2010) | 5 lines

  Add --enable-coverage option to configure script.

  This option enables the proper compiler flags for tracking code coverage, which
  is useful along side automated testing.
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@279954 65c4cc65-6c06-0410-ace0-fbb531ad65f3

Makefile.rules
configure
configure.ac
makeopts.in

index 03bc7e8..45f7e4b 100644 (file)
@@ -43,12 +43,17 @@ ifneq ($(findstring darwin,$(OSARCH)),)
   endif
 endif
 
-ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS)),)
+ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS))$(AST_CODE_COVERAGE),no)
     _ASTCFLAGS+=$(OPTIMIZE)
 else
     _ASTCFLAGS+=-O0
 endif
 
+ifeq ($(AST_CODE_COVERAGE),yes)
+    _ASTCFLAGS+=-ftest-coverage -fprofile-arcs
+    _ASTLDFLAGS+=-ftest-coverage -fprofile-arcs
+endif
+
 ifeq ($(findstring $(CONFIG_CFLAGS),$(_ASTCFLAGS)),)
     _ASTCFLAGS+=$(CONFIG_CFLAGS)
 endif
index ed3f460..7f40f51 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.ac Revision: 279624 .
+# From configure.ac Revision: 279659 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.65 for asterisk trunk.
 #
@@ -1008,6 +1008,7 @@ PBX_ALSA
 ALSA_DIR
 ALSA_INCLUDE
 ALSA_LIB
+AST_CODE_COVERAGE
 AST_DEVMODE
 NOISY_BUILD
 PTHREAD_CFLAGS
@@ -1132,6 +1133,7 @@ ac_user_opts='
 enable_option_checking
 with_gnu_ld
 enable_dev_mode
+enable_coverage
 with_asound
 with_avcodec
 with_bluetooth
@@ -1834,6 +1836,7 @@ Optional Features:
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --enable-dev-mode       Turn on developer mode
+  --enable-coverage       Turn on code coverage tracking (for gcov)
   --disable-largefile     omit support for large files
   --enable-internal-poll  Use Asterisk's poll implementation
   --disable-xmldoc        Explicity disable XML documentation
@@ -8473,6 +8476,18 @@ fi
 
 
 
+AST_CODE_COVERAGE=no
+# Check whether --enable-coverage was given.
+if test "${enable_coverage+set}" = set; then :
+  enableval=$enable_coverage; case "${enableval}" in
+             y|ye|yes) AST_CODE_COVERAGE=yes ;;
+             n|no) AST_CODE_COVERAGE=no ;;
+             *) as_fn_error "bad value ${enableval} for --enable-coverage" "$LINENO" 5  ;;
+       esac
+fi
+
+
+
 # AST_EXT_LIB_SETUP is used to tell configure to handle variables for
 # various packages.
 # $1 is the prefix for the variables in makeopts and autoconfig.h
index b0adfd7..dfc45a5 100644 (file)
@@ -288,6 +288,17 @@ AC_ARG_ENABLE([dev-mode],
 AC_SUBST(NOISY_BUILD)
 AC_SUBST(AST_DEVMODE)
 
+AST_CODE_COVERAGE=no
+AC_ARG_ENABLE([coverage],
+       [AS_HELP_STRING([--enable-coverage],
+               [Turn on code coverage tracking (for gcov)])],
+       [case "${enableval}" in
+             y|ye|yes) AST_CODE_COVERAGE=yes ;;
+             n|no) AST_CODE_COVERAGE=no ;;
+             *) AC_MSG_ERROR(bad value ${enableval} for --enable-coverage)  ;;
+       esac])
+AC_SUBST(AST_CODE_COVERAGE)
+
 # AST_EXT_LIB_SETUP is used to tell configure to handle variables for
 # various packages.
 # $1 is the prefix for the variables in makeopts and autoconfig.h
index e425dbc..750a41d 100644 (file)
@@ -79,6 +79,8 @@ sysconfdir = @sysconfdir@
 AST_DEVMODE=@AST_DEVMODE@
 NOISY_BUILD=@NOISY_BUILD@
 
+AST_CODE_COVERAGE=@AST_CODE_COVERAGE@
+
 AST_DECLARATION_AFTER_STATEMENT=@AST_DECLARATION_AFTER_STATEMENT@
 AST_NO_STRICT_OVERFLOW=@AST_NO_STRICT_OVERFLOW@
 AST_SHADOW_WARNINGS=@AST_SHADOW_WARNINGS@