Date: Tue, 9 Jul 2002 21:24:06 -0500 (CDT) From: Dan Nelson <dnelson@allantgroup.com> To: FreeBSD-gnats-submit@FreeBSD.org Cc: obrien@FreeBSD.org Subject: ports/40398: new port: gcc31bc Message-ID: <200207100224.g6A2O6Ec015378@dan.emsphone.com>
next in thread | raw e-mail | index | archive | help
>Number: 40398 >Category: ports >Synopsis: new port: gcc31bc >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Tue Jul 09 19:30:01 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Dan Nelson >Release: FreeBSD 5.0-CURRENT i386 >Organization: The Allant Group >Environment: System: FreeBSD dan.emsphone.com 5.0-CURRENT FreeBSD 5.0-CURRENT #177: Tue Jul 9 17:43:43 CDT 2002 dan@dan.emsphone.com:/usr/src/sys/i386/compile/DANSMP i386 >Description: New port, based off the lang/gcc31 port, but including Hermen ten Brugge's bounds-checking patches. >How-To-Repeat: >Fix: Unshar attached file, and also apply the following patch to the lang/gcc31 directory (required to let gcc31bc override some variables). I don't really know what to do with the extra distfile. At the moment its md5 checksum lives in gcc31/distinfo, where gcc31 will ignore it. There is no way to specify multiple distinfo's for a port, so it's either this or set NO_CHECKSUM/IGNOREFILES in gcc31bc/Makefile, and I don't like that. Index: gcc31/Makefile =================================================================== RCS file: /home/ncvs/ports/lang/gcc31/Makefile,v retrieving revision 1.126 diff -u -r1.126 Makefile --- gcc31/Makefile 8 Jul 2002 18:10:23 -0000 1.126 +++ gcc31/Makefile 8 Jul 2002 20:58:06 -0000 @@ -9,14 +9,14 @@ SNAPDATE= 2002-07-01 SNAPVER= ${SNAPDATE:S/-//g} -PORTNAME= gcc +PORTNAME?= gcc PORTVERSION= 3.1.1 -PORTREVISION= ${SNAPVER} +PORTREVISION?= ${SNAPVER} CATEGORIES= lang java MASTER_SITES= ${MASTER_SITE_SOURCEWARE} \ ftp://egcs.cygnus.com/pub/gcc/snapshots/${SNAPDATE}/ MASTER_SITE_SUBDIR= gcc/snapshots/${SNAPDATE} -DISTFILES= \ +DISTFILES+= \ gcc-core-${SNAPVER}${EXTRACT_SUFX} \ gcc-g++-${SNAPVER}${EXTRACT_SUFX} \ gcc-g77-${SNAPVER}${EXTRACT_SUFX} \ Index: gcc31/distinfo =================================================================== RCS file: /home/ncvs/ports/lang/gcc31/distinfo,v retrieving revision 1.73 diff -u -r1.73 distinfo --- gcc31/distinfo 8 Jul 2002 18:10:23 -0000 1.73 +++ gcc31/distinfo 8 Jul 2002 20:58:30 -0000 @@ -1,3 +1,4 @@ +MD5 (bounds-checking-gcc-3.1-1.01.patch.bz2) = 025d2e8b039adac61bfd37b3974b9d6b MD5 (gcc-core-20020701.tar.bz2) = 3bec43c2211b6351a8b578c9caa2bbc1 MD5 (gcc-g++-20020701.tar.bz2) = 20f8807c3c558433b799c0581e355d4d MD5 (gcc-g77-20020701.tar.bz2) = 17d3c957c76b144f29188cc7fa6a05f8 # 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: # # gcc31bc # gcc31bc/Makefile # gcc31bc/files # gcc31bc/files/patch-aa # gcc31bc/pkg-comment # gcc31bc/pkg-descr # echo c - gcc31bc mkdir -p gcc31bc > /dev/null 2>&1 echo x - gcc31bc/Makefile sed 's/^X//' >gcc31bc/Makefile << 'END-of-gcc31bc/Makefile' X# ports collection makefile for: gcc31bc X# Date created: Wed Jan 2 12:20:46 CST 2002 X# Whom: Dan Nelson <dnelson@allantgroup.com> X# X# $FreeBSD: $ X# X XPORTNAME= gcc31bc XPORTREVISION= ${SNAPVER}-1.01 X XMASTER_SITES= http://web.inter.NL.net/hcc/Haj.Ten.Brugge/ XBCCPATCH= bounds-checking-gcc-3.1-1.01.patch.bz2 XDISTFILES= ${BCCPATCH} XEXTRACT_ONLY= ${DISTFILES:S/${BCCPATCH}//} XEXTRA_PATCHES= ${.CURDIR}/files/patch-aa XPATCH_WRKSRC= ${SRCDIR} X XMAINTAINER= dnelson@allantgroup.com X XMASTERDIR= ${.CURDIR}/../gcc31 XCOMMENT= ${.CURDIR}/pkg-comment XDESCR= ${.CURDIR}/pkg-descr X X# Extract bounds-checking patch, removing the ada parts of the patch with sed. Xpre-patch: X ( cd ${_DISTDIR}; \ X ${BZCAT} ${BCCPATCH} | \ X ${SED} -e '/^--- .*ada/,/^diff/d' | \ X ${PATCH} -d ${PATCH_WRKSRC} -E -p1 --quiet \ X ) X X.include "${MASTERDIR}/Makefile" END-of-gcc31bc/Makefile echo c - gcc31bc/files mkdir -p gcc31bc/files > /dev/null 2>&1 echo x - gcc31bc/files/patch-aa sed 's/^X//' >gcc31bc/files/patch-aa << 'END-of-gcc31bc/files/patch-aa' X--- gcc/bounds/lib/malloc/Makefile.orig Fri Sep 28 15:31:19 2001 X+++ gcc/bounds/lib/malloc/Makefile Mon Oct 1 13:58:20 2001 X@@ -52,7 +52,7 @@ VPATH = $(srcdir)/bounds/lib/malloc X SUBDIR_INCLUDES = -I$(srcdir)/bounds/lib/malloc -I../../.. -I$(srcdir) -I$(srcdir)/config -I../../../../include X X # Use this on System V. X-CPPFLAGS = -DUSG X+CPPFLAGS = -DBSD4_2 X X .c.o: X $(GCC_FOR_TARGET) -Wall $(OPTIMIZE) $(CPPFLAGS) \ END-of-gcc31bc/files/patch-aa echo x - gcc31bc/pkg-comment sed 's/^X//' >gcc31bc/pkg-comment << 'END-of-gcc31bc/pkg-comment' XGNU Compiler Collection 3.1 + bounds-checking patches END-of-gcc31bc/pkg-comment echo x - gcc31bc/pkg-descr sed 's/^X//' >gcc31bc/pkg-descr << 'END-of-gcc31bc/pkg-descr' XGCC, the GNU Compiler Collection includes gcc, g++, g77, and gcj. X XThis port also includes patches by Herman ten Brugge that enable Xfine-grained bounds checking on C sources. Compile and link with X"-fbounds-checking" to enable. Without this flag, behaviour is Xidentical to the stock gcc31 port. Occasionally shared libraries not Xbuilt with bounds checking confuse it; in these cases link with X"-fbounds-checking -static". X X"gcc31", "g++31", "g77-31", and "gcj31" are installed into the X"${PREFIX}/bin" directory. X XWWW: http://gcc.gnu.org/ END-of-gcc31bc/pkg-descr 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?200207100224.g6A2O6Ec015378>