Skip site navigation (1)Skip section navigation (2)
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>