summaryrefslogtreecommitdiff
path: root/m4/salut-gcov.m4
diff options
context:
space:
mode:
authorEmanuele Aina <em@nerd.ocracy.org>2007-06-26 13:21:54 +0000
committerEmanuele Aina <em@nerd.ocracy.org>2007-06-26 13:21:54 +0000
commit0e15968b5ee1c61bf9e1720e5240b598a1143660 (patch)
tree258fde9d484996323066b81ede07aa40ba081430 /m4/salut-gcov.m4
parentee29278e4d92f0057277199c3947a666ec3c4aa1 (diff)
downloadtelepathy-salut-0e15968b5ee1c61bf9e1720e5240b598a1143660.tar.gz
Fixed the valgrind and coverage compile options reorganizing the macro inclusion
20070626132154-f974e-1c612eaa640fd535b4ebb5b8bfc40695ff9819f5.gz
Diffstat (limited to 'm4/salut-gcov.m4')
-rw-r--r--m4/salut-gcov.m457
1 files changed, 31 insertions, 26 deletions
diff --git a/m4/salut-gcov.m4 b/m4/salut-gcov.m4
index 00bd7314..25fcb50f 100644
--- a/m4/salut-gcov.m4
+++ b/m4/salut-gcov.m4
@@ -2,38 +2,39 @@ dnl Detect and set flags for gcov
AC_DEFUN([SALUT_GCOV],
[
- if test "x$GCC" != "xyes"
- then
- AC_MSG_ERROR([gcov only works if gcc is used])
- fi
+ enable=$1
+
+ GCOV=`echo $CC | sed s/gcc/gcov/g`
+ AC_CHECK_PROG(have_gcov, $GCOV, yes, no)
AS_COMPILER_FLAG(["-fprofile-arcs"],
- [GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs"],
- true)
+ [flag_profile_arcs=yes],
+ [flag_profile_arcs=no])
+
AS_COMPILER_FLAG(["-ftest-coverage"],
- [GCOV_CFLAGS="$GCOV_CFLAGS -ftest-coverage"],
- true)
- dnl remove any -O flags - FIXME: is this needed ?
- GCOV_CFLAGS=`echo "$GCOV_CFLAGS" | sed -e 's/-O[[0-9]]*//g'`
- dnl libtool 1.5.22 and lower strip -fprofile-arcs from the flags
- dnl passed to the linker, which is a bug; -fprofile-arcs implicitly
- dnl links in -lgcov, so we do it explicitly here for the same effect
- GCOV_LIBS=-lgcov
- AC_SUBST(GCOV_CFLAGS)
- AC_SUBST(GCOV_LIBS)
- GCOV=`echo $CC | sed s/gcc/gcov/g`
- AC_SUBST(GCOV)
+ [flag_test_coverage=yes],
+ [flag_test_coverage=no])
- AC_SUBST([MOSTLYCLEANFILES], "*.bb *.bbg *.da *.gcov *.gcda *.gcno")
+ if test "x$enable" = xyes &&
+ test "x$GCC" = "xyes" &&
+ test "$flag_profile_arcs" = yes &&
+ test "$flag_test_coverage" = yes ;
+ then
- HAVE_GCOV=yes
+ GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs -ftest-coverage"
+ dnl remove any -O flags - FIXME: is this needed ?
+ GCOV_CFLAGS=`echo "$GCOV_CFLAGS" | sed -e 's/-O[[0-9]]*//g'`
- AC_DEFINE_UNQUOTED(HAVE_GCOV, 1,
- [Defined if gcov is enabled to force a rebuild due to config.h changing])
+ dnl libtool 1.5.22 and lower strip -fprofile-arcs from the flags
+ dnl passed to the linker, which is a bug; -fprofile-arcs implicitly
+ dnl links in -lgcov, so we do it explicitly here for the same effect
+ GCOV_LIBS=-lgcov
+
+ AC_SUBST([MOSTLYCLEANFILES], "*.bb *.bbg *.da *.gcov *.gcda *.gcno")
+
+ AC_DEFINE_UNQUOTED(HAVE_GCOV, 1,
+ [Defined if gcov is enabled to force a rebuild due to config.h changing])
- dnl if gcov is used, we do not want default -O2 CFLAGS
- if test "x$HAVE_GCOV" = "xyes"
- then
CFLAGS="-O0"
AC_SUBST(CFLAGS)
CXXFLAGS="-O0"
@@ -45,5 +46,9 @@ AC_DEFUN([SALUT_GCOV],
AC_MSG_NOTICE([gcov enabled, setting CFLAGS and friends to $CFLAGS])
fi
- AM_CONDITIONAL(HAVE_GCOV, test x$HAVE_GCOV = xyes)
+ AC_SUBST(GCOV_CFLAGS)
+ AC_SUBST(GCOV_LIBS)
+ AC_SUBST(GCOV)
+
+ AM_CONDITIONAL(HAVE_GCOV, test x$have_gcov = xyes)
])