Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Jan 2001 17:38:13 +0000 (GMT)
From:      George Reid <greid@dogma.freebsd-uk.eu.org>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/24536: New port: fnccheck: A profiling library/utilities for C/C++ programs
Message-ID:  <Pine.BSF.4.21.0101221737380.35511-100000@sobek.openirc.co.uk>

next in thread | raw e-mail | index | archive | help

>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 <greid@ukug.uk.freebsd.org>
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 <bsd.port.mk>
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0101221737380.35511-100000>