summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Karapetsas <[email protected]>2014-01-04 09:59:30 -0800
committerStefano Karapetsas <[email protected]>2014-01-04 09:59:30 -0800
commit56a56f089dac584b3a7b3b524c05eb5418ab4ab1 (patch)
tree816b3e60b51dc077dce315b45186cea16817f160
parent185a8813fec72f8c541192f59e93caca50e4ce68 (diff)
parentee67cdc2cd7c65318d21faed1056160f8355990e (diff)
downloadmate-common-56a56f089dac584b3a7b3b524c05eb5418ab4ab1.tar.bz2
mate-common-56a56f089dac584b3a7b3b524c05eb5418ab4ab1.tar.xz
Merge pull request #11 from infirit/gnomefixes
Many fixes from gnome-common that are useful for MATE
-rw-r--r--doc-build/omf.make10
-rw-r--r--macros/Makefile.am3
-rw-r--r--macros/mate-autogen163
-rw-r--r--macros/mate-code-coverage.m4165
-rw-r--r--macros/mate-common.m42
-rw-r--r--macros/mate-compiler-flags.m48
6 files changed, 242 insertions, 109 deletions
diff --git a/doc-build/omf.make b/doc-build/omf.make
index cb7acba..35dec24 100644
--- a/doc-build/omf.make
+++ b/doc-build/omf.make
@@ -36,19 +36,23 @@ omf: omf_timestamp
omf_timestamp: $(omffile)
-for file in $(omffile); do \
- scrollkeeper-preinstall $(docdir)/$(docname).xml $(srcdir)/$$file $$file.out; \
+ absfile=$(srcdir)/$$file; \
+ test -r $$file && absfile=$$file; \
+ scrollkeeper-preinstall $(docdir)/$(docname).xml $$absfile $$file.out; \
done; \
touch omf_timestamp
install-data-hook-omf:
$(mkinstalldirs) $(DESTDIR)$(omf_dest_dir)
for file in $(omffile); do \
- $(INSTALL_DATA) $$file.out $(DESTDIR)$(omf_dest_dir)/$$file; \
+ absfile=$(srcdir)/$$file.out; \
+ test -r $$file.out && absfile=$$file.out; \
+ $(INSTALL_DATA) $$absfile $(DESTDIR)$(omf_dest_dir)/$$file; \
done
-scrollkeeper-update -p $(DESTDIR)$(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir)
uninstall-local-omf:
- -for file in $(srcdir)/*.omf; do \
+ -for file in $(omffile); do \
basefile=`basename $$file`; \
rm -f $(DESTDIR)$(omf_dest_dir)/$$basefile; \
done
diff --git a/macros/Makefile.am b/macros/Makefile.am
index a94ad27..534844e 100644
--- a/macros/Makefile.am
+++ b/macros/Makefile.am
@@ -2,7 +2,8 @@
MATE2_MACROS = \
mate-common.m4 \
- mate-compiler-flags.m4
+ mate-compiler-flags.m4 \
+ mate-code-coverage.m4
EXTRA_DIST = $(MATE2_MACROS) mate-autogen
diff --git a/macros/mate-autogen b/macros/mate-autogen
index b231084..cda8d3a 100644
--- a/macros/mate-autogen
+++ b/macros/mate-autogen
@@ -18,23 +18,23 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#name of package
-PKG_NAME=${PKG_NAME:-Package}
-srcdir=${srcdir:-.}
+test "PKG_NAME" || PKG_NAME=Package
+test "$srcdir" || srcdir=.
# default version requirements ...
-REQUIRED_AUTOCONF_VERSION=${REQUIRED_AUTOCONF_VERSION:-2.53}
-REQUIRED_AUTOMAKE_VERSION=${REQUIRED_AUTOMAKE_VERSION:-1.9}
-REQUIRED_LIBTOOL_VERSION=${REQUIRED_LIBTOOL_VERSION:-1.4.3}
-REQUIRED_GETTEXT_VERSION=${REQUIRED_GETTEXT_VERSION:-0.10.40}
-REQUIRED_GLIB_GETTEXT_VERSION=${REQUIRED_GLIB_GETTEXT_VERSION:-2.2.0}
-REQUIRED_INTLTOOL_VERSION=${REQUIRED_INTLTOOL_VERSION:-0.25}
-REQUIRED_PKG_CONFIG_VERSION=${REQUIRED_PKG_CONFIG_VERSION:-0.14.0}
-REQUIRED_GTK_DOC_VERSION=${REQUIRED_GTK_DOC_VERSION:-1.0}
-REQUIRED_DOC_COMMON_VERSION=${REQUIRED_DOC_COMMON_VERSION:-1.1.0}
+test "$REQUIRED_AUTOCONF_VERSION" || REQUIRED_AUTOCONF_VERSION=2.53
+test "$REQUIRED_AUTOMAKE_VERSION" || REQUIRED_AUTOMAKE_VERSION=1.9
+test "$REQUIRED_LIBTOOL_VERSION" || REQUIRED_LIBTOOL_VERSION=1.4.3
+test "$REQUIRED_GETTEXT_VERSION" || REQUIRED_GETTEXT_VERSION=0.10.40
+test "$REQUIRED_GLIB_GETTEXT_VERSION" || REQUIRED_GLIB_GETTEXT_VERSION=2.2.0
+test "$REQUIRED_INTLTOOL_VERSION" || REQUIRED_INTLTOOL_VERSION=0.25
+test "$REQUIRED_PKG_CONFIG_VERSION" || REQUIRED_PKG_CONFIG_VERSION=0.14.0
+test "$REQUIRED_GTK_DOC_VERSION" || REQUIRED_GTK_DOC_VERSION=1.0
+test "$REQUIRED_DOC_COMMON_VERSION" || REQUIRED_DOC_COMMON_VERSION=1.1.0
# a list of required m4 macros. Package can set an initial value
-REQUIRED_M4MACROS=${REQUIRED_M4MACROS:-}
-FORBIDDEN_M4MACROS=${FORBIDDEN_M4MACROS:-}
+test "$REQUIRED_M4MACROS" || REQUIRED_M4MACROS=
+test "$FORBIDDEN_M4MACROS" || FORBIDDEN_M4MACROS=
# Not all echo versions allow -n, so we check what is possible. This test is
# based on the one in autoconf.
@@ -51,8 +51,13 @@ case `echo -n x` in
esac
# some terminal codes ...
-boldface="`tput bold 2>/dev/null`"
-normal="`tput sgr0 2>/dev/null`"
+if tty < /dev/null 1>/dev/null 2>&1; then
+ boldface="`tput bold 2>/dev/null`"
+ normal="`tput sgr0 2>/dev/null`"
+else
+ boldface=
+ normal=
+fi
printbold() {
echo $ECHO_N "$boldface" $ECHO_C
echo "$@"
@@ -183,8 +188,8 @@ check_m4macros() {
# aclocal also searches a version specific dir, eg. /usr/share/aclocal-1.9
# but it contains only Automake's own macros, so we can ignore it.
- # Read the dirlist file, supported by Automake >= 1.7.
- if compare_versions 1.7 $AUTOMAKE_VERSION && [ -s $cm_macrodirs/dirlist ]; then
+ # Read the dirlist file
+ if [ -s $cm_macrodirs/dirlist ]; then
cm_dirlist=`sed 's/[ ]*#.*//;/^$/d' $cm_macrodirs/dirlist`
if [ -n "$cm_dirlist" ] ; then
for cm_dir in $cm_dirlist; do
@@ -274,7 +279,30 @@ want_gtk_doc=false
want_yelp_tools=false
want_maintainer_mode=false
-configure_files="`find $srcdir -name '{arch}' -prune -o -name '_darcs' -prune -o -name '.??*' -prune -o -name configure.ac -print -o -name configure.in -print`"
+#tell Mandrake autoconf wrapper we want autoconf 2.5x, not 2.13
+WANT_AUTOCONF_2_5=1
+export WANT_AUTOCONF_2_5
+version_check autoconf AUTOCONF 'autoconf2.50 autoconf autoconf-2.53' $REQUIRED_AUTOCONF_VERSION \
+ "http://ftp.gnu.org/pub/gnu/autoconf/autoconf-$REQUIRED_AUTOCONF_VERSION.tar.gz"
+AUTOHEADER=`echo $AUTOCONF | sed s/autoconf/autoheader/`
+
+find_configure_files() {
+ configure_ac=
+ if test -f "$1/configure.ac"; then
+ configure_ac="$1/configure.ac"
+ elif test -f "$1/configure.in"; then
+ configure_ac="$1/configure.in"
+ fi
+ if test "x$configure_ac" != x; then
+ echo "$configure_ac"
+ $AUTOCONF -t 'AC_CONFIG_SUBDIRS:$1' "$configure_ac" | while read dir; do
+ find_configure_files "$1/$dir"
+ done
+ fi
+}
+
+configure_files="`find_configure_files .`"
+
for configure_ac in $configure_files; do
dirname=`dirname $configure_ac`
if [ -f $dirname/NO-AUTO-GEN ]; then
@@ -320,15 +348,11 @@ for configure_ac in $configure_files; do
grep "^MATE_CXX_WARNINGS" $configure_ac >/dev/null; then
require_m4macro mate-compiler-flags.m4
fi
+ if grep "^MATE_CODE_COVERAGE" $configure_ac >/dev/null; then
+ require_m4macro mate-code-coverage.m4
+ fi
done
-#tell Mandrake autoconf wrapper we want autoconf 2.5x, not 2.13
-WANT_AUTOCONF_2_5=1
-export WANT_AUTOCONF_2_5
-version_check autoconf AUTOCONF 'autoconf2.50 autoconf autoconf-2.53' $REQUIRED_AUTOCONF_VERSION \
- "http://ftp.gnu.org/pub/gnu/autoconf/autoconf-$REQUIRED_AUTOCONF_VERSION.tar.gz"
-AUTOHEADER=`echo $AUTOCONF | sed s/autoconf/autoheader/`
-
case $REQUIRED_AUTOMAKE_VERSION in
1.4*) automake_progs="automake-1.4" ;;
1.5*) automake_progs="automake-1.14 automake-1.13 automake-1.12 automake-1.11 automake-1.10 automake-1.9 automake-1.8 automake-1.7 automake-1.6 automake-1.5" ;;
@@ -347,7 +371,7 @@ version_check automake AUTOMAKE "$automake_progs" $REQUIRED_AUTOMAKE_VERSION \
ACLOCAL=`echo $AUTOMAKE | sed s/automake/aclocal/`
if $want_libtool; then
- version_check libtool LIBTOOLIZE libtoolize $REQUIRED_LIBTOOL_VERSION \
+ version_check libtool LIBTOOLIZE "libtoolize glibtoolize" $REQUIRED_LIBTOOL_VERSION \
"http://ftp.gnu.org/pub/gnu/libtool/libtool-$REQUIRED_LIBTOOL_VERSION.tar.gz"
require_m4macro libtool.m4
fi
@@ -412,35 +436,14 @@ for configure_ac in $configure_files; do
printbold "Processing $configure_ac"
cd $dirname
- # Note that the order these tools are called should match what
- # autoconf's "autoupdate" package does. See bug 138584 for
- # details.
-
- # programs that might install new macros get run before aclocal
- if grep "^A[CM]_PROG_LIBTOOL" $basename >/dev/null ||
- grep "^LT_INIT" $basename >/dev/null; then
- printbold "Running $LIBTOOLIZE..."
- $LIBTOOLIZE --force --copy || exit 1
- fi
-
- if grep "^AM_GLIB_GNU_GETTEXT" $basename >/dev/null; then
- printbold "Running $GLIB_GETTEXTIZE... Ignore non-fatal messages."
- echo "no" | $GLIB_GETTEXTIZE --force --copy || exit 1
- elif grep "^AM_GNU_GETTEXT" $basename >/dev/null; then
- if grep "^AM_GNU_GETTEXT_VERSION" $basename > /dev/null; then
- printbold "Running autopoint..."
- autopoint --force || exit 1
- else
- printbold "Running $GETTEXTIZE... Ignore non-fatal messages."
- echo "no" | $GETTEXTIZE --force --copy || exit 1
- fi
+ # if the AC_CONFIG_MACRO_DIR() macro is used, create that directory
+ # This is a automake bug fixed in automake 1.13.2
+ # See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13514
+ m4dir=`autoconf --trace 'AC_CONFIG_MACRO_DIR:$1'`
+ if [ -n "$m4dir" ]; then
+ mkdir -p $m4dir
fi
- if grep "^AC_PROG_INTLTOOL" $basename >/dev/null ||
- grep "^IT_PROG_INTLTOOL" $basename >/dev/null; then
- printbold "Running $INTLTOOLIZE..."
- $INTLTOOLIZE --force --copy --automake || exit 1
- fi
if grep "^GTK_DOC_CHECK" $basename >/dev/null; then
printbold "Running $GTKDOCIZE..."
$GTKDOCIZE --copy || exit 1
@@ -451,54 +454,14 @@ for configure_ac in $configure_files; do
mate-doc-common --copy || exit 1
fi
- # Now run aclocal to pull in any additional macros needed
-
- # if the AC_CONFIG_MACRO_DIR() macro is used, pass that
- # directory to aclocal.
- m4dir=`cat "$basename" | grep '^AC_CONFIG_MACRO_DIR' | sed -n -e 's/AC_CONFIG_MACRO_DIR(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q`
- if [ -n "$m4dir" ]; then
- m4dir="-I $m4dir"
- fi
- printbold "Running $ACLOCAL..."
- $ACLOCAL $m4dir $ACLOCAL_FLAGS || exit 1
-
- if grep "MATE_AUTOGEN_OBSOLETE" aclocal.m4 >/dev/null; then
- printerr "*** obsolete mate macros were used in $configure_ac"
- fi
-
- # Now that all the macros are sorted, run autoconf and autoheader ...
- printbold "Running $AUTOCONF..."
- $AUTOCONF || exit 1
- if grep "^A[CM]_CONFIG_HEADER" $basename >/dev/null; then
- printbold "Running $AUTOHEADER..."
- $AUTOHEADER || exit 1
- # this prevents automake from thinking config.h.in is out of
- # date, since autoheader doesn't touch the file if it doesn't
- # change.
- test -f config.h.in && touch config.h.in
- fi
-
- # Finally, run automake to create the makefiles ...
- printbold "Running $AUTOMAKE..."
- if [ -f COPYING ]; then
- cp -pf COPYING COPYING.autogen_bak
- fi
- if [ -f INSTALL ]; then
- cp -pf INSTALL INSTALL.autogen_bak
- fi
- if [ $REQUIRED_AUTOMAKE_VERSION != 1.4 ]; then
- $AUTOMAKE --gnu --add-missing --force --copy -Wno-portability || exit 1
- else
- $AUTOMAKE --gnu --add-missing --copy || exit 1
+ if grep "^AC_PROG_INTLTOOL" $basename >/dev/null ||
+ grep "^IT_PROG_INTLTOOL" $basename >/dev/null; then
+ printbold "Running $INTLTOOLIZE..."
+ $INTLTOOLIZE --force --copy --automake || exit 1
fi
- if [ -f COPYING.autogen_bak ]; then
- cmp COPYING COPYING.autogen_bak > /dev/null || cp -pf COPYING.autogen_bak COPYING
- rm -f COPYING.autogen_bak
- fi
- if [ -f INSTALL.autogen_bak ]; then
- cmp INSTALL INSTALL.autogen_bak > /dev/null || cp -pf INSTALL.autogen_bak INSTALL
- rm -f INSTALL.autogen_bak
- fi
+ # Now that all the macros are sorted, run autoreconf ...
+ printbold "Running autoreconf..."
+ autoreconf --verbose --force --install -Wno-portability || exit 1
cd "$topdir"
fi
diff --git a/macros/mate-code-coverage.m4 b/macros/mate-code-coverage.m4
new file mode 100644
index 0000000..d38e165
--- /dev/null
+++ b/macros/mate-code-coverage.m4
@@ -0,0 +1,165 @@
+dnl **Based on GNOME's code coverage**
+dnl MATE_CODE_COVERAGE
+dnl
+dnl Defines CODE_COVERAGE_CFLAGS and CODE_COVERAGE_LDFLAGS which should be
+dnl included in the CFLAGS and LIBS/LDFLAGS variables of every build target
+dnl (program or library) which should be built with code coverage support.
+dnl Also defines MATE_CODE_COVERAGE_RULES which should be substituted in your
+dnl Makefile; and $enable_code_coverage which can be used in subsequent
+dnl configure output.
+dnl
+dnl Note that all optimisation flags in CFLAGS must be disabled when code
+dnl coverage is enabled.
+dnl
+dnl Derived from Makefile.decl in GLib, originally licenced under LGPLv2.1+.
+dnl This file is licenced under LGPLv2.1+.
+dnl
+dnl Usage example:
+dnl configure.ac:
+dnl MATE_CODE_COVERAGE
+dnl
+dnl Makefile.am:
+dnl @MATE_CODE_COVERAGE_RULES@
+dnl my_program_LIBS = … $(CODE_COVERAGE_LDFLAGS) …
+dnl my_program_CFLAGS = … $(CODE_COVERAGE_CFLAGS) …
+dnl
+dnl This results in a “check-code-coverage” rule being added to any Makefile.am
+dnl which includes “@MATE_CODE_COVERAGE_RULES@” (assuming the module has been
+dnl configured with --enable-code-coverage). Running `make check-code-coverage`
+dnl in that directory will run the module’s test suite (`make check`) and build
+dnl a code coverage report detailing the code which was touched, then print the
+dnl URI for the report.
+
+AC_DEFUN([MATE_CODE_COVERAGE],[
+ dnl Check for --enable-code-coverage
+ AC_MSG_CHECKING([whether to build with code coverage support])
+ AC_ARG_ENABLE([code-coverage], AS_HELP_STRING([--enable-code-coverage], [Whether to enable code coverage support]),, enable_code_coverage=no)
+ AM_CONDITIONAL([CODE_COVERAGE_ENABLED], [test x$enable_code_coverage = xyes])
+ AC_SUBST([CODE_COVERAGE_ENABLED], [$enable_code_coverage])
+ AC_MSG_RESULT($enable_code_coverage)
+
+ AS_IF([ test "$enable_code_coverage" = "yes" ], [
+ dnl Check if gcc is being used
+ AS_IF([ test "$GCC" = "no" ], [
+ AC_MSG_ERROR([not compiling with gcc, which is required for gcov code coverage])
+ ])
+
+ # List of supported lcov versions.
+ lcov_version_list="1.6 1.7 1.8 1.9 1.10"
+
+ AC_CHECK_PROG([LCOV], [lcov], [lcov])
+ AC_CHECK_PROG([GENHTML], [genhtml], [genhtml])
+
+ AS_IF([ test "$LCOV" ], [
+ AC_CACHE_CHECK([for lcov version], mate_cv_lcov_version, [
+ mate_cv_lcov_version=invalid
+ lcov_version=`$LCOV -v 2>/dev/null | $SED -e 's/^.* //'`
+ for lcov_check_version in $lcov_version_list; do
+ if test "$lcov_version" = "$lcov_check_version"; then
+ mate_cv_lcov_version="$lcov_check_version (ok)"
+ fi
+ done
+ ])
+ ], [
+ lcov_msg="To enable code coverage reporting you must have one of the following lcov versions installed: $lcov_version_list"
+ AC_MSG_ERROR([$lcov_msg])
+ ])
+
+ case $mate_cv_lcov_version in
+ ""|invalid[)]
+ lcov_msg="You must have one of the following versions of lcov: $lcov_version_list (found: $lcov_version)."
+ AC_MSG_ERROR([$lcov_msg])
+ LCOV="exit 0;"
+ ;;
+ esac
+
+ AS_IF([ test -z "$GENHTML" ], [
+ AC_MSG_ERROR([Could not find genhtml from the lcov package])
+ ])
+
+ dnl Build the code coverage flags
+ CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
+ CODE_COVERAGE_LDFLAGS="-lgcov"
+
+ AC_SUBST([CODE_COVERAGE_CFLAGS])
+ AC_SUBST([CODE_COVERAGE_LDFLAGS])
+ ])
+
+MATE_CODE_COVERAGE_RULES='
+# Code coverage
+#
+# Optional:
+# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting.
+# (Default: $(top_builddir))
+# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated
+# by lcov for code coverage. (Default:
+# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info)
+# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage
+# reports to be created. (Default:
+# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage)
+# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the lcov instance.
+# (Default: empty)
+# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml
+# instance. (Default: empty)
+# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore
+#
+# The generated report will be titled using the $(PACKAGE_NAME) and
+# $(PACKAGE_VERSION). In order to add the current git hash to the title,
+# use the git-version-gen script, available online.
+
+# Optional variables
+CODE_COVERAGE_DIRECTORY ?= $(top_builddir)
+CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info
+CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage
+CODE_COVERAGE_LCOV_OPTIONS ?=
+CODE_COVERAGE_GENHTML_OPTIONS ?=
+CODE_COVERAGE_IGNORE_PATTERN ?=
+
+code_coverage_quiet = $(code_coverage_quiet_$(V))
+code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY))
+code_coverage_quiet_0 = --quiet
+
+# Use recursive makes in order to ignore errors during check
+check-code-coverage:
+ifeq ($(CODE_COVERAGE_ENABLED),yes)
+ -$(MAKE) $(AM_MAKEFLAGS) -k check
+ $(MAKE) $(AM_MAKEFLAGS) code-coverage-capture
+else
+ @echo "Need to reconfigure with --enable-code-coverage"
+endif
+
+# Capture code coverage data
+code-coverage-capture: code-coverage-capture-hook
+ifeq ($(CODE_COVERAGE_ENABLED),yes)
+ $(LCOV) $(code_coverage_quiet) --directory $(CODE_COVERAGE_DIRECTORY) --capture --output-file "$(CODE_COVERAGE_OUTPUT_FILE).tmp" --test-name "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" --no-checksum --compat-libtool $(CODE_COVERAGE_LCOV_OPTIONS)
+ $(LCOV) $(code_coverage_quiet) --directory $(CODE_COVERAGE_DIRECTORY) --remove "$(CODE_COVERAGE_OUTPUT_FILE).tmp" "/tmp/*" $(CODE_COVERAGE_IGNORE_PATTERN) --output-file "$(CODE_COVERAGE_OUTPUT_FILE)"
+ -@rm -f $(CODE_COVERAGE_OUTPUT_FILE).tmp
+ LANG=C $(GENHTML) $(code_coverage_quiet) --prefix $(CODE_COVERAGE_DIRECTORY) --output-directory "$(CODE_COVERAGE_OUTPUT_DIRECTORY)" --title "$(PACKAGE_NAME)-$(PACKAGE_VERSION) Code Coverage" --legend --show-details "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_GENHTML_OPTIONS)
+ @echo "file://$(abs_builddir)/$(CODE_COVERAGE_OUTPUT_DIRECTORY)/index.html"
+else
+ @echo "Need to reconfigure with --enable-code-coverage"
+endif
+
+# Hook rule executed before code-coverage-capture, overridable by the user
+code-coverage-capture-hook:
+
+ifeq ($(CODE_COVERAGE_ENABLED),yes)
+clean: code-coverage-clean
+code-coverage-clean:
+ -$(LCOV) --directory $(top_builddir) -z
+ -rm -rf $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_FILE).tmp $(CODE_COVERAGE_OUTPUT_DIRECTORY)
+ -find . -name "*.gcda" -o -name "*.gcov" -delete
+endif
+
+GITIGNOREFILES ?=
+GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY)
+
+DISTCHECK_CONFIGURE_FLAGS ?=
+DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage
+
+.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean
+'
+
+ AC_SUBST([MATE_CODE_COVERAGE_RULES])
+ m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([MATE_CODE_COVERAGE_RULES])])
+])
diff --git a/macros/mate-common.m4 b/macros/mate-common.m4
index bdde06a..77bfa8e 100644
--- a/macros/mate-common.m4
+++ b/macros/mate-common.m4
@@ -35,7 +35,7 @@ AC_DEFUN([MATE_COMMON_INIT],
AC_DEFUN([MATE_DEBUG_CHECK],
[
AC_ARG_ENABLE([debug],
- AC_HELP_STRING([--enable-debug],
+ AS_HELP_STRING([--enable-debug],
[turn on debugging]),,
[enable_debug=no])
diff --git a/macros/mate-compiler-flags.m4 b/macros/mate-compiler-flags.m4
index b3a8a63..4b5ecc0 100644
--- a/macros/mate-compiler-flags.m4
+++ b/macros/mate-compiler-flags.m4
@@ -24,7 +24,7 @@ AC_DEFUN([MATE_COMPILE_WARNINGS],[
dnl ******************************
AC_ARG_ENABLE(compile-warnings,
- AC_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],
+ AS_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],
[Turn on compiler warnings]),,
[enable_compile_warnings="m4_default([$1],[yes])"])
@@ -78,7 +78,7 @@ AC_DEFUN([MATE_COMPILE_WARNINGS],[
AC_MSG_RESULT($warning_flags)
AC_ARG_ENABLE(iso-c,
- AC_HELP_STRING([--enable-iso-c],
+ AS_HELP_STRING([--enable-iso-c],
[Try to warn if code is not ISO C ]),,
[enable_iso_c=no])
@@ -106,7 +106,7 @@ dnl For C++, do basically the same thing.
AC_DEFUN([MATE_CXX_WARNINGS],[
AC_ARG_ENABLE(cxx-warnings,
- AC_HELP_STRING([--enable-cxx-warnings=@<:@no/minimum/yes@:>@]
+ AS_HELP_STRING([--enable-cxx-warnings=@<:@no/minimum/yes@:>@]
[Turn on compiler warnings.]),,
[enable_cxx_warnings="m4_default([$1],[minimum])"])
@@ -132,7 +132,7 @@ AC_DEFUN([MATE_CXX_WARNINGS],[
AC_MSG_RESULT($warnCXXFLAGS)
AC_ARG_ENABLE(iso-cxx,
- AC_HELP_STRING([--enable-iso-cxx],
+ AS_HELP_STRING([--enable-iso-cxx],
[Try to warn if code is not ISO C++ ]),,
[enable_iso_cxx=no])