diff options
author | Emanuele Aina <em@nerd.ocracy.org> | 2007-06-26 13:21:54 +0000 |
---|---|---|
committer | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2009-05-15 16:18:44 +0100 |
commit | 5f881517714b1a0b4b504174379d773749231a7e (patch) | |
tree | aaf9df3a6bbb9ae679441a6f7e1ed4b98859abbf | |
parent | 88bc0fe9e1019025221ed0849417bfcb14999568 (diff) |
Fixed the valgrind and coverage compile options reorganizing the macro inclusion
-rw-r--r-- | m4/wocky-gcov.m4 | 57 | ||||
-rw-r--r-- | m4/wocky-lcov.m4 | 12 |
2 files changed, 39 insertions, 30 deletions
diff --git a/m4/wocky-gcov.m4 b/m4/wocky-gcov.m4 index 5257c07..5103526 100644 --- a/m4/wocky-gcov.m4 +++ b/m4/wocky-gcov.m4 @@ -2,38 +2,39 @@ dnl Detect and set flags for gcov AC_DEFUN([WOCKY_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([WOCKY_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) ]) diff --git a/m4/wocky-lcov.m4 b/m4/wocky-lcov.m4 index a701510..bc3aa0d 100644 --- a/m4/wocky-lcov.m4 +++ b/m4/wocky-lcov.m4 @@ -2,9 +2,11 @@ dnl Check for lcov utility AC_DEFUN([WOCKY_LCOV], [ - AC_PATH_PROG(LCOV_PATH, [lcov], [no]) + enable=$1 - if test X$LCOV_PATH != Xno ; then + AC_PATH_PROG(LCOV_PATH, lcov) + + if test -n "$LCOV_PATH" ; then AC_MSG_CHECKING([whether lcov accepts --compat-libtool]) if $LCOV_PATH --compat-libtool --help > /dev/null 2>&1 ; then AC_MSG_RESULT(ok) @@ -12,12 +14,14 @@ AC_DEFUN([WOCKY_LCOV], AC_MSG_RESULT(no) AC_MSG_WARN([lcov option --compat-libtool is not supported]) AC_MSG_WARN([update lcov to version > 1.5]) - LCOV_PATH=no + LCOV_PATH="" fi fi - if test X$LCOV_PATH == Xno ; then + if test -z "$LCOV_PATH" ; then AC_MSG_WARN([will use an internal lcov copy]) LCOV_PATH='$(top_srcdir)/scripts/lcov/lcov' fi + + AM_CONDITIONAL(HAVE_LCOV, test -n "$LCOV_PATH" && test "x$enable" = xyes) ]) |