diff options
author | Mike Frysinger <vapier@gentoo.org> | 2004-04-22 02:51:58 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2004-04-22 02:51:58 +0000 |
commit | ef0b6a079fda0f6793f0a3470b93a1db3842d00b (patch) | |
tree | 898f6a55f6b1e967894c47b66875d4328b85adba /sys-devel/gcc | |
parent | remove masks for never-released gccs (diff) | |
download | historical-ef0b6a079fda0f6793f0a3470b93a1db3842d00b.tar.gz historical-ef0b6a079fda0f6793f0a3470b93a1db3842d00b.tar.bz2 historical-ef0b6a079fda0f6793f0a3470b93a1db3842d00b.zip |
was never released
Diffstat (limited to 'sys-devel/gcc')
-rw-r--r-- | sys-devel/gcc/ChangeLog | 6 | ||||
-rw-r--r-- | sys-devel/gcc/files/digest-gcc-3.1-r8 | 1 | ||||
-rw-r--r-- | sys-devel/gcc/files/digest-gcc-3.2-r5 | 2 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-3.1-r8.ebuild | 339 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-3.2-r5.ebuild | 427 |
5 files changed, 3 insertions, 772 deletions
diff --git a/sys-devel/gcc/ChangeLog b/sys-devel/gcc/ChangeLog index 40b171600f96..03a047dec69a 100644 --- a/sys-devel/gcc/ChangeLog +++ b/sys-devel/gcc/ChangeLog @@ -1,9 +1,9 @@ # ChangeLog for sys-devel/gcc # Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.208 2004/04/22 02:50:32 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.209 2004/04/22 02:51:58 vapier Exp $ - 21 Apr 2004; Mike Frysinger <vapier@gentoo.org> gcc-3.2-r5: - This was never released so lets prune it. + 21 Apr 2004; Mike Frysinger <vapier@gentoo.org> gcc-3.2-r5 gcc-3.1-r8: + These were never released so lets prune them. 21 Apr 2004; Mike Frysinger <vapier@gentoo.org> gcc-3.2.3-r2 gcc-3.2.3-r3 gcc-3.2.3-r4: diff --git a/sys-devel/gcc/files/digest-gcc-3.1-r8 b/sys-devel/gcc/files/digest-gcc-3.1-r8 deleted file mode 100644 index fba8a6ab4cea..000000000000 --- a/sys-devel/gcc/files/digest-gcc-3.1-r8 +++ /dev/null @@ -1 +0,0 @@ -MD5 605adcc9c90f1674043c8c3749f43636 gcc-3.1.tar.bz2 20445209 diff --git a/sys-devel/gcc/files/digest-gcc-3.2-r5 b/sys-devel/gcc/files/digest-gcc-3.2-r5 deleted file mode 100644 index cae83304b185..000000000000 --- a/sys-devel/gcc/files/digest-gcc-3.2-r5 +++ /dev/null @@ -1,2 +0,0 @@ -MD5 13f289fff789927b9b798bf37552019c gcc-3.2.tar.bz2 20523950 -MD5 3fd60ca7fc4e92a048d10f49b0ff769c gcc-3.2-patches-1.0.tar.bz2 100997 diff --git a/sys-devel/gcc/gcc-3.1-r8.ebuild b/sys-devel/gcc/gcc-3.1-r8.ebuild deleted file mode 100644 index 673229a99757..000000000000 --- a/sys-devel/gcc/gcc-3.1-r8.ebuild +++ /dev/null @@ -1,339 +0,0 @@ -# Copyright 1999-2004 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.1-r8.ebuild,v 1.16 2004/02/26 20:36:49 pappy Exp $ - -IUSE="nls bootstrap static build" - -# NOTE TO MAINTAINER: Info pages get nuked for multiple version installs. -# Ill fix it later if i get a chance. -# -# IMPORTANT: The versions of libs installed should be updated -# in src_install() ... Ill implement auto-version detection -# later on. - -inherit libtool - -GCC_SUFFIX=-3.1 -LOC=/usr -# dont install in /usr/include/g++-v3/, as it will nuke gcc-3.0.x installs -STDCXX_INCDIR="${LOC}/include/g++-v${PV/\./}" -SLOT="3.1" -# we need to set $S to where stuff gets build, else the libtool-portage patch -# do not work -S=${WORKDIR}/build -# the true/original $S -SORIG=${WORKDIR}/${P} -SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/${P}/${P}.tar.bz2 - ftp://ftp.funet.fi/pub/mirrors/sourceware.cygnus.com/pub/gcc/releases/${P}/${P}.tar.bz2" -DESCRIPTION="Modern GCC C/C++ compiler" -HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html" -LICENSE="GPL-2 LGPL-2.1" -KEYWORDS="x86 sparc -ppc" - -DEPEND="virtual/glibc" -RDEPEND="virtual/glibc - >=sys-libs/zlib-1.1.4 - >=sys-apps/texinfo-4.2-r4" -if [ -z "`use build`" ] -then - DEPEND="${DEPEND} - nls? ( sys-devel/gettext ) - >=sys-libs/ncurses-5.2-r2" - RDEPEND="${RDEPEND} - >=sys-libs/ncurses-5.2-r2" -fi - -build_multiple() { - #try to make sure that we should build multiple - #versions of gcc (dual install of gcc2 and gcc3) - profile="`readlink /etc/make.profile`" - # [ "`gcc -dumpversion | cut -d. -f1,2`" != "`echo ${PV} | cut -d. -f1,2`" ] - # - # Check the major and minor versions only, and drop the micro version. - # This is done, as compadibility only differ when major and minor differ. - if [ -z "`use build`" ] && \ - [ -z "`use bootstrap`" ] && \ - [ "`gcc -dumpversion | cut -d. -f1,2`" != "`echo ${PV} | cut -d. -f1,2`" ] && \ - [ "${profile/gcc3}" = "${profile}" ] && \ - [ "${GCCBUILD}" != "default" ] - then - return 0 - else - return 1 - fi -} - -# used to patch Makefiles to install into the build dir -FAKE_ROOT="" - -src_unpack() { - unpack ${P}.tar.bz2 - - cd ${SORIG} - # Fixup libtool to correctly generate .la files with portage - # Only apply the portage patch, and only to ltmain.sh in ${SORIG}/ - # elibtoolize uses $S as work directory.... - S=${SORIG} \ - elibtoolize --portage --shallow - - # Red Hat patches - for x in gcc31-boehm-gc-libs.patch.bz2 \ - gcc31-fde-merge-compat.patch.bz2 \ - gcc31-attr-visibility.patch.bz2 \ - gcc31-attr-visibility2.patch.bz2 \ - gcc31-trunc_int_for_mode.patch.bz2 \ - gcc31-dwarf2-pr6381.patch.bz2 \ - gcc31-dwarf2-pr6436-test.patch.bz2 \ - gcc31-c++-null-pm-init.patch.bz2 \ - gcc31-c++-tsubst-asm.patch.bz2 \ - gcc31-fdata-sections.patch.bz2 \ - gcc31-fold-const.patch.bz2 \ - gcc31-fold-const2.patch.bz2 \ - gcc31-i386-malign-double-doc.patch.bz2 \ - gcc31-libstdc++-pr6594.patch.bz2 \ - gcc31-libstdc++-pr6648.patch.bz2 \ - gcc31-libstdc++-setrlim.patch.bz2 \ - gcc31-pr6643.patch.bz2 \ - gcc31-test-rotate.patch.bz2 - do - bzip2 -dc ${FILESDIR}/${PV}/${x} | \ - patch -p0 || die "failed with patch ${x}" - done - - # SuSE patches - bzip2 -dc ${FILESDIR}/${PV}/gcc31-i386-expand-clrstr.patch.bz2 | \ - patch -p1 || die "failed with patch gcc31-i386-expand-clrstr" - - # Mandrake patches - # cp/lex.c (cxx_init_options): By default, don't wrap lines since the - # C front-end operates that way, already. - bzip2 -dc ${FILESDIR}/${PV}/gcc31-c++-diagnostic-no-line-wrapping.patch.bz2 | \ - patch -p1 || die "failed with patch gcc31-c++-diagnostic-no-line-wrapping" - - # Currently if any path is changed via the configure script, it breaks - # installing into ${D}. We should not patch it in src_install() with - # absolute paths, as some modules then gets rebuild with the wrong - # paths. Thus we use $FAKE_ROOT. - cd ${SORIG} - for x in $(find . -name Makefile.in) - do -# cp ${x} ${x}.orig - # Fix --datadir= -# sed -e 's:datadir = @datadir@:datadir = $(FAKE_ROOT)@datadir@:' \ -# ${x}.orig > ${x} - cp ${x} ${x}.orig - # Fix --with-gxx-include-dir= - sed -e 's:gxx_include_dir = @gxx_:gxx_include_dir = $(FAKE_ROOT)@gxx_:' \ - -e 's:glibcppinstalldir = @gxx_:glibcppinstalldir = $(FAKE_ROOT)@gxx_:' \ - ${x}.orig > ${x} - rm -f ${x}.orig - done -} - -src_compile() { - local myconf="" - # use the system zlib!!! - myconf="--with-system-zlib" - if [ -z "`use build`" ] - then - myconf="${myconf} --enable-shared" - else - myconf="${myconf} --enable-languages=c" - fi - if [ -z "`use nls`" ] || [ "`use build`" ] ; then - myconf="${myconf} --disable-nls" - else - myconf="${myconf} --enable-nls --without-included-gettext" - fi - - #only build with a program suffix if it is not our - #default compiler. Also check $GCCBUILD until we got - #compilers sorted out. - # - #NOTE: for software to detirmine gcc version, it will be easier - # if we have gcc, gcc-3.0 and gcc-3.1, and NOT gcc-3.0.4. - if build_multiple - then - myconf="${myconf} --program-suffix=${GCC_SUFFIX}" - fi - - # gcc does not like optimization - - export CFLAGS="${CFLAGS/-O?/}" - export CXXFLAGS="${CXXFLAGS/-O?/}" - - #build in a separate build tree - mkdir -p ${S} - cd ${S} - - addwrite "/dev/zero" - ${SORIG}/configure --prefix=${LOC} \ - --mandir=${LOC}/share/man \ - --infodir=${LOC}/share/info \ - --enable-shared \ - --host=${CHOST} \ - --build=${CHOST} \ - --target=${CHOST} \ - --enable-threads=posix \ - --enable-long-long \ - --enable-cstdio=stdio \ - --enable-clocale=generic \ - --disable-checking \ - --enable-version-specific-runtime-libs \ - --with-gxx-include-dir=${STDCXX_INCDIR} \ - --with-local-prefix=${LOC}/local \ - ${myconf} || die - - if [ -z "`use static`" ] - then - emake bootstrap-lean || die - else - emake LDFLAGS=-static bootstrap || die - fi -} - -src_install() { - #make install from the build directory - cd ${S} - make prefix=${D}${LOC} \ - mandir=${D}${LOC}/share/man \ - infodir=${D}${LOC}/share/info \ - FAKE_ROOT=${D} \ - install || die - - if ! build_multiple - then - GCC_SUFFIX="" - fi - - [ -e ${D}${LOC}/bin/gcc${GCC_SUFFIX} ] || die "gcc not found in ${D}" - - FULLPATH=${LOC}/lib/gcc-lib/${CHOST}/${PV} - FULLPATH_D=${D}${LOC}/lib/gcc-lib/${CHOST}/${PV} - cd ${FULLPATH_D} - dodir /lib - dodir /etc/env.d - echo "LDPATH=${FULLPATH}" > ${D}/etc/env.d/05gcc${GCC_SUFFIX} - if ! build_multiple - then - dosym /usr/bin/cpp /lib/cpp - dosym gcc /usr/bin/cc - fi - - # gcc-3.1 have a problem with the ordering of Search Directories. For - # instance, if you have libreadline.so in /lib, and libreadline.a in - # /usr/lib, then it will link with libreadline.a instead of .so. As far - # as I can see from the source, /lib should be searched before /usr/lib, - # and this also differs from gcc-2.95.3 and possibly 3.0.4, but ill have - # to check on 3.0.4. Thanks to Daniel Robbins for noticing this oddity. - # - # Azarah - 3 Jul 2002 - # - cd ${FULLPATH_D} - dosed -e "s:%{L\*} %(link_libgcc):%{L\*} -L/lib %(link_libgcc):" \ - ${FULLPATH}/specs - - #make sure we dont have stuff lying around that - #can nuke multiple versions of gcc - if [ -z "`use build`" ] - then - cd ${FULLPATH_D} - - #Tell libtool files where real libraries are - for LA in ${D}${LOC}/lib/*.la ${FULLPATH_D}/../*.la - do - sed -e "s:/usr/lib:${FULLPATH}:" ${LA} > ${LA}.hacked - mv ${LA}.hacked ${LA} - mv ${LA} ${FULLPATH_D} - done - - #move all the libraries to version specific libdir. - mv ${D}${LOC}/lib/*.{so,a}* ${FULLPATH_D}/../*.{so,a}* \ - ${FULLPATH_D} - - #move Java headers to compiler-specific dir - mv ${D}${LOC}/include/gc*.h ${FULLPATH_D}/include/ - mv ${D}${LOC}/include/j*.h ${FULLPATH_D}/include/ - for x in gcj gnu java javax org - do - mkdir -p ${FULLPATH_D}/include/${x} - mv ${D}${LOC}/include/${x}/* ${FULLPATH_D}/include/${x}/ - rm -rf ${D}${LOC}/include/${x} - done - - #move libgcj.spec to compiler-specific directories - mv ${D}${LOC}/lib/libgcj.spec ${FULLPATH_D}/libgcj.spec - - #rename jar because it could clash with Kaffe's jar if this gcc is - #primary compiler (aka don't have the -<version> extension) - cd ${D}${LOC}/bin - mv jar${GCC_SUFFIX} gcj-jar${GCC_SUFFIX} - - #move <cxxabi.h> to compiler-specific directories - mv ${D}${STDCXX_INCDIR}/cxxabi.h ${FULLPATH_D}/include/ - - #now fix the manpages - cd ${D}${LOC}/share/man/man1; - mv cpp.1 cpp${GCC_SUFFIX}.1 - mv gcov.1 gcov${GCC_SUFFIX}.1 - fi - - cd ${SORIG} - if [ -z "`use build`" ] - then - cd ${SORIG} - docinto / - dodoc BUGS COPYING COPYING.LIB ChangeLog GNATS README* FAQ MAINTAINERS - docinto html - dodoc *.html - cd ${SORIG}/boehm-gc - docinto boehm-gc - dodoc ChangeLog README* - cd ${SORIG}/gcc - docinto gcc - dodoc ChangeLog* COPYING* FSFChangeLog* LANGUAGES NEWS ONEWS \ - README* SERVICE - cd ${SORIG}/fastjar - docinto fastjar - dodoc AUTHORS CHANGES COPYING ChangeLog NEWS README - cd ${SORIG}/libf2c - docinto libf2c - dodoc ChangeLog README TODO changes.netlib disclaimer.netlib \ - permission.netlib readme.netlib - cd ${SORIG}/libffi - docinto libffi - dodoc ChangeLog* LICENSE README - cd ${SORIG}/libjava - docinto libjava - dodoc ChangeLog* COPYING HACKING LIBGCJ_LICENSE NEWS README THANKS - cd ${SORIG}/libiberty - docinto libiberty - dodoc ChangeLog COPYING.LIB README - cd ${SORIG}/libobjc - docinto libobjc - dodoc ChangeLog README* THREADS* - cd ${SORIG}/libstdc++-v3 - docinto libstdc++-v3 - dodoc ChangeLog* README - else - rm -rf ${D}/usr/share/{man,info} - fi - - # Fix ncurses b0rking - find ${D}/ -name '*curses.h' -exec rm -f {} \; -} - -pkg_postrm() { - if [ ! -L ${ROOT}/lib/cpp ] - then - ln -sf /usr/bin/cpp ${ROOT}/lib/cpp - fi - if [ ! -L ${ROOT}/usr/bin/cc ] - then - ln -sf gcc ${ROOT}/usr/bin/cc - fi - - # Fix ncurses b0rking (if r5 isn't unmerged) - find /usr/lib/gcc-lib -name '*curses.h' -exec rm -f {} \; -} - diff --git a/sys-devel/gcc/gcc-3.2-r5.ebuild b/sys-devel/gcc/gcc-3.2-r5.ebuild deleted file mode 100644 index b1e13fa05cad..000000000000 --- a/sys-devel/gcc/gcc-3.2-r5.ebuild +++ /dev/null @@ -1,427 +0,0 @@ -# Copyright 1999-2004 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.2-r5.ebuild,v 1.13 2004/01/08 19:53:24 agriffis Exp $ - -IUSE="static nls bootstrap java build" - -inherit eutils flag-o-matic libtool - -# Compile problems with these (bug #6641 among others)... -filter-flags "-fno-exceptions -fomit-frame-pointer" - -# Recently there has been a lot of stability problem in Gentoo-land. Many -# things can be the cause to this, but I believe that it is due to gcc3 -# still having issues with optimizations, or with it not filtering bad -# combinations (protecting the user maybe from himeself) yet. -# -# This can clearly be seen in large builds like glibc, where too aggressive -# CFLAGS cause the tests to fail miserbly. -# -# Quote from Nick Jones <carpaski@gentoo.org>, who in my opinion -# knows what he is talking about: -# -# People really shouldn't force code-specific options on... It's a -# bad idea. The -march options aren't just to look pretty. They enable -# options that are sensible (and include sse,mmx,3dnow when apropriate). -# -# The next command strips CFLAGS and CXXFLAGS from nearly all flags. If -# you do not like it, comment it, but do not bugreport if you run into -# problems. -# -# <azarah@gentoo.org> (13 Oct 2002) -strip-flags - -# Theoretical cross compiler support -[ ! -n "${CCHOST}" ] && export CCHOST="${CHOST}" - -LOC="/usr" -MY_PV="`echo ${PV} | awk -F. '{ gsub(/_pre.*|_alpha.*/, ""); print $1 "." $2 }'`" -MY_PV_FULL="`echo ${PV} | awk '{ gsub(/_pre.*|_alpha.*/, ""); print $0 }'`" - -LIBPATH="${LOC}/lib/gcc-lib/${CCHOST}/${MY_PV_FULL}" -BINPATH="${LOC}/${CCHOST}/gcc-bin/${MY_PV}" -DATAPATH="${LOC}/share/gcc-data/${CCHOST}/${MY_PV}" -# Dont install in /usr/include/g++-v3/, but in gcc internal directory. -# We will handle /usr/include/g++-v3/ with gcc-config ... -STDCXX_INCDIR="${LIBPATH}/include/g++-v${MY_PV/\.*/}" - -PATCH_VER="1.0" - -# Snapshot support ... -#SNAPSHOT="2002-08-12" -SNAPSHOT="" - -if [ -z "${SNAPSHOT}" ] -then - S="${WORKDIR}/${P}" - SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/${P}/${P}.tar.bz2 - mirror://gentoo/distfiles/${P}-patches-${PATCH_VER}.tar.bz2" -else - S="${WORKDIR}/gcc-${SNAPSHOT//-}" - SRC_URI="ftp://sources.redhat.com/pub/gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT//-}.tar.bz2" -fi - -DESCRIPTION="Modern C/C++ compiler written by the GNU people" -HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html" - -LICENSE="GPL-2 LGPL-2.1" -KEYWORDS="x86 ppc sparc alpha ~ia64" - -# Ok, this is a hairy one again, but lets assume that we -# are not cross compiling, than we want SLOT to only contain -# $PV, as people upgrading to new gcc layout will not have -# their old gcc unmerged ... -if [ "${CHOST}" = "${CCHOST}" ] -then - SLOT="${MY_PV}" -else - SLOT="${CCHOST}-${MY_PV}" -fi - -DEPEND="virtual/glibc - >=sys-devel/gcc-config-1.2 - !build? ( >=sys-libs/ncurses-5.2-r2 - nls? ( sys-devel/gettext ) )" - -RDEPEND="virtual/glibc - >=sys-devel/gcc-config-1.2 - >=sys-libs/zlib-1.1.4 - >=sys-apps/texinfo-4.2-r4 - !build? ( >=sys-libs/ncurses-5.2-r2 )" - - -# Hack used to patch Makefiles to install into the build dir -FAKE_ROOT="" - -src_unpack() { - if [ -z "${SNAPSHOT}" ] - then - unpack ${P}.tar.bz2 ${P}-patches-${PATCH_VER}.tar.bz2 - else - unpack gcc-${SNAPSHOT//-}.tar.bz2 - fi - - cd ${S} - # Fixup libtool to correctly generate .la files with portage - elibtoolize --portage --shallow - - # Do bulk patches included in ${P}-patches-${PATCH_VER}.tar.bz2 - epatch ${WORKDIR}/patch - - # Fixes a bug in gcc-3.1 and above ... -maccumulate-outgoing-args flag (added - # in gcc-3.1) causes gcc to misconstruct the function call frame in many cases. - # Thanks to Ronald Hummelink <ronald@hummelink.xs4all.nl> for bringing it to - # our attention. - # - # http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2002/08/ - # http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2002/08/0319.html - # http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2002/08/0350.html - # http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2002/08/0410.html - # http://gcc.gnu.org/ml/gcc/2002-08/msg00731.html - # - # Also for the updated patches, see: - # - # http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2002/08/0588.html - # - epatch ${FILESDIR}/${PV}/${P}.fix-copy.patch - epatch ${FILESDIR}/${PV}/${P}.fix-var.patch - - # Fixes to get gcc to compile under glibc-2.3* - epatch ${FILESDIR}/${PV}/${P}-glibc-2.3-compat.diff - # This one is thanks to cretin@gentoo.org - epatch ${FILESDIR}/${PV}/${P}.ctype.patch - - # Currently if any path is changed via the configure script, it breaks - # installing into ${D}. We should not patch it in src_install() with - # absolute paths, as some modules then gets rebuild with the wrong - # paths. Thus we use $FAKE_ROOT. - cd ${S} - for x in $(find . -name Makefile.in) - do - # Fix --datadir= - cp ${x} ${x}.orig - sed -e 's:datadir = @datadir@:datadir = $(FAKE_ROOT)@datadir@:' \ - ${x}.orig > ${x} - - # Fix --bindir= - cp ${x} ${x}.orig - sed -e 's:bindir = @bindir@:bindir = $(FAKE_ROOT)@bindir@:' \ - ${x}.orig > ${x} - - # Fix --with-gxx-include-dir= - cp ${x} ${x}.orig - sed -e 's:gxx_include_dir = @gxx_:gxx_include_dir = $(FAKE_ROOT)@gxx_:' \ - -e 's:glibcppinstalldir = @gxx_:glibcppinstalldir = $(FAKE_ROOT)@gxx_:' \ - ${x}.orig > ${x} - - # Where java security stuff should be installed - cp ${x} ${x}.orig - sed -e 's:secdir = $(libdir)/security:secdir = $(FAKE_ROOT)$(LIBPATH)/security:' \ - ${x}.orig > ${x} - - rm -f ${x}.orig - done -} - -src_compile() { - local myconf="" - local gcc_lang="" - if [ -z "`use build`" ] - then - myconf="${myconf} --enable-shared" - gcc_lang="c,c++,f77,objc" - else - gcc_lang="c" - fi - if [ -z "`use nls`" ] || [ "`use build`" ] - then - myconf="${myconf} --disable-nls" - else - myconf="${myconf} --enable-nls --without-included-gettext" - fi - if [ -n "`use java`" ] && [ -z "`use build`" ] - then - gcc_lang="${gcc_lang},java" - fi - - # In general gcc does not like optimization, and add -O2 where - # it is safe. - export CFLAGS="${CFLAGS//-O?}" - export CXXFLAGS="${CXXFLAGS//-O?}" - - # Build in a separate build tree - mkdir -p ${WORKDIR}/build - cd ${WORKDIR}/build - - einfo "Configuring GCC..." - addwrite "/dev/zero" - ${S}/configure --prefix=${LOC} \ - --bindir=${BINPATH} \ - --datadir=${DATAPATH} \ - --mandir=${DATAPATH}/man \ - --infodir=${DATAPATH}/info \ - --enable-shared \ - --host=${CHOST} \ - --target=${CCHOST} \ - --with-system-zlib \ - --enable-languages=${gcc_lang} \ - --enable-threads=posix \ - --enable-long-long \ - --disable-checking \ - --enable-cstdio=stdio \ - --enable-clocale=generic \ - --enable-__cxa_atexit \ - --enable-version-specific-runtime-libs \ - --with-gxx-include-dir=${STDCXX_INCDIR} \ - --with-local-prefix=${LOC}/local \ - ${myconf} || die - - touch ${S}/gcc/c-gperf.h - - einfo "Building GCC..." - if [ -z "`use static`" ] - then - # Fix for our libtool-portage.patch - S="${WORKDIR}/build" \ - emake bootstrap-lean \ - LIBPATH="${LIBPATH}" \ - BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die - # Above FLAGS optimize and speedup build, thanks - # to Jeff Garzik <jgarzik@mandrakesoft.com> - else - S="${WORKDIR}/build" \ - emake LDFLAGS=-static bootstrap \ - LIBPATH="${LIBPATH}" \ - BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die - fi -} - -src_install() { - # Do allow symlinks in ${LOC}/lib/gcc-lib/${CHOST}/${PV}/include as - # this can break the build. - for x in cd ${WORKDIR}/build/gcc/include/* - do - if [ -L ${x} ] - then - rm -f ${x} - fi - done - - einfo "Installing GCC..." - # Do the 'make install' from the build directory - cd ${WORKDIR}/build - S="${WORKDIR}/build" \ - make prefix=${D}${LOC} \ - bindir=${D}${BINPATH} \ - datadir=${D}${DATAPATH} \ - mandir=${D}${DATAPATH}/man \ - infodir=${D}${DATAPATH}/info \ - LIBPATH="${LIBPATH}" \ - FAKE_ROOT="${D}" \ - install || die - - [ -r ${D}${BINPATH}/gcc ] || die "gcc not found in ${D}" - - dodir /lib /usr/bin - dodir /etc/env.d/gcc - echo "PATH=\"${BINPATH}\"" > ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} - echo "ROOTPATH=\"${BINPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} - echo "LDPATH=\"${LIBPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} - echo "MANPATH=\"${DATAPATH}/man\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} - echo "INFOPATH=\"${DATAPATH}/info\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} - echo "STDCXX_INCDIR=\"${STDCXX_INCDIR##*/}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL} - # Also set CC and CXX - echo "CC=\"gcc\"" >> ${D}/etc/env.d/05gcc - echo "CXX=\"g++\"" >> ${D}/etc/env.d/05gcc - - # Dummies to get CONTENTS right .. will handle with gcc-config - touch ${D}/lib/cpp - touch ${D}/usr/bin/cc - -# This should be invalidated by the linker scripts we have as the latest -# fix for bug #4411 -# -# # gcc-3.1 have a problem with the ordering of Search Directories. For -# # instance, if you have libreadline.so in /lib, and libreadline.a in -# # /usr/lib, then it will link with libreadline.a instead of .so. As far -# # as I can see from the source, /lib should be searched before /usr/lib, -# # and this also differs from gcc-2.95.3 and possibly 3.0.4, but ill have -# # to check on 3.0.4. Thanks to Daniel Robbins for noticing this oddity, -# # bugzilla bug #4411 -# # -# # Azarah - 3 Jul 2002 -# # -# cd ${D}${LIBPATH} -# dosed -e "s:%{L\*} %(link_libgcc):%{L\*} -L/lib %(link_libgcc):" \ -# ${LIBPATH}/specs - - # Make sure we dont have stuff lying around that - # can nuke multiple versions of gcc - if [ -z "`use build`" ] - then - cd ${D}${LIBPATH} - - # Tell libtool files where real libraries are - for LA in ${D}${LOC}/lib/*.la ${D}${LIBPATH}/../*.la - do - if [ -f ${LA} ] - then - sed -e "s:/usr/lib:${LIBPATH}:" ${LA} > ${LA}.hacked - mv ${LA}.hacked ${LA} - mv ${LA} ${D}${LIBPATH} - fi - done - - # Move all the libraries to version specific libdir. - for x in ${D}${LOC}/lib/*.{so,a}* ${D}${LIBPATH}/../*.{so,a}* - do - [ -f ${x} ] && mv -f ${x} ${D}${LIBPATH} - done - - # Move Java headers to compiler-specific dir - for x in ${D}${LOC}/include/gc*.h ${D}${LOC}/include/j*.h - do - [ -f ${x} ] && mv -f ${x} ${D}${LIBPATH}/include/ - done - for x in gcj gnu java javax org - do - if [ -d ${D}${LOC}/include/${x} ] - then - dodir /${LIBPATH}/include/${x} - mv -f ${D}${LOC}/include/${x}/* ${D}${LIBPATH}/include/${x}/ - rm -rf ${D}${LOC}/include/${x} - fi - done - - # Move libgcj.spec to compiler-specific directories - [ -f ${D}${LOC}/lib/libgcj.spec ] && \ - mv -f ${D}${LOC}/lib/libgcj.spec ${D}${LIBPATH}/libgcj.spec - - # Rename jar because it could clash with Kaffe's jar if this gcc is - # primary compiler (aka don't have the -<version> extension) - cd ${D}${LOC}/${CCHOST}/gcc-bin/${MY_PV} - [ -f jar ] && mv -f jar gcj-jar - - # Move <cxxabi.h> to compiler-specific directories - [ -f ${D}${STDCXX_INCDIR}/cxxabi.h ] && \ - mv -f ${D}${STDCXX_INCDIR}/cxxabi.h ${D}${LIBPATH}/include/ - - # These should be symlinks - cd ${D}${BINPATH} - rm -f ${CCHOST}-{gcc,g++,c++,g77} - [ -f gcc ] && ln -sf gcc ${CCHOST}-gcc - [ -f g++ ] && ln -sf g++ ${CCHOST}-g++ - [ -f g++ ] && ln -sf g++ ${CCHOST}-c++ - [ -f g77 ] && ln -sf g77 ${CCHOST}-g77 - fi - - # This one comes with binutils - if [ -f ${D}${LOC}/lib/libiberty.a ] - then - rm -f ${D}${LOC}/lib/libiberty.a - fi - - cd ${S} - if [ -z "`use build`" ] - then - cd ${S} - docinto /${CCHOST} - dodoc COPYING COPYING.LIB ChangeLog FAQ GNATS MAINTAINERS README - docinto ${CCHOST}/html - dohtml *.html - cd ${S}/boehm-gc - docinto ${CCHOST}/boehm-gc - dodoc ChangeLog doc/{README*,barrett_diagram} - docinto ${CCHOST}/boehm-gc/html - dohtml doc/*.html - cd ${S}/gcc - docinto ${CCHOST}/gcc - dodoc ChangeLog* FSFChangeLog* LANGUAGES NEWS ONEWS README* SERVICE - cd ${S}/libf2c - docinto ${CCHOST}/libf2c - dodoc ChangeLog README TODO *.netlib - cd ${S}/libffi - docinto ${CCHOST}/libffi - dodoc ChangeLog* LICENSE README - cd ${S}/libiberty - docinto ${CCHOST}/libiberty - dodoc ChangeLog COPYING.LIB README - cd ${S}/libobjc - docinto ${CCHOST}/libobjc - dodoc ChangeLog README* THREADS* - cd ${S}/libstdc++-v3 - docinto ${CCHOST}/libstdc++-v3 - dodoc ChangeLog* README - docinto ${CCHOST}/libstdc++-v3/html - dohtml -r -a css,diff,html,txt,xml docs/html/* - cp -f docs/html/17_intro/[A-Z]* \ - ${D}/usr/share/doc/${PF}/${DOCDESTTREE}/17_intro/ - - if [ -n "`use java`" ] - then - cd ${S}/fastjar - docinto ${CCHOST}/fastjar - dodoc AUTHORS CHANGES COPYING ChangeLog NEWS README - cd ${S}/libjava - docinto ${CCHOST}/libjava - dodoc ChangeLog* COPYING HACKING LIBGCJ_LICENSE NEWS README THANKS - fi - else - rm -rf ${D}/usr/share/{man,info} - fi - - # Fix ncurses b0rking - find ${D}/ -name '*curses.h' -exec rm -f {} \; -} - -pkg_postinst() { - - if [ "${ROOT}" = "/" -a "${COMPILER}" = "gcc3" ] - then - gcc-config --use-portage-chost ${CCHOST}-${MY_PV_FULL} - fi - - # Fix ncurses b0rking (if r5 isn't unmerged) - find ${ROOT}/usr/lib/gcc-lib -name '*curses.h' -exec rm -f {} \; -} - |