From c5fbbdf2f1f5691d3d1dc6b6b30507624640bf4b Mon Sep 17 00:00:00 2001 From: Emanuele Aina Date: Mon, 25 Jun 2007 07:57:42 +0000 Subject: Split the command line settings from the detection of libraries and utilities 20070625075742-f974e-6695a3b35627caa5a09411094577c68d34a60d1e.gz --- m4/salut-args.m4 | 119 ++++++++++----------------------------------------- m4/salut-gcov.m4 | 48 +++++++++++++++++++++ m4/salut-lcov.m4 | 22 ++++++++++ m4/salut-valgrind.m4 | 23 ++++++++++ 4 files changed, 115 insertions(+), 97 deletions(-) create mode 100644 m4/salut-gcov.m4 create mode 100644 m4/salut-lcov.m4 create mode 100644 m4/salut-valgrind.m4 (limited to 'm4') diff --git a/m4/salut-args.m4 b/m4/salut-args.m4 index 83ce09f0..eee986da 100644 --- a/m4/salut-args.m4 +++ b/m4/salut-args.m4 @@ -1,9 +1,9 @@ -dnl configure-time options shared among gstreamer modules +dnl configure-time options for Telepathy Salut dnl SALUT_ARG_DEBUG dnl SALUT_ARG_PROFILING dnl SALUT_ARG_VALGRIND -dnl SALUT_ARG_GCOV +dnl SALUT_ARG_COVERAGE AC_DEFUN([SALUT_ARG_DEBUG], [ @@ -12,12 +12,12 @@ AC_DEFUN([SALUT_ARG_DEBUG], AC_HELP_STRING([--disable-debug],[disable addition of -g debugging info]), [ case "${enableval}" in - yes) USE_DEBUG=yes ;; - no) USE_DEBUG=no ;; + yes) ENABLE_DEBUG=yes ;; + no) ENABLE_DEBUG=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;; esac ], - [USE_DEBUG=yes]) dnl Default value + [ENABLE_DEBUG=yes]) dnl Default value ]) AC_DEFUN([SALUT_ARG_PROFILING], @@ -27,12 +27,12 @@ AC_DEFUN([SALUT_ARG_PROFILING], [adds -pg to compiler commandline, for profiling]), [ case "${enableval}" in - yes) USE_PROFILING=yes ;; - no) USE_PROFILING=no ;; + yes) ENABLE_PROFILING=yes ;; + no) ENABLE_PROFILING=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;; esac ], - [USE_PROFILING=no]) dnl Default value + [ENABLE_PROFILING=no]) dnl Default value ]) AC_DEFUN([SALUT_ARG_VALGRIND], @@ -42,100 +42,25 @@ AC_DEFUN([SALUT_ARG_VALGRIND], AC_HELP_STRING([--disable-valgrind],[disable run-time valgrind detection]), [ case "${enableval}" in - yes) USE_VALGRIND="$USE_DEBUG" ;; - no) USE_VALGRIND=no ;; + yes) ENABLE_VALGRIND=yes ;; + no) ENABLE_VALGRIND=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-valgrind) ;; esac ], - [ - USE_VALGRIND=no - ]) - - VALGRIND_REQ="2.1" - if test "x$USE_VALGRIND" = xyes; then - PKG_CHECK_MODULES(VALGRIND, valgrind > $VALGRIND_REQ, - USE_VALGRIND="yes", - [ - USE_VALGRIND="no" - AC_MSG_RESULT([no]) - ]) - fi - - if test "x$USE_VALGRIND" = xyes; then - AC_DEFINE(HAVE_VALGRIND, 1, [Define if valgrind should be used]) - AC_MSG_NOTICE(Using extra code paths for valgrind) - fi - - AC_SUBST(VALGRIND_CFLAGS) - AC_SUBST(VALGRIND_LIBS) - - AC_PATH_PROG(VALGRIND_PATH, valgrind, no) - AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno") + [ENABLE_VALGRIND=no]) ]) -AC_DEFUN([SALUT_ARG_GCOV], +AC_DEFUN([SALUT_ARG_COVERAGE], [ - AC_ARG_ENABLE(gcov, - AC_HELP_STRING([--enable-gcov], + AC_ARG_ENABLE(coverage, + AC_HELP_STRING([--enable-coverage], [compile with coverage profiling instrumentation (gcc only)]), - enable_gcov=$enableval, - enable_gcov=no) - if test x$enable_gcov = xyes ; then - if test "x$GCC" != "xyes" - then - AC_MSG_ERROR([gcov only works if gcc is used]) - fi - - AS_COMPILER_FLAG(["-fprofile-arcs"], - [GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs"], - true) - 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) - - AC_SUBST([MOSTLYCLEANFILES], "*.bb *.bbg *.da *.gcov *.gcda *.gcno") - - GCOV_ENABLED=yes - AC_DEFINE_UNQUOTED(GCOV_ENABLED, 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$GCOV_ENABLED" = "xyes" - then - CFLAGS="-O0" - AC_SUBST(CFLAGS) - CXXFLAGS="-O0" - AC_SUBST(CXXFLAGS) - FFLAGS="-O0" - AC_SUBST(FFLAGS) - CCASFLAGS="-O0" - AC_SUBST(CCASFLAGS) - AC_MSG_NOTICE([gcov enabled, setting CFLAGS and friends to $CFLAGS]) - fi - - dnl Check for lcov utility - AC_PATH_PROG(LCOV_PATH, [lcov], [false]) - if test X$LCOV_PATH != Xfalse ; then - AC_MSG_CHECKING([whether lcov accepts --compat-libtool]) - if $LCOV_PATH --compat-libtool --help > /dev/null 2>&1 ; then - AC_MSG_RESULT(ok) - else - AC_MSG_RESULT(not supported) - AC_MSG_WARN([lcov option --compat-libtool is not supported]) - AC_MSG_WARN([Update lcov to version > 1.5]) - AC_MSG_WARN([will use an internal lcov copy]) - LCOV_PATH='$(top_srcdir)/scripts/lcov/lcov' - fi - fi - fi - AM_CONDITIONAL(GCOV_ENABLED, test x$enable_gcov = xyes) + [ + case "${enableval}" in + yes) ENABLE_COVERAGE=yes ;; + no) ENABLE_COVERAGE=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-coverage) ;; + esac + ], + [ENABLE_COVERAGE=no]) ]) diff --git a/m4/salut-gcov.m4 b/m4/salut-gcov.m4 new file mode 100644 index 00000000..08c4ad3e --- /dev/null +++ b/m4/salut-gcov.m4 @@ -0,0 +1,48 @@ +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 + + AS_COMPILER_FLAG(["-fprofile-arcs"], + [GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs"], + true) + 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) + + AC_SUBST([MOSTLYCLEANFILES], "*.bb *.bbg *.da *.gcov *.gcda *.gcno") + + GCOV_ENABLED=yes + 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" + AC_SUBST(CXXFLAGS) + FFLAGS="-O0" + AC_SUBST(FFLAGS) + CCASFLAGS="-O0" + AC_SUBST(CCASFLAGS) + AC_MSG_NOTICE([gcov enabled, setting CFLAGS and friends to $CFLAGS]) + fi + + AM_CONDITIONAL(HAVE_GCOV, test x$HAVE_GCOV = xyes) +]) diff --git a/m4/salut-lcov.m4 b/m4/salut-lcov.m4 new file mode 100644 index 00000000..c3ad58f3 --- /dev/null +++ b/m4/salut-lcov.m4 @@ -0,0 +1,22 @@ +dnl Check for lcov utility + +AC_DEFUN([SALUT_LCOV], +[ + AC_PATH_PROG(LCOV_PATH, [lcov], [no]) + + if test X$LCOV_PATH != Xno ; then + AC_MSG_CHECKING([whether lcov accepts --compat-libtool]) + if $LCOV_PATH --compat-libtool --help > /dev/null 2>&1 ; then + AC_MSG_RESULT(ok) + else + AC_MSG_WARN([lcov option --compat-libtool is not supported]) + AC_MSG_WARN([update lcov to version > 1.5]) + LCOV_PATH=no + fi + fi + + if test X$LCOV_PATH == Xno ; then + AC_MSG_WARN([will use an internal lcov copy]) + LCOV_PATH='$(top_srcdir)/scripts/lcov/lcov' + fi +]) diff --git a/m4/salut-valgrind.m4 b/m4/salut-valgrind.m4 new file mode 100644 index 00000000..53ff90f1 --- /dev/null +++ b/m4/salut-valgrind.m4 @@ -0,0 +1,23 @@ +dnl Detect Valgrind location and flags + +AC_DEFUN([SALUT_VALGRIND], +[ + VALGRIND_REQ="2.1" + PKG_CHECK_MODULES(VALGRIND, valgrind > $VALGRIND_REQ, + use_valgrind="yes", + [ + use_valgrind="no" + AC_MSG_RESULT([no]) + ]) + + if test "x$use_valgrind" = xyes; then + AC_DEFINE(HAVE_VALGRIND, 1, [Define if valgrind should be used]) + AC_MSG_NOTICE(Using extra code paths for valgrind) + fi + + AC_SUBST(VALGRIND_CFLAGS) + AC_SUBST(VALGRIND_LIBS) + + AC_PATH_PROG(VALGRIND_PATH, valgrind, no) + AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno") +]) -- cgit v1.2.1