summaryrefslogtreecommitdiff
path: root/lang/gcc
diff options
context:
space:
mode:
authorGerald Pfeifer <gerald@FreeBSD.org>2004-01-22 11:58:14 +0000
committerGerald Pfeifer <gerald@FreeBSD.org>2004-01-22 11:58:14 +0000
commitf23ad694cc4e8560284bd83ac7bbe958f151bb71 (patch)
tree129a4584c36fff801d27f1e70f689a03214a38b5 /lang/gcc
parent- Update to 0.6.3 (diff)
Update to the 2004-01-14 snapshot of GCC 3.4.
Merge in my 2004/01/17 change to the gcc33 port to configure with --program-suffix and related and further simplifications. Merge in my 2004/01/13 change to the gcc33 port to make the automatic generation of the package list for libraries and include files more failure tolerant, so that at least `make install` now works on sparc64. Merge in my 2004/01/05 change to the gcc33 port to combine and simplify the post-install handling of target libraries and GCJ include files. libgcj still is not supported and packaging is broken on sparc64; mark BROKEN on that platform.
Notes
Notes: svn path=/head/; revision=98790
Diffstat (limited to 'lang/gcc')
-rw-r--r--lang/gcc/Makefile53
-rw-r--r--lang/gcc/distinfo12
-rw-r--r--lang/gcc/files/patch-regrename.c19
-rw-r--r--lang/gcc/pkg-plist8
4 files changed, 54 insertions, 38 deletions
diff --git a/lang/gcc/Makefile b/lang/gcc/Makefile
index 943b30d33c32..959695d51dab 100644
--- a/lang/gcc/Makefile
+++ b/lang/gcc/Makefile
@@ -5,9 +5,7 @@
#
# $FreeBSD$
#
-
-SNAPDATE= 2004-01-07
-#CVS_DATE= ${SNAPDATE} 18:53:04 EDT
+SNAPDATE= 2004-01-14
PORTNAME= gcc
PORTVERSION= 3.4.0
@@ -42,6 +40,10 @@ NOMANCOMPRESS= yes # too hard to deal with differences on 5-cur and releng4
.include <bsd.port.pre.mk>
+.if ${ARCH} == sparc64
+BROKEN= "libgcj is not supported/packaging is broken on this platform"
+.endif
+
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
SRCDIR= ${WRKDIR}/gcc-${VERSIONSTRING}
@@ -52,11 +54,10 @@ GNU_CONFIGURE= yes
USE_GMAKE= yes
USE_BISON= yes
CONFIGURE_ARGS= --disable-nls \
+ --with-system-zlib \
--with-libiconv-prefix=${LOCALBASE} \
- --with-gxx-include-dir=${TARGLIB}/include/c++/${GCC_REV}
-#CONFIGURE_ARGS+= --program-suffix=34
-# Java
-CONFIGURE_ARGS+= --with-system-zlib
+ --program-suffix=34 \
+ --with-gxx-include-dir=${TARGLIB}/include/c++/
MAKE_ARGS+= MAKEINFOFLAGS="--no-split"
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
@@ -128,28 +129,22 @@ check: build
cd ${WRKSRC}; export RUNTESTFLAGS='--target_board ''unix{-pthread}'''; ${GMAKE} -sk check
post-install:
- @${RM} -f ${PREFIX}/bin/c++ ${PREFIX}/bin/${CONFIGURE_TARGET}-c++
-.for f in gcc g++ cpp gcov ${CONFIGURE_TARGET}-gcc ${CONFIGURE_TARGET}-g++ gcj gcjh gij jv-scan jcf-dump jv-convert jar grepjar rmic rmiregistry
- ${STRIP_CMD} ${PREFIX}/bin/${f}
- ${MV} -f ${PREFIX}/bin/${f} ${PREFIX}/bin/${f}34
- ( ${TEST} ! -e ${PREFIX}/man/man1/${f}.1 \
+.for f in c++ gcc g++ cpp gcov ${CONFIGURE_TARGET}-gcc ${CONFIGURE_TARGET}-g++ gcj gcjh gij jv-scan jcf-dump jv-convert jar grepjar rmic rmiregistry
+ if [ -e ${PREFIX}/bin/${f}34 ]; then \
+ ${STRIP_CMD} ${PREFIX}/bin/${f}34; \
+ ( ${TEST} ! -e ${PREFIX}/man/man1/${f}.1 \
|| ${MV} -f ${PREFIX}/man/man1/${f}.1 \
- ${PREFIX}/man/man1/${f}34.1 )
-.endfor
-.for f in g77
- ${MV} -f ${PREFIX}/bin/${f} ${PREFIX}/bin/${f}-34
- ( ${TEST} ! -e ${PREFIX}/man/man1/${f}.1 \
- || ${MV} -f ${PREFIX}/man/man1/${f}.1 \
- ${PREFIX}/man/man1/${f}-34.1 )
+ ${PREFIX}/man/man1/${f}34.1 ); \
+ fi
.endfor
- ${MV} -f ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug34
- # These 3 libraries are moved from PREFIX/lib to avoid conflicts
- # with the stock compiler.
+ ${MV} -f ${PREFIX}/bin/g7734 ${PREFIX}/bin/g77-34
+ ${MV} -f ${PREFIX}/man/man1/g7734.1 ${PREFIX}/man/man1/g77-34.1
+ # These libraries are moved from PREFIX/lib to avoid conflicts with
+ # the stock compiler.
.for f in libstdc++ libsupc++ libg2c libfrtbegin libobjc ${EXTRA_SHLIB}
${MV} -f ${PREFIX}/lib/${f}.* ${TARGLIB}
.endfor
-${MV} -f ${PREFIX}/lib/ieee ${TARGLIB}
- # Java
-${MV} -f ${PREFIX}/lib/libgcj.* ${TARGLIB}
${RM} -f ${PREFIX}/lib/libiberty.a
${RM} -f ${TARGLIB}/*.la
@@ -160,12 +155,12 @@ post-install:
.endfor
# Handle target libraries and GCJ include files.
${RM} -f ${WRKDIR}/PLIST.lib
-.for inc in ${TARGLIB} include/gcj include/gnu include/java include/javax
- cd ${PREFIX} ;\
- ${FIND} ${inc:S/^${PREFIX}\///} -type f -o -type l \
- >>${WRKDIR}/PLIST.lib ;\
- ${FIND} ${inc:S/^${PREFIX}\///} -type d \
- | ${SORT} -r | ${SED} -e 's/^/@dirrm /g' >>${WRKDIR}/PLIST.lib
+.for d in ${TARGLIB:S/^${PREFIX}\///} include/gcj include/gnu include/java include/javax
+ cd ${PREFIX} ; if [ -d $d ]; then \
+ ${FIND} $d -type f -o -type l >>${WRKDIR}/PLIST.lib ;\
+ ${FIND} $d -type d | ${SORT} -r \
+ | ${SED} -e 's/^/@dirrm /g' >>${WRKDIR}/PLIST.lib ;\
+ fi
.endfor
(${ECHO_CMD} "@unexec rmdir %D/lib/gcc/${CONFIGURE_TARGET} 2>&1 || true" ; ${ECHO_CMD} "@unexec rmdir %D/lib/gcc 2>&1 || true") >> ${WRKDIR}/PLIST.lib
${ECHO_CMD} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
diff --git a/lang/gcc/distinfo b/lang/gcc/distinfo
index 35f240627d81..beb1d8053304 100644
--- a/lang/gcc/distinfo
+++ b/lang/gcc/distinfo
@@ -1,6 +1,6 @@
-MD5 (gcc-core-3.4-20040107.tar.bz2) = 2de4606dde0d9dfafb96ab271e028081
-MD5 (gcc-g++-3.4-20040107.tar.bz2) = 5210c6e084b0e1bd9f02d4b012d936f8
-MD5 (gcc-g77-3.4-20040107.tar.bz2) = c30706a558bc88ca16f2c45b1b3eb244
-MD5 (gcc-java-3.4-20040107.tar.bz2) = ece8ad9079c75347516cfb9159543833
-MD5 (gcc-objc-3.4-20040107.tar.bz2) = c9d9d241639a883cf214756f08198452
-MD5 (gcc-testsuite-3.4-20040107.tar.bz2) = cff08732e9a7833c4461990eb68034f7
+MD5 (gcc-core-3.4-20040114.tar.bz2) = 2742be0bc0d14d5eadee3a75664b37bc
+MD5 (gcc-g++-3.4-20040114.tar.bz2) = caa96c9ebfa7bdd120d7c03a9fb66bda
+MD5 (gcc-g77-3.4-20040114.tar.bz2) = 92a1a266ca11743daa5510cc561956e1
+MD5 (gcc-java-3.4-20040114.tar.bz2) = 1ebfd7502c9600d1838af5eff5766d86
+MD5 (gcc-objc-3.4-20040114.tar.bz2) = ae08a05a56a312776f959db343bc5319
+MD5 (gcc-testsuite-3.4-20040114.tar.bz2) = 7ce504cbee33ab818845fcd9e4949a71
diff --git a/lang/gcc/files/patch-regrename.c b/lang/gcc/files/patch-regrename.c
new file mode 100644
index 000000000000..a687acded7eb
--- /dev/null
+++ b/lang/gcc/files/patch-regrename.c
@@ -0,0 +1,19 @@
+Index: gcc/regrename.c
+===================================================================
+RCS file: /cvs/gcc/gcc/gcc/regrename.c,v
+retrieving revision 1.72
+retrieving revision 1.73
+diff -u -3 -p -r1.72 -r1.73
+--- gcc/regrename.c 14 Jan 2004 16:25:09 -0000 1.72
++++ gcc/regrename.c 14 Jan 2004 17:55:20 -0000 1.73
+@@ -1345,8 +1345,8 @@ find_oldest_value_reg (enum reg_class cl
+ if (!TEST_HARD_REG_BIT (reg_class_contents[class], last))
+ return NULL_RTX;
+
+- if (new = maybe_mode_change (oldmode, vd->e[regno].mode, mode, i,
+- regno))
++ new = maybe_mode_change (oldmode, vd->e[regno].mode, mode, i, regno);
++ if (new)
+ {
+ ORIGINAL_REGNO (new) = ORIGINAL_REGNO (reg);
+ REG_ATTRS (new) = REG_ATTRS (reg);
diff --git a/lang/gcc/pkg-plist b/lang/gcc/pkg-plist
index 0119d6a05859..a25a199e218e 100644
--- a/lang/gcc/pkg-plist
+++ b/lang/gcc/pkg-plist
@@ -1,14 +1,16 @@
@comment $FreeBSD$
+bin/c++34
bin/cpp34
bin/g++34
bin/g77-34
bin/gcc34
bin/gcov34
+bin/%%GNU_HOST%%-c++34
bin/%%GNU_HOST%%-gcc-%%GCC_VER%%
bin/%%GNU_HOST%%-gcc34
bin/%%GNU_HOST%%-g++34
-bin/%%GNU_HOST%%-gcj
-bin/%%GNU_HOST%%-gcjh
+bin/%%GNU_HOST%%-gcj34
+bin/%%GNU_HOST%%-gcjh34
bin/gccbug34
bin/gcj34
bin/gcjh34
@@ -20,7 +22,7 @@ bin/jar34
bin/grepjar34
bin/rmic34
bin/rmiregistry34
-bin/addr2name.awk
+bin/addr2name.awk34
include/ffi.h
include/jni.h
include/jvmpi.h