From owner-freebsd-ports Mon Jan 22 9:40:25 2001 Delivered-To: freebsd-ports@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 6161037B69C for ; Mon, 22 Jan 2001 09:40:01 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f0MHe1f62727; Mon, 22 Jan 2001 09:40:01 -0800 (PST) (envelope-from gnats) Received: from mta06-svc.ntlworld.com (mta06-svc.ntlworld.com [62.253.162.46]) by hub.freebsd.org (Postfix) with ESMTP id 5AFB837B69B for ; Mon, 22 Jan 2001 09:32:02 -0800 (PST) Received: from sobek.openirc.co.uk ([62.252.12.33]) by mta06-svc.ntlworld.com (InterMail vM.4.01.02.27 201-229-119-110) with ESMTP id <20010122173159.ISKF285.mta06-svc.ntlworld.com@sobek.openirc.co.uk> for ; Mon, 22 Jan 2001 17:31:59 +0000 Message-Id: Date: Mon, 22 Jan 2001 17:38:13 +0000 (GMT) From: George Reid To: FreeBSD-gnats-submit@freebsd.org Subject: ports/24536: New port: fnccheck: A profiling library/utilities for C/C++ programs Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 24536 >Category: ports >Synopsis: New port: fnccheck: A profiling library/utilities for C/C++ programs >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Mon Jan 22 09:40:01 PST 2001 >Closed-Date: >Last-Modified: >Originator: George Reid >Release: FreeBSD 5.0-CURRENT i386 >Organization: FreeBSD UKUG >Environment: n/a >Description: FncCheck is a library which generates profiles for C/C++ programs. A profile is a list of informations about your functions, such as time spend in functions, number of calls and other things. In order to use FncCheck, you have to compile your .o files with '-finstrument-functions -g' switches (gcc V2.95.2 and higher). You have then to link your executable with the library 'libfnccheck.so'. - George Reid greid@ukug.uk.freebsd.org >How-To-Repeat: n/a >Fix: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # fnccheck # fnccheck/Makefile # fnccheck/distinfo # fnccheck/files # fnccheck/files/patch-aa # fnccheck/files/patch-ab # fnccheck/files/patch-ac # fnccheck/pkg-descr # fnccheck/pkg-comment # fnccheck/pkg-plist # echo c - fnccheck mkdir -p fnccheck > /dev/null 2>&1 echo x - fnccheck/Makefile sed 's/^X//' >fnccheck/Makefile << 'END-of-fnccheck/Makefile' X# New ports collection makefile for: fnccheck X# Date created: 22 January 2001 X# Whom: George Reid X# X# $FreeBSD$ X# X XPORTNAME= fnccheck XPORTVERSION= 1.2 XCATEGORIES= devel XMASTER_SITES= http://www710.univ-lyon1.fr/~yperret/ XDISTNAME= ${PORTNAME}_${PORTVERSION} X XMAINTAINER= greid@ukug.uk.freebsd.org X XWRKSRC= ${WRKDIR}/${PORTNAME}-devel-${PORTVERSION} X XDOCS= README.txt README1ST.txt CHANGES.txt \ X doc/fncdump.info doc/html/fncdump_toc.html \ X doc/html/fncdump.html X Xdo-install: X.for B in fncdump fncaverage X ${INSTALL_PROGRAM} ${WRKSRC}/bin/$B ${PREFIX}/bin X.endfor X ${INSTALL_PROGRAM} ${WRKSRC}/lib/libfnccheck.so ${PREFIX}/lib X.if !defined(NOPORTDOCS) X ${MKDIR} ${PREFIX}/share/doc/fnccheck X.for D in ${DOCS} X ${INSTALL_DATA} ${WRKSRC}/$D ${PREFIX}/share/doc/fnccheck X.endfor X.endif X X.include END-of-fnccheck/Makefile echo x - fnccheck/distinfo sed 's/^X//' >fnccheck/distinfo << 'END-of-fnccheck/distinfo' XMD5 (fnccheck_1.2.tar.gz) = 081e2f485d31ef9824e638626448ca29 END-of-fnccheck/distinfo echo c - fnccheck/files mkdir -p fnccheck/files > /dev/null 2>&1 echo x - fnccheck/files/patch-aa sed 's/^X//' >fnccheck/files/patch-aa << 'END-of-fnccheck/files/patch-aa' X--- Makefile.orig Wed Jan 17 12:48:32 2001 X+++ Makefile Mon Jan 22 17:34:43 2001 X@@ -2,10 +2,9 @@ X PACKAGE = fnccheck X VERSION = 1.1.4 X X-prefix = /usr/local X bindir = $(prefix)/bin X libdir = $(prefix)/lib X-docdir = $(prefix)/doc/$(PACKAGE)-$(VERSION) X+docdir = $(prefix)/doc/$(PACKAGE) X X INSTALL = install X X@@ -24,7 +23,7 @@ X echo "Use 'make install' to install the lib" ; \ X echo "Use 'make all' to generate everything" X X-all: fnccheck fncdump fncaverage essai essai_interact X+all: fnccheck fncdump_nobfd fncaverage X X fnccheck: X -@ cd src/ ; make fnccheck END-of-fnccheck/files/patch-aa echo x - fnccheck/files/patch-ab sed 's/^X//' >fnccheck/files/patch-ab << 'END-of-fnccheck/files/patch-ab' X--- src/Makefile.orig Tue Jan 9 12:09:48 2001 X+++ src/Makefile Mon Jan 22 17:05:13 2001 X@@ -1,10 +1,9 @@ X-CC = gcc X-CFLAGS = -Wall -O3 -I/usr/include -I/usr/local/include X-LIBS = -L/lib -L/usr/lib -L/usr/local/lib -lm X+CC?= gcc X X .c.o: X $(CC) $(EXT) $(CFLAGS) $(INCLUDE) -c $< X X+LIBS=-lm X LIBFILE=fnccheck.c X LIBNAME=libfnccheck.so X DUMP=fncdump X@@ -14,28 +13,28 @@ X -@ echo "Please specify a target." X X fnccheck: X- $(CC) -Wall -O3 -c $(LIBFILE) X- $(CC) -Wall -O3 -fPIC -c $(LIBFILE) -o $(LIBNAME) X+ $(CC) $(CFLAGS) -c $(LIBFILE) X+ $(CC) $(CFLAGS) -fPIC -c $(LIBFILE) -o $(LIBNAME) X mv $(LIBNAME) ../lib/ X X dfnccheck: X- $(CC) -Wall -O3 -DFNCCHK_DEBUG -c $(LIBFILE) X- $(CC) -Wall -O3 -fPIC -DFNCCHK_DEBUG -c $(LIBFILE) -o $(LIBNAME) X+ $(CC) $(CFLAGS) -DFNCCHK_DEBUG -c $(LIBFILE) X+ $(CC) $(CFLAGS) -fPIC -DFNCCHK_DEBUG -c $(LIBFILE) -o $(LIBNAME) X mv $(LIBNAME) ../lib/ X X fncdump: X -@ export EXT=-DFNCCHK_USE_BFD ; make real_fncdump X X real_fncdump: fncdump.o X- $(CC) -O3 $(CFLAGS) $(INCLUDE) -o $(DUMP) fncdump.o $(LIBS) -lbfd -liberty X+ $(CC) $(CFLAGS) $(INCLUDE) -o $(DUMP) fncdump.o $(LIBS) -lbfd -liberty X mv $(DUMP) ../bin X X fncdump_nobfd: fncdump.o X- $(CC) -O3 $(CFLAGS) $(INCLUDE) -o $(DUMP) fncdump.o $(LIBS) X+ $(CC) $(CFLAGS) $(INCLUDE) -o $(DUMP) fncdump.o $(LIBS) X mv $(DUMP) ../bin X X fncaverage: fnccheck.o fncaverage.o X- $(CC) -O3 $(CFLAGS) $(INCLUDE) -o $(AVG) fncaverage.o fnccheck.o $(LIBS) X+ $(CC) $(CFLAGS) $(INCLUDE) -o $(AVG) fncaverage.o fnccheck.o $(LIBS) X mv $(AVG) ../bin X X clean: END-of-fnccheck/files/patch-ab echo x - fnccheck/files/patch-ac sed 's/^X//' >fnccheck/files/patch-ac << 'END-of-fnccheck/files/patch-ac' X--- test/Makefile.orig Mon Jan 22 17:06:25 2001 X+++ test/Makefile Mon Jan 22 17:06:52 2001 X@@ -1,6 +1,6 @@ X-CC = gcc X-CFLAGS = -Wall -I/usr/include -I/usr/local/include X-LIBS = -L/lib -L/usr/lib -L/usr/local/lib -lm X+CC? = gcc X+CFLAGS+= -Wall X+LIBS = -lm X X .c.o: X $(CC) $(CFLAGS) $(INCLUDE) $(EXTS) -c $< END-of-fnccheck/files/patch-ac echo x - fnccheck/pkg-descr sed 's/^X//' >fnccheck/pkg-descr << 'END-of-fnccheck/pkg-descr' XFncCheck is a library which generates profiles for C/C++ programs. XA profile is a list of informations about your functions, such as Xtime spend in functions, number of calls and other things. X XIn order to use FncCheck, you have to compile your .o files Xwith '-finstrument-functions -g' switches (gcc V2.95.2 and higher). XYou have then to link your executable with the library 'libfnccheck.so'. X X- George Reid Xgreid@ukug.uk.freebsd.org END-of-fnccheck/pkg-descr echo x - fnccheck/pkg-comment sed 's/^X//' >fnccheck/pkg-comment << 'END-of-fnccheck/pkg-comment' XA profiling library/utilities for C/C++ programs END-of-fnccheck/pkg-comment echo x - fnccheck/pkg-plist sed 's/^X//' >fnccheck/pkg-plist << 'END-of-fnccheck/pkg-plist' Xbin/fncaverage Xbin/fncdump Xlib/libfnccheck.so Xshare/doc/fnccheck/CHANGES.txt Xshare/doc/fnccheck/README.txt Xshare/doc/fnccheck/README1ST.txt Xshare/doc/fnccheck/fncdump.html Xshare/doc/fnccheck/fncdump.info Xshare/doc/fnccheck/fncdump_toc.html X@dirrm share/doc/fnccheck END-of-fnccheck/pkg-plist exit >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message