diff options
author | Pawel Pekala <pawel@FreeBSD.org> | 2012-12-22 15:56:21 +0000 |
---|---|---|
committer | Pawel Pekala <pawel@FreeBSD.org> | 2012-12-22 15:56:21 +0000 |
commit | 7897354104ea2a90a4916ae30fefe6e3fad0ee30 (patch) | |
tree | 6280478c5e7f7ef32c9bd11a841b1b6b6da34ef7 /devel/covtool | |
parent | 19948f49d0fbdf88e6f00aac5b057ffa9f812451 (diff) |
Notes
Diffstat (limited to 'devel/covtool')
-rw-r--r-- | devel/covtool/Makefile | 38 | ||||
-rw-r--r-- | devel/covtool/distinfo | 2 | ||||
-rw-r--r-- | devel/covtool/files/patch-cov++ | 69 | ||||
-rw-r--r-- | devel/covtool/files/patch-gen_html | 20 | ||||
-rw-r--r-- | devel/covtool/files/patch-makefile | 42 | ||||
-rw-r--r-- | devel/covtool/files/patch-rules.FreeBSD | 88 | ||||
-rw-r--r-- | devel/covtool/pkg-descr | 6 | ||||
-rw-r--r-- | devel/covtool/pkg-plist | 16 |
8 files changed, 281 insertions, 0 deletions
diff --git a/devel/covtool/Makefile b/devel/covtool/Makefile new file mode 100644 index 000000000000..b6765c307976 --- /dev/null +++ b/devel/covtool/Makefile @@ -0,0 +1,38 @@ +# Created by: novator24 <novator24@gmail.com> +# $FreeBSD$ + +PORTNAME= covtool +PORTVERSION= 2.1 +CATEGORIES= devel +MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/rel_2.0 + +MAINTAINER= novator24@gmail.com +COMMENT= C++ test coverage analyzer + +WRKSRC= ${WRKDIR} +USE_ZIP= yes +USE_GCC= 4.6+ +USE_GMAKE= yes +MAKEFILE= makefile + +MAN1= cov++.1 \ + covannotate.1 \ + covmerge.1 \ + covtool.1 \ + gen_html.1 + +post-patch: + @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \ + -e 's|%%PORTNAME%%|${PORTNAME}|g' ${WRKSRC}/cov++ + @${REINPLACE_CMD} 's|%%CXXFLAGS%%|${CXXFLAGS}|g' \ + ${WRKSRC}/rules.FreeBSD + +post-install: + @${INSTALL_MAN} ${MAN1:S,^,${WRKSRC}/man/man1/,} \ + ${MANPREFIX}/man/man1/ + @${INSTALL_DATA} ${WRKSRC}/cov++.cfg ${PREFIX}/etc/cov++.cfg.sample + @if [ ! -f ${PREFIX}/etc/cov++.cfg ]; then \ + ${CP} -p ${PREFIX}/etc/cov++.cfg.sample ${PREFIX}/etc/cov++.cfg ; \ + fi + +.include <bsd.port.mk> diff --git a/devel/covtool/distinfo b/devel/covtool/distinfo new file mode 100644 index 000000000000..838963a1e7b3 --- /dev/null +++ b/devel/covtool/distinfo @@ -0,0 +1,2 @@ +SHA256 (covtool-2.1.zip) = fb434de196c4d86f268ee80907f2440b5870cf4e3bfa68801fe7230ee1abf9fd +SIZE (covtool-2.1.zip) = 430801 diff --git a/devel/covtool/files/patch-cov++ b/devel/covtool/files/patch-cov++ new file mode 100644 index 000000000000..f84557a6e9dd --- /dev/null +++ b/devel/covtool/files/patch-cov++ @@ -0,0 +1,69 @@ +--- ./cov++.orig 2009-08-01 23:03:23.000000000 +0400 ++++ ./cov++ 2012-12-06 17:44:10.000000000 +0400 +@@ -18,8 +18,10 @@ + # + #set -x + +-TOOLDIR=`dirname $0` +- ++BINDIR=%%PREFIX%%/bin ++CFGDIR=%%PREFIX%%/etc ++OBJDIR=%%PREFIX%%/libexec/%%PORTNAME%% ++DATDIR=%%PREFIX%%/share/%%PORTNAME%% + # + # The command invocations for your compiler and linker can be + # specified in environment variables: COVTOOL_CC, COVTOOL_LN. +@@ -45,7 +47,7 @@ + -o "$COVTOOL_TMP" = "" \ + ] + then +- . $TOOLDIR/cov++.cfg ++ . $CFGDIR/cov++.cfg + fi + + mode="" # compile or link. Either -c or not -c +@@ -56,7 +58,7 @@ + + help() + { +- . $TOOLDIR/covtool_version ++ . $DATDIR/covtool_version + + echo "" + echo "$covtool_version" +@@ -67,7 +69,7 @@ + echo " cov++ [g++ options, -CBG, -VER, -KEEP, -EXT, -CMP, or -skip options] ..." + echo " Only 1 .c file can be specified. Use .c extension, not .c++" + echo " -skip options let you skip some instrumentations." +- echo " see $TOOLDIR/README" ++ echo " see $DATDIR/README" + echo " example usage:" + echo " cov++ -o progname -Da=b -I. -I.. -O2 file.c" + echo " Note: instrumentation data collection is turned off by default." +@@ -92,7 +94,7 @@ + fi + + keep_intermediate_file="" +-helper="$TOOLDIR/covtoolhelper.o" ++helper="$OBJDIR/covtoolhelper.o" + diag="" + + while [ $# != 0 ] +@@ -144,7 +146,7 @@ + "-c") mode="$option" + ;; + +- "-CBG") helper="$TOOLDIR/covtoolhelper_debug.o" ++ "-CBG") helper="$OBJDIR/covtoolhelper_debug.o" + ;; + + +@@ -213,7 +215,7 @@ + diag="$diag $tmpfile" + fi + +- eval "$COVTOOL_CC -E $preprocessor_options $cfiles | $TOOLDIR/covtool.exe -instrument $diag $skips >$tmpfile" ++ eval "$COVTOOL_CC -E $preprocessor_options $cfiles | $BINDIR/covtool -instrument $diag $skips >$tmpfile" + eval "$COVTOOL_CC $mode $gpp_options -fpermissive $tmpfile" + errorlevel=$? + if [ "$keep_intermediate_file" = "" ] ; then rm $tmpfile ; fi diff --git a/devel/covtool/files/patch-gen_html b/devel/covtool/files/patch-gen_html new file mode 100644 index 000000000000..66ae30a9d989 --- /dev/null +++ b/devel/covtool/files/patch-gen_html @@ -0,0 +1,20 @@ +--- ./gen_html.orig 2012-12-05 19:51:17.000000000 +0400 ++++ ./gen_html 2012-12-05 19:51:45.000000000 +0400 +@@ -12,7 +12,7 @@ + echo "can't find merged covexp database file: '$db'" + echo "" + echo "You must supply the name of a MERGED covexp file" +- echo "The covmerge.exe program adds additional information" ++ echo "The covmerge program adds additional information" + echo "needed by this script" + exit 1 + fi +@@ -50,7 +50,7 @@ + if [ ! -r "$3$file" ] + then + mkdir -p `dirname $3$file` +- covannotate.exe "$file" "$db" >"$3$file.txt" ++ covannotate "$file" "$db" >"$3$file.txt" + fi + + link="<a href=.$file.txt>" diff --git a/devel/covtool/files/patch-makefile b/devel/covtool/files/patch-makefile new file mode 100644 index 000000000000..f20cb3ffdd91 --- /dev/null +++ b/devel/covtool/files/patch-makefile @@ -0,0 +1,42 @@ +--- ./makefile.orig 2009-08-02 01:51:16.000000000 +0400 ++++ ./makefile 2012-12-06 17:38:24.000000000 +0400 +@@ -28,31 +28,14 @@ + + + install: +- @mkdir -p $(INSTALL_DIR) +- if [ -w $(INSTALL_DIR)/. ] ; \ +- then \ +- for f in $(INSTALLABLES) ;\ +- do \ +- echo "installing $$f" ;\ +- cp $$f $(INSTALL_DIR) ;\ +- done ;\ +- cp -r man $(INSTALL_DIR) ;\ +- else \ +- echo "Error: can't create $(INSTALL_DIR)" ; \ +- exit 1; \ +- fi +- @echo "" +- @echo "" +- @echo "" +- @echo "Installation complete" +- @echo "Add $(INSTALL_DIR) to your path" +- @echo "" +- @echo "Then run make install_tests (but not as ROOT!)" +- @echo "" +- @echo "" +- @echo "Also, add $(INSTALL_DIR) to your MANPATH." +- @echo "" +- ++ mkdir -p $(INSTALL_DIR)/bin $(INSTALL_DIR)/share/covtool $(INSTALL_DIR)/libexec/covtool ++ for f in covtool.exe covmerge.exe covannotate.exe; do \ ++ mv $${f} $${f%.*} ;\ ++ $(INSTALL_PROGRAM) $${f%.*} $(INSTALL_DIR)/bin ;\ ++ done ++ $(INSTALL_DATA) covtoolhelper.o covtoolhelper_debug.o covtoolhelper.c $(INSTALL_DIR)/libexec/covtool ++ $(INSTALL_DATA) README COPYRIGHT covtool_version $(INSTALL_DIR)/share/covtool ++ $(INSTALL_SCRIPT) cov++ gen_html $(INSTALL_DIR)/bin + + install_tests: + cd install_test ; $(MAKE) all ; $(MAKE) tests diff --git a/devel/covtool/files/patch-rules.FreeBSD b/devel/covtool/files/patch-rules.FreeBSD new file mode 100644 index 000000000000..130b20b74b47 --- /dev/null +++ b/devel/covtool/files/patch-rules.FreeBSD @@ -0,0 +1,88 @@ +--- ./rules.FreeBSD.orig 2012-12-06 17:33:14.000000000 +0400 ++++ ./rules.FreeBSD 2012-12-06 17:33:14.000000000 +0400 +@@ -0,0 +1,85 @@ ++# ++# This file defines the compilation rules for building the covtool ++# programs and is used in tests in the subdirectories. ++# ++ ++all:: ++tests:: all ++clean:: ++depend:: ++ ++INSTALL_DIR=$(PREFIX) ++MAKEFLAGS:=-j1 ++INSTALL_PROGRAM=$(BSD_INSTALL_PROGRAM) ++INSTALL_DATA=$(BSD_INSTALL_DATA) ++INSTALL_SCRIPT=$(BSD_INSTALL_SCRIPT) ++ ++# ++# select the optimization level -- optimization is the default ++# unless you change it to 1 -- or specify DEBUGGING=1 on the ++# command line ++# ++DEBUGGING=0 ++ifeq ($(DEBUGGING),1) ++CCOPTS= %%CXXFLAGS%% -g -DDEBUGGING -Wall -pedantic ++else ++CCOPTS= %%CXXFLAGS%% -Wall -pedantic ++endif ++ ++CCDEFS= ++CCINCS= -I. -I/usr/include/g++ ++ ++CCFLAGS= $(CCDEFS) \ ++ $(CCOPTS) \ ++ $(CCINCS) ++ ++CC:=g++ ++LN:=g++ ++ ++# ++# the following COVTOOL declarations speed up cov++ by suppressing its ++# need to read the .cfg file. You must override all 4 symbols for this ++# speed up to work. ++# ++COVTOOL_CC:= $(CC) ++COVTOOL_LN:= $(LN) ++COVTOOL_EXT:= .c ++COVTOOL_TMP:= .c++ ++ ++.EXPORT: COVTOOL_CC ++.EXPORT: COVTOOL_LN ++.EXPORT: COVTOOL_TMP ++.EXPORT: COVTOOL_EXT ++ ++ ++.SUFFIXES: .c .o .i .j .ii ++ ++.c.o: ++ $(CC) -o $@ $(CCFLAGS) -fpermissive -c $< ++ ++.c.i: ++ $(CC) "-D__extension__=" "-D__attribute__(X)=" -E $(CCDEFS) $(CCINCS) $< >$@ ++ ++ ++CCDEFS: ++ echo $(CCDEFS) ++ ++CCOPTS: ++ echo $(CCOPTS) ++ ++CCINCS: ++ echo $(CCINCS) ++ ++CCFLAGS: ++ echo $(CCFLAGS) ++ ++CC: ++ echo $(CC) ++ ++LN: ++ echo $(LN) ++ ++ ++clean:: ++ rm -fr *.o *.exe *.i *.out *.diff *.a *.log *.bak *.j j.c k.c log ++ rm -fr remake.log *.covexp *.db *.ii *.c++ coverage_html diff --git a/devel/covtool/pkg-descr b/devel/covtool/pkg-descr new file mode 100644 index 000000000000..4669acbf5d61 --- /dev/null +++ b/devel/covtool/pkg-descr @@ -0,0 +1,6 @@ +A free test coverage analysis tool for C++. Analogous to purecov but quite +different in implementation. This tool does its job by instrumenting the +source as you compile. You can thus add your own instrumentation to every +line on the fly. + +WWW: http://sourceforge.net/projects/covtool/ diff --git a/devel/covtool/pkg-plist b/devel/covtool/pkg-plist new file mode 100644 index 000000000000..6712351ba303 --- /dev/null +++ b/devel/covtool/pkg-plist @@ -0,0 +1,16 @@ +bin/covtool +bin/covmerge +bin/covannotate +bin/cov++ +bin/gen_html +@unexec if cmp -s %D/etc/cov++.cfg.sample %D/etc/cov++.cfg; then rm -f %D/etc/cov++.cfg; fi +etc/cov++.cfg.sample +@exec if [ ! -f %D/etc/cov++.cfg ] ; then cp -p %D/%F %B/cov++.cfg; fi +libexec/covtool/covtoolhelper.o +libexec/covtool/covtoolhelper_debug.o +libexec/covtool/covtoolhelper.c +%%DATADIR%%/README +%%DATADIR%%/COPYRIGHT +%%DATADIR%%/covtool_version +@dirrmtry %%DATADIR%% +@dirrmtry libexec/covtool |