From d66a30794183e04f121fd1464d7bfcfbbcaf64ed Mon Sep 17 00:00:00 2001 From: Mark Adler Date: Sun, 9 Oct 2011 10:16:43 -0700 Subject: [PATCH] Add --cover option to ./configure for gcc coverage testing. This adds the -fprofile-arcs and -ftest-coverage options when compiling the source code for the static library. Those same options must then be used when linking the static library into an executable. This updates Makefile.in to remove and .gitignore to ignore the files generated when testing coverage. --- .gitignore | 4 ++++ Makefile.in | 1 + configure | 8 +++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 81d3ed2..8c6bce0 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,10 @@ *.o *.dylib +*.gcda +*.gcno +*.gcov + /example /example64 /examplesh diff --git a/Makefile.in b/Makefile.in index 1b8bf3f..9ac0406 100644 --- a/Makefile.in +++ b/Makefile.in @@ -232,6 +232,7 @@ clean: libz.* foo.gz so_locations \ _match.s maketree contrib/infback9/*.o rm -rf objs + rm -f *.gcda *.gcno *.gcov maintainer-clean: distclean distclean: clean zconf zconf.h.cmakein docs diff --git a/configure b/configure index 672b24f..d15c03b 100755 --- a/configure +++ b/configure @@ -55,6 +55,7 @@ mandir=${mandir-'${prefix}/share/man'} shared_ext='.so' shared=1 solo=0 +cover=0 zprefix=0 build64=0 gcc=0 @@ -85,6 +86,7 @@ case "$1" in -s* | --shared | --enable-shared) shared=1; shift ;; -t | --static) shared=0; shift ;; --solo) solo=1; shift ;; + --cover) cover=1; shift ;; -z* | --zprefix) zprefix=1; shift ;; -6* | --64) build64=1; shift ;; -a*=* | --archs=*) ARCHS=`echo $1 | sed 's/.*=//'`; shift ;; @@ -345,6 +347,10 @@ OBJC='$(OBJZ)' PIC_OBJC='$(PIC_OBJZ)' fi +if test $cover -eq 1; then + CFLAGS="${CFLAGS} -fprofile-arcs -ftest-coverage" +fi + cat > $test.c < #include @@ -578,7 +584,7 @@ case $CFLAGS in fi ;; esac -rm -f $test.[co] $test $test$shared_ext +rm -f $test.[co] $test $test$shared_ext $test.gcno # udpate Makefile sed < Makefile.in " -- GitLab