aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lang/gcc34/Makefile69
-rw-r--r--lang/gcc34/distinfo20
-rw-r--r--lang/gcc34/files/patch-enumfix20
-rw-r--r--lang/gcc34/files/patch-gengtype-yacc.y12
-rw-r--r--lang/gcc34/files/patch-libjava::Makefile.in11
-rw-r--r--lang/gcc34/pkg-descr7
-rw-r--r--lang/gcc34/pkg-plist41
7 files changed, 73 insertions, 107 deletions
diff --git a/lang/gcc34/Makefile b/lang/gcc34/Makefile
index a12196afadd0..dd088c12559a 100644
--- a/lang/gcc34/Makefile
+++ b/lang/gcc34/Makefile
@@ -6,34 +6,32 @@
# $FreeBSD$
#
-PORTNAME= gcc
-PORTVERSION= 3.4.4
-PORTREVISION= 20041210
+PORTNAME= gcc-ooo
+PORTVERSION= 3.4.1
CATEGORIES= lang java
-VERSIONSTRING= 3.4-${PORTREVISION}
MASTER_SITES= ${MASTER_SITE_GCC} \
- http://web.inter.NL.net/hcc/Haj.Ten.Brugge/:bc
-MASTER_SITE_SUBDIR= snapshots/${VERSIONSTRING}
+ ${MASTER_SITE_LOCAL}
DISTFILES= \
- gcc-core-${VERSIONSTRING}${EXTRACT_SUFX} \
- gcc-g++-${VERSIONSTRING}${EXTRACT_SUFX} \
- gcc-g77-${VERSIONSTRING}${EXTRACT_SUFX} \
- gcc-java-${VERSIONSTRING}${EXTRACT_SUFX} \
- gcc-objc-${VERSIONSTRING}${EXTRACT_SUFX} \
- gcc-testsuite-${VERSIONSTRING}${EXTRACT_SUFX}
+ gcc-core-${PORTVERSION}${EXTRACT_SUFX} \
+ gcc-g++-${PORTVERSION}${EXTRACT_SUFX} \
+ gcc-testsuite-${PORTVERSION}${EXTRACT_SUFX}
-MAINTAINER?= gerald@FreeBSD.org
-COMMENT?= GNU Compiler Collection 3.4
+PATCH_DIST_STRIP= -p1
-LATEST_LINK?= gcc34${PKGNAMESUFFIX}
+MAINTAINER?= openoffice@FreeBSD.org
+COMMENT?= GNU Compiler Collection for OpenOffice.org
+LATEST_LINK?= No
+
+PATCHFILES+= GCC3.4.0VisibilityPatch2.diff
+PATCH_SITES+= http://www.nedprod.com/TnFOX/patches/
+PATCH_STRIP= -p1
USE_BISON= yes
USE_BZIP2= yes
USE_GMAKE= yes
USE_PERL5_BUILD=yes
USE_REINPLACE= yes
-PATCH_WRKSRC= ${SRCDIR}
CONFIGURE_SCRIPT= ../${SRCDIR:C/${WRKDIR}//}/configure
NOMANCOMPRESS= yes # too hard to deal with differences on 5-cur and releng4
@@ -44,15 +42,13 @@ CONFIGURE_TARGET= x86_64-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.endif
-
-.if ${ARCH} == amd64 || ${ARCH} == ia64 || ${ARCH} == sparc64
WITHOUT_LIBJAVA= yes
-.endif
-SRCDIR= ${WRKDIR}/gcc-${VERSIONSTRING}
+SRCDIR= ${WRKDIR}/gcc-${PORTVERSION}
+PATCH_WRKSRC= ${SRCDIR}
WRKSRC= ${WRKDIR}/build
-SUFFIX= 34
-TARGLIB= ${PREFIX}/lib/gcc/${CONFIGURE_TARGET}/${PORTVERSION}
+SUFFIX= -ooo
+TARGLIB= ${PREFIX}/lib/gcc-ooo/${CONFIGURE_TARGET}/${PORTVERSION}
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-nls \
--with-system-zlib \
@@ -72,19 +68,10 @@ ALL_TARGET= bootstrap-lean
PLIST_SUB= GCC_VER=${PORTVERSION} GNU_HOST=${CONFIGURE_TARGET}
MAN1= cpp${SUFFIX}.1 \
g++${SUFFIX}.1 \
- g77-${SUFFIX}.1 \
gcc${SUFFIX}.1 \
- gcov${SUFFIX}.1 \
- gcj${SUFFIX}.1 \
- gcjh${SUFFIX}.1 \
- gij${SUFFIX}.1 \
- grepjar${SUFFIX}.1 \
- jar${SUFFIX}.1 \
- jcf-dump${SUFFIX}.1 \
- jv-scan${SUFFIX}.1 jv-convert${SUFFIX}.1 \
- rmic${SUFFIX}.1 rmiregistry${SUFFIX}.1
+ gcov${SUFFIX}.1
MAN7= fsf-funding.7 gfdl.7 gpl.7
-INFO= cpp cppinternals g77 gcc gccinstall gccint gcj fastjar
+INFO= cpp cppinternals gcc gccinstall gccint
.if defined(WITHOUT_LIBJAVA)
CONFIGURE_ARGS+= --disable-libgcj
@@ -117,7 +104,7 @@ check: build
cd ${WRKSRC}; export RUNTESTFLAGS='--target_board ''unix{-pthread}'''; ${GMAKE} -sk check
post-install: fake-manpages
-.for f in c++ g77 gcc g++ cpp gcov ${CONFIGURE_TARGET}-gcc ${CONFIGURE_TARGET}-g++ gcj gcjh gij jv-scan jcf-dump jv-convert jar grepjar rmic rmiregistry
+.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
# gij and jv-convert, for example, are not built on all platforms.
if [ -e ${PREFIX}/bin/${f}${SUFFIX} ]; then \
${STRIP_CMD} ${PREFIX}/bin/${f}${SUFFIX}; \
@@ -127,15 +114,13 @@ post-install: fake-manpages
${PREFIX}/man/man1/${f}${SUFFIX}.1; \
fi
.endfor
- ${MV} -f ${PREFIX}/bin/g77${SUFFIX} ${PREFIX}/bin/g77-${SUFFIX}
- -${MV} -f ${PREFIX}/man/man1/g77${SUFFIX}.1 ${PREFIX}/man/man1/g77-${SUFFIX}.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}
+.for f in libstdc++ libsupc++ ${EXTRA_SHLIB}
${MV} -f ${PREFIX}/lib/${f}.* ${TARGLIB}
.endfor
- -${MV} -f ${PREFIX}/lib/ieee ${TARGLIB}
- -${MV} -f ${PREFIX}/lib/libgcj.* ${TARGLIB}
+# -${MV} -f ${PREFIX}/lib/ieee ${TARGLIB}
+# -${MV} -f ${PREFIX}/lib/libgcj.* ${TARGLIB}
${RM} -f ${PREFIX}/lib/libiberty.a
${RM} -f ${TARGLIB}/*.la
# Handle target libraries and GCJ include files.
@@ -147,7 +132,7 @@ post-install: fake-manpages
| ${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} "@unexec rmdir %D/lib/gcc-ooo/${CONFIGURE_TARGET} 2>&1 || true" ; ${ECHO_CMD} "@unexec rmdir %D/lib/gcc-ooo 2>&1 || true") >> ${WRKDIR}/PLIST.lib
${ECHO_CMD} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
${ECHO_CMD} "/Insert PLIST.lib" >> ${WRKDIR}/ex.script
${ECHO_CMD} "d" >> ${WRKDIR}/ex.script
@@ -161,11 +146,11 @@ cklatest:
@-ncftpls -l ${SITE} | ${GREP} 'LATEST.*3\.4'
.endfor
-.include <bsd.port.post.mk>
-
fake-manpages:
# man pages can only be generated if Perl >= 5.6 is installed, so
# fake them on 4.x systems.
.for mp in ${_MANPAGES}
( ${TEST} -e ${mp} || ${TOUCH} ${TOUCH_FLAGS} ${mp} )
.endfor
+
+.include <bsd.port.post.mk>
diff --git a/lang/gcc34/distinfo b/lang/gcc34/distinfo
index c6267c52badb..c2fe03b393be 100644
--- a/lang/gcc34/distinfo
+++ b/lang/gcc34/distinfo
@@ -1,12 +1,8 @@
-MD5 (gcc-core-3.4-20041210.tar.bz2) = 58d54f62bdcf1cac70ffe9740eddacf6
-SIZE (gcc-core-3.4-20041210.tar.bz2) = 10974118
-MD5 (gcc-g++-3.4-20041210.tar.bz2) = 233395206b7d9a1439f4f61f5b4e74ea
-SIZE (gcc-g++-3.4-20041210.tar.bz2) = 2475036
-MD5 (gcc-g77-3.4-20041210.tar.bz2) = cdffb73525d81eef41d365905a34065b
-SIZE (gcc-g77-3.4-20041210.tar.bz2) = 892595
-MD5 (gcc-java-3.4-20041210.tar.bz2) = c573bcc169f1f9ee1090cac5e4476ace
-SIZE (gcc-java-3.4-20041210.tar.bz2) = 4549408
-MD5 (gcc-objc-3.4-20041210.tar.bz2) = 39e067f3a41328612d76c79edb412cf3
-SIZE (gcc-objc-3.4-20041210.tar.bz2) = 148728
-MD5 (gcc-testsuite-3.4-20041210.tar.bz2) = 77c29a5a2c081e1646665034f7e4dd72
-SIZE (gcc-testsuite-3.4-20041210.tar.bz2) = 2628142
+MD5 (gcc-core-3.4.1.tar.bz2) = 4b05b134baf92457494a0f4a28aa5213
+SIZE (gcc-core-3.4.1.tar.bz2) = 12862544
+MD5 (gcc-g++-3.4.1.tar.bz2) = 7517c88648883e3d92e1e8525ab823fa
+SIZE (gcc-g++-3.4.1.tar.bz2) = 2406501
+MD5 (gcc-testsuite-3.4.1.tar.bz2) = 641f45606e17db4a3079cb7364a9e295
+SIZE (gcc-testsuite-3.4.1.tar.bz2) = 2600275
+MD5 (GCC3.4.0VisibilityPatch2.diff) = d2b2e7d8e2eb265ce445e4e916d83708
+SIZE (GCC3.4.0VisibilityPatch2.diff) = 43952
diff --git a/lang/gcc34/files/patch-enumfix b/lang/gcc34/files/patch-enumfix
new file mode 100644
index 000000000000..78a6eba5a777
--- /dev/null
+++ b/lang/gcc34/files/patch-enumfix
@@ -0,0 +1,20 @@
+http://gcc.gnu.org/ml/gcc-patches/2004-07/msg00968.html
+http://blog.janik.cz/archives/2004-11-23T22_37_37.html
+
+--- gcc-3.4.1/gcc/fold-const.c.orig Tue Jun 1 08:15:12 2004
++++ gcc-3.4.1/gcc/fold-const.c Wed Nov 24 16:39:02 2004
+@@ -3535,7 +3535,13 @@
+ HOST_WIDE_INT hi;
+ int prec;
+
+- prec = TYPE_PRECISION (etype);
++ /* For enums the comparison will be done in the underlying type,
++ so using enum's precision is wrong here.
++ Consider e.g. enum { A, B, C, D, E }, low == B and high == D. */
++ if (TREE_CODE (etype) == ENUMERAL_TYPE)
++ prec = GET_MODE_BITSIZE (TYPE_MODE (etype));
++ else
++ prec = TYPE_PRECISION (etype);
+ if (prec <= HOST_BITS_PER_WIDE_INT)
+ {
+ hi = 0;
diff --git a/lang/gcc34/files/patch-gengtype-yacc.y b/lang/gcc34/files/patch-gengtype-yacc.y
deleted file mode 100644
index 4afaae159533..000000000000
--- a/lang/gcc34/files/patch-gengtype-yacc.y
+++ /dev/null
@@ -1,12 +0,0 @@
---- gcc/gengtype-yacc.y.orig Fri Sep 20 00:33:24 2002
-+++ gcc/gengtype-yacc.y Tue Apr 22 09:11:27 2003
-@@ -24,6 +24,9 @@
- #include "system.h"
- #include "gengtype.h"
- #define YYERROR_VERBOSE
-+
-+#define malloc xmalloc
-+#define realloc xrealloc
- %}
-
- %union {
diff --git a/lang/gcc34/files/patch-libjava::Makefile.in b/lang/gcc34/files/patch-libjava::Makefile.in
deleted file mode 100644
index 561b2632eb42..000000000000
--- a/lang/gcc34/files/patch-libjava::Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- libjava/Makefile.in.orig Tue Aug 31 09:39:04 2004
-+++ libjava/Makefile.in Tue Aug 31 09:39:46 2004
-@@ -180,7 +180,7 @@
-
- toolexecmainlib_DATA = libgcj.spec
-
--pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfigdir = $(prefix)/libdata/pkgconfig
- pkgconfig_DATA = libgcj.pc
-
- jardir = $(datadir)/java
diff --git a/lang/gcc34/pkg-descr b/lang/gcc34/pkg-descr
index 709e1bdbcd1e..80413c7969b9 100644
--- a/lang/gcc34/pkg-descr
+++ b/lang/gcc34/pkg-descr
@@ -1,6 +1,7 @@
-GCC, the GNU Compiler Collection includes gcc, g++, gcj, and g77.
+GCC, the GNU Compiler Collection includes gcc, g++
+for OpenOffice.org compilation
-This port installs the various front ends as gcc34, g++34, gcj34,
-and g77-34 into the ${PREFIX}/bin directory.
+This port installs the various front ends as gcc-ooo, and g++-ooo
+into the ${PREFIX}/bin directory.
WWW: http://gcc.gnu.org/
diff --git a/lang/gcc34/pkg-plist b/lang/gcc34/pkg-plist
index 1075b994c0e2..33d22e26fbbf 100644
--- a/lang/gcc34/pkg-plist
+++ b/lang/gcc34/pkg-plist
@@ -1,28 +1,19 @@
@comment $FreeBSD$
-bin/c++34
-bin/cpp34
-bin/g++34
-bin/g77-34
-bin/gcc34
-bin/gcov34
-bin/%%GNU_HOST%%-c++34
+bin/c++-ooo
+bin/cpp-ooo
+bin/g++-ooo
+bin/gcc-ooo
+bin/gcov-ooo
+bin/%%GNU_HOST%%-c++-ooo
bin/%%GNU_HOST%%-gcc-%%GCC_VER%%
-bin/%%GNU_HOST%%-gcc34
-bin/%%GNU_HOST%%-g++34
-bin/%%GNU_HOST%%-gcj34
-bin/%%GNU_HOST%%-gcjh34
-bin/gccbug34
-bin/gcj34
-bin/gcjh34
-%%LIBJAVA%%bin/gij34
-bin/jv-scan34
-bin/jcf-dump34
-%%LIBJAVA%%bin/jv-convert34
-bin/jar34
-bin/grepjar34
-%%LIBJAVA%%bin/rmic34
-%%LIBJAVA%%bin/rmiregistry34
-%%LIBJAVA%%bin/addr2name.awk34
+bin/%%GNU_HOST%%-gcc-ooo
+bin/%%GNU_HOST%%-g++-ooo
+bin/gccbug-ooo
+%%LIBJAVA%%bin/gij-ooo
+%%LIBJAVA%%bin/jv-convert-ooo
+%%LIBJAVA%%bin/rmic-ooo
+%%LIBJAVA%%bin/rmiregistry-ooo
+%%LIBJAVA%%bin/addr2name.awk-ooo
%%LIBJAVA%%include/ffi.h
%%LIBJAVA%%include/jni.h
%%LIBJAVA%%include/jvmpi.h
@@ -39,10 +30,6 @@ bin/grepjar34
%%LIBJAVA%%lib/lib-org-w3c-dom.a
libexec/gcc/%%GNU_HOST%%/%%GCC_VER%%/cc1
libexec/gcc/%%GNU_HOST%%/%%GCC_VER%%/cc1plus
-libexec/gcc/%%GNU_HOST%%/%%GCC_VER%%/f771
-libexec/gcc/%%GNU_HOST%%/%%GCC_VER%%/jc1
-libexec/gcc/%%GNU_HOST%%/%%GCC_VER%%/jvgenmain
-libexec/gcc/%%GNU_HOST%%/%%GCC_VER%%/cc1obj
libexec/gcc/%%GNU_HOST%%/%%GCC_VER%%/collect2
libexec/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/fixinc.sh
libexec/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/fixincl