summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schlemmer <azarah@gentoo.org>2002-05-25 22:58:31 +0000
committerMartin Schlemmer <azarah@gentoo.org>2002-05-25 22:58:31 +0000
commit393f56c35a5ad63c3e28dcb7a5ecae4e4e755f5d (patch)
tree680178cdd53be5720371802e3a4bec6154235577 /sys-devel/gcc
parentfixes (diff)
downloadgentoo-2-393f56c35a5ad63c3e28dcb7a5ecae4e4e755f5d.tar.gz
gentoo-2-393f56c35a5ad63c3e28dcb7a5ecae4e4e755f5d.tar.bz2
gentoo-2-393f56c35a5ad63c3e28dcb7a5ecae4e4e755f5d.zip
cleanup
Diffstat (limited to 'sys-devel/gcc')
-rw-r--r--sys-devel/gcc/files/digest-gcc-2.95.3-r52
-rw-r--r--sys-devel/gcc/files/digest-gcc-3.0.4-r42
-rw-r--r--sys-devel/gcc/files/digest-gcc-3.0.4-r52
-rw-r--r--sys-devel/gcc/files/digest-gcc-3.12
-rw-r--r--sys-devel/gcc/files/digest-gcc-3.1-r12
-rw-r--r--sys-devel/gcc/files/digest-gcc-3.1-r22
-rw-r--r--sys-devel/gcc/files/digest-gcc-3.1-r31
-rw-r--r--sys-devel/gcc/gcc-2.95.3-r5.ebuild146
-rw-r--r--sys-devel/gcc/gcc-3.0.4-r4.ebuild319
-rw-r--r--sys-devel/gcc/gcc-3.0.4-r5.ebuild324
-rw-r--r--sys-devel/gcc/gcc-3.1-r1.ebuild278
-rw-r--r--sys-devel/gcc/gcc-3.1-r2.ebuild283
-rw-r--r--sys-devel/gcc/gcc-3.1-r3.ebuild331
-rw-r--r--sys-devel/gcc/gcc-3.1.ebuild326
14 files changed, 0 insertions, 2020 deletions
diff --git a/sys-devel/gcc/files/digest-gcc-2.95.3-r5 b/sys-devel/gcc/files/digest-gcc-2.95.3-r5
deleted file mode 100644
index af4ece6f1f33..000000000000
--- a/sys-devel/gcc/files/digest-gcc-2.95.3-r5
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 f3ad4f32c2296fad758ed051b5ac8e28 gcc-2.95.3.tar.gz 12911721
-MD5 070493baeb2c277c34575b0df4e2baf1 texinfo-4.0.tar.gz 1133487
diff --git a/sys-devel/gcc/files/digest-gcc-3.0.4-r4 b/sys-devel/gcc/files/digest-gcc-3.0.4-r4
deleted file mode 100644
index 8ffcce370b4b..000000000000
--- a/sys-devel/gcc/files/digest-gcc-3.0.4-r4
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 1e7ecec7e616d85cdec2d627bac3bf9b gcc-3.0.4.tar.bz2 14154365
-MD5 070493baeb2c277c34575b0df4e2baf1 texinfo-4.0.tar.gz 1133487
diff --git a/sys-devel/gcc/files/digest-gcc-3.0.4-r5 b/sys-devel/gcc/files/digest-gcc-3.0.4-r5
deleted file mode 100644
index 8ffcce370b4b..000000000000
--- a/sys-devel/gcc/files/digest-gcc-3.0.4-r5
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 1e7ecec7e616d85cdec2d627bac3bf9b gcc-3.0.4.tar.bz2 14154365
-MD5 070493baeb2c277c34575b0df4e2baf1 texinfo-4.0.tar.gz 1133487
diff --git a/sys-devel/gcc/files/digest-gcc-3.1 b/sys-devel/gcc/files/digest-gcc-3.1
deleted file mode 100644
index 3fde8008204d..000000000000
--- a/sys-devel/gcc/files/digest-gcc-3.1
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 605adcc9c90f1674043c8c3749f43636 gcc-3.1.tar.bz2 20445209
-MD5 070493baeb2c277c34575b0df4e2baf1 texinfo-4.0.tar.gz 1133487
diff --git a/sys-devel/gcc/files/digest-gcc-3.1-r1 b/sys-devel/gcc/files/digest-gcc-3.1-r1
deleted file mode 100644
index 3fde8008204d..000000000000
--- a/sys-devel/gcc/files/digest-gcc-3.1-r1
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 605adcc9c90f1674043c8c3749f43636 gcc-3.1.tar.bz2 20445209
-MD5 070493baeb2c277c34575b0df4e2baf1 texinfo-4.0.tar.gz 1133487
diff --git a/sys-devel/gcc/files/digest-gcc-3.1-r2 b/sys-devel/gcc/files/digest-gcc-3.1-r2
deleted file mode 100644
index 3fde8008204d..000000000000
--- a/sys-devel/gcc/files/digest-gcc-3.1-r2
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 605adcc9c90f1674043c8c3749f43636 gcc-3.1.tar.bz2 20445209
-MD5 070493baeb2c277c34575b0df4e2baf1 texinfo-4.0.tar.gz 1133487
diff --git a/sys-devel/gcc/files/digest-gcc-3.1-r3 b/sys-devel/gcc/files/digest-gcc-3.1-r3
deleted file mode 100644
index fba8a6ab4cea..000000000000
--- a/sys-devel/gcc/files/digest-gcc-3.1-r3
+++ /dev/null
@@ -1 +0,0 @@
-MD5 605adcc9c90f1674043c8c3749f43636 gcc-3.1.tar.bz2 20445209
diff --git a/sys-devel/gcc/gcc-2.95.3-r5.ebuild b/sys-devel/gcc/gcc-2.95.3-r5.ebuild
deleted file mode 100644
index 59625223c6a2..000000000000
--- a/sys-devel/gcc/gcc-2.95.3-r5.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-2.95.3-r5.ebuild,v 1.7 2002/03/18 20:18:32 drobbins Exp $
-
-TV=4.0
-SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/${P}/${P}.tar.gz
- ftp://ftp.gnu.org/pub/gnu/texinfo/texinfo-${TV}.tar.gz"
-
-S=${WORKDIR}/${P}
-
-LOC=/usr
-
-DESCRIPTION="Modern GCC C/C++ compiler and an included, upgraded version of texinfo to boot"
-HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-DEPEND="virtual/glibc"
-RDEPEND="virtual/glibc"
-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
-PROVIDE="sys-apps/texinfo"
-src_unpack() {
- unpack ${P}.tar.gz
- cd ${S}
- # A patch for the atexit problem occured with glibc-2.2.3
- patch -l -p0 < ${FILESDIR}/${P}-atexit.diff || die
- # Now we integrate texinfo-${TV} into gcc. It comes with texinfo-3.12.
- cd ${S}
- tar xzf ${DISTDIR}/texinfo-${TV}.tar.gz || die
- cp -a ${S}/texinfo-4.0/* ${S}/texinfo
- cd ${S}/texinfo
- if [ "`use build`" ]
- then
- patch -p0 < ${FILESDIR}/texinfo-${TV}-no-ncurses-gentoo.diff || die
- touch *
- fi
-}
-
-src_compile() {
- local myconf
- if [ -z "`use build`" ]
- then
- myconf="--enable-shared"
- else
- 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
-
- # gcc does not like optimization
-
- export CFLAGS="${CFLAGS/-O?/}"
- export CXXFLAGS="${CXXFLAGS/-O?/}"
-
- ${S}/configure --prefix=${LOC} --mandir=${LOC}/share/man --infodir=${LOC}/share/info \
- --enable-version-specific-runtime-libs --host=${CHOST} --build=${CHOST} --target=${CHOST} --enable-threads \
- --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 prefix=${D}${LOC} mandir=${D}${LOC}/share/man infodir=${D}${LOC}/share/info || die
- [ -e ${D}/usr/bin/gcc ] || die "gcc not found in ${D}"
- FULLPATH=${D}${LOC}/lib/gcc-lib/${CHOST}/${PV}
- cd ${FULLPATH}
- dodir /lib
- dosym /usr/bin/cpp /lib/cpp
- dosym gcc /usr/bin/cc
- dodir /etc/env.d
- echo "LDPATH=${LOC}/lib/gcc-lib/${CHOST}/${PV}" > ${D}/etc/env.d/05gcc
- cd ${S}
- if [ -z "`use build`" ]
- then
- #do a full texinfo-${TV} install
-
- cd ${S}/texinfo
- make DESTDIR=${D} infodir=${D}/usr/share/info install || die
- exeinto /usr/sbin
- doexe ${FILESDIR}/mkinfodir
-
- cd ${D}/usr/share/info
- mv texinfo texinfo.info
- for i in texinfo-*
- do
- mv ${i} texinfo.info-${i#texinfo-*}
- done
-
- cd ${S}/texinfo
- docinto texinfo
- dodoc AUTHORS ChangeLog COPYING INTRODUCTION NEWS README TODO
- docinto texinfo/info
- dodoc info/README
- docinto texinfo/makeinfo
- dodoc makeinfo/README
-
- # end texinfo 4.0; begin more gcc stuff
-
- cd ${S}
- docinto /
- dodoc COPYING COPYING.LIB README* FAQ MAINTAINERS
- docinto html
- dodoc faq.html
- docinto gcc
- cd ${S}/gcc
- dodoc BUGS ChangeLog* COPYING* FSFChangeLog* LANGUAGES NEWS PROBLEMS README* SERVICE TESTS.FLUNK
- cd ${S}/libchill
- docinto libchill
- dodoc ChangeLog
- cd ${S}/libf2c
- docinto libf2c
- dodoc ChangeLog changes.netlib README TODO
- cd ${S}/libiberty
- docinto libiberty
- dodoc ChangeLog COPYING.LIB README
- cd ${S}/libio
- docinto libio
- dodoc ChangeLog NEWS README
- cd dbz
- docinto libio/dbz
- dodoc README
- cd ../stdio
- docinto libio/stdio
- dodoc ChangeLog*
- cd ${S}/libobjc
- docinto libobjc
- dodoc ChangeLog README* THREADS*
- cd ${S}/libstdc++
- docinto libstdc++
- dodoc ChangeLog NEWS
- else
- rm -rf ${D}/usr/share/{man,info}
- #do a minimal texinfo install (build image)
- cd ${S}/texinfo
- dobin makeinfo/makeinfo util/{install-info,texi2dvi,texindex}
- fi
-}
diff --git a/sys-devel/gcc/gcc-3.0.4-r4.ebuild b/sys-devel/gcc/gcc-3.0.4-r4.ebuild
deleted file mode 100644
index 0bd7b6d39407..000000000000
--- a/sys-devel/gcc/gcc-3.0.4-r4.ebuild
+++ /dev/null
@@ -1,319 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Maintainer: Grant Goodyear <g2boojum@gentoo.org>, Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.0.4-r4.ebuild,v 1.1 2002/04/25 20:26:56 azarah Exp $
-
-# NOTE TO MAINTAINER: Info pages get nuked for multiple version installs.
-# Ill fix it later if i get a chance.
-
-TV=4.0
-GCC_SUFFIX=-3.0
-LOC=/usr
-SLOT="3.0"
-S=${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
- ftp://ftp.gnu.org/pub/gnu/texinfo/texinfo-${TV}.tar.gz"
-DESCRIPTION="Modern GCC C/C++ compiler and an included, upgraded version of texinfo to boot"
-HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-
-DEPEND="virtual/glibc"
-RDEPEND="virtual/glibc >=sys-libs/zlib-1.1.4"
-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`"
- if [ -z "`use build`" ] && \
- [ -z "`use bootstrap`" ] && \
- [ "`gcc --version | cut -f1 -d.`" -ne 3 ]
- [ "${profile/gcc3}" = "${profile}" ] && \
- [ "${GCCBUILD}" != "default" ]
- then
- return 0
- else
- ruturn 1
- fi
-}
-
-src_unpack() {
- unpack ${P}.tar.bz2
-
- #now we integrate texinfo-${TV} into gcc. It comes with texinfo-3.12.
- cd ${S}
- tar xzf ${DISTDIR}/texinfo-${TV}.tar.gz || die
- #hack, because texinfo different in gcc 3.0+
- rm -rf ${S}/texinfo
- mv ${S}/texinfo-${TV} ${S}/texinfo
- cd ${S}/texinfo
- if [ "`use build`" ]
- then
- patch -p0 < ${FILESDIR}/texinfo-${TV}-no-ncurses-gentoo.diff || die
- touch *
- fi
-
- cd ${S}
- #fixes the build system to properly do the transformation
- #of the binaries (thanks to Mandrake)
- if build_multiple
- then
- patch -p1 <${FILESDIR}/gcc3-program-transform.patch || die
- fi
-
- #fixup libtool to correctly generate .la files with portage
- patch <${FILESDIR}/libtool-1.4.1-portage.patch-v3 || die
-}
-
-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
- cd ${WORKDIR}
- mkdir build
- cd build
-
- addwrite "/dev/zero"
- ${S}/configure --prefix=${LOC} \
- --mandir=${LOC}/share/man \
- --infodir=${LOC}/share/info \
- --datadir=${LOC}/share/gcc-${PV} \
- --enable-shared \
- --host=${CHOST} \
- --build=${CHOST} \
- --target=${CHOST} \
- --enable-threads=posix \
- --disable-checking \
- --with-local-prefix=${LOC}/local \
- ${myconf} || die
-
- if [ -z "`use static`" ]
- then
- emake bootstrap-lean || die
- else
- emake LDFLAGS=-static bootstrap || die
- fi
-}
-
-#thanks to mandrake for this function
-dispatch_libs() {
- libname=$1 libversion=$2
- rm -f $libname.so $libname.a
-
- if build_multiple
- then
- # If we have multiple versions of GCC, leave libraries in $FULLPATH
- chmod 0755 ../../../$libname.so.$libversion
- ln -s ../../../$libname.so.$libversion $libname.so
- rm -f ../../../$libname.so
- cp -f ../../../$libname.a $libname.a
- rm -f ../../../$libname.a
- else
- ln -sf ../../../$libname.so $libname.so
- ln -sf ../../../$libname.a $libname.a
- fi
-}
-
-src_install() {
- #fix Makefile to properly install libgcj.jar and not
- #generate a sandbox error.
- cd ${WORKDIR}/build/${CHOST}/libjava
- cp Makefile Makefile.orig
- sed -e "s:datadir = /usr/share:datadir = ${D}/usr/share:" \
- Makefile.orig >Makefile
-
- #make install from the build directory
- cd ${WORKDIR}/build
- make prefix=${D}${LOC} \
- mandir=${D}${LOC}/share/man \
- infodir=${D}${LOC}/share/info \
- datadir=${D}${LOC}/share/gcc-${PV} \
- 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}
- dosym /usr/bin/cpp /lib/cpp
- dosym gcc /usr/bin/cc
-
- #make sure we dont have stuff lying around that
- #can nuke multiple versions of gcc
- if [ -z "`use build`" ]
- then
- cd ${FULLPATH_D}
- #move symlinks to compiler-specific dir
- dispatch_libs libstdc++ ${PV}
- mv ../../../libsupc++.a libsupc++.a
- dispatch_libs libgcj 2.0.0
- dispatch_libs libgcjgc 1.0.1
- mv libobjc* ../../../
- dispatch_libs libobjc 1.0.0
- dispatch_libs libobjc_gc 1.0.0
- #do not always get created.
- [ ! -e libobjc_gc.so ] && rm -f libobjc_gc.so
-
- #move libtool .la files to $FULLPATH till I figure
- #what to do with them.
- mv ${D}${LOC}/lib/*.la ${FULLPATH_D}
-
- #move Java headers to compiler-specific dir
- mv ${D}${LOC}/include/j*.h ${FULLPATH_D}/include/
- mv ${D}${LOC}/include/{gcj,gnu,java} ${FULLPATH_D}/include/
-
- #move libgcj.spec to compiler-specific directories
- mv ${D}${LOC}/lib/libgcj.spec ${FULLPATH_D}/libgcj.spec
-
- #there is already one with binutils
- mv ${D}${LOC}/lib/libiberty.a ${FULLPATH_D}/libiberty.a
-
- #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}${LOC}/include/g++-v3/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
-
- #move libgcc_s.so.1 to /lib
- cd ${D}/lib
- chmod +x ${D}${LOC}/lib/libgcc_s.so.1
- mv -f ${D}${LOC}/lib/libgcc_s.so.1 libgcc_s-${PV}.so.1
- ln -sf libgcc_s-${PV}.so.1 libgcc_s.so.1
- ln -sf libgcc_s.so.1 libgcc_s.so
- rm -f ${D}${LOC}/lib/libgcc_s.so*
-
- cd ${S}
- if [ -z "`use build`" ]
- then
- #do a full texinfo-${TV} install
-
- if ! build_multiple
- then
- cd ${WORKDIR}/build/texinfo
- make DESTDIR=${D} \
- infodir=${D}/usr/share/info \
- install || die
-
- exeinto /usr/sbin
- doexe ${FILESDIR}/mkinfodir
-
- cd ${D}/usr/share/info
- mv texinfo texinfo.info
- for i in texinfo-*
- do
- mv ${i} texinfo.info-${i#texinfo-*}
- done
-
- cd ${S}/texinfo
- docinto texinfo
- dodoc AUTHORS ChangeLog COPYING INTRODUCTION NEWS README TODO
- docinto texinfo/info
- dodoc info/README
- docinto texinfo/makeinfo
- dodoc makeinfo/README
- fi
-
- # end texinfo 4.0; begin more gcc stuff
-
- cd ${S}
- docinto /
- dodoc BUGS COPYING COPYING.LIB ChangeLog GNATS README* FAQ MAINTAINERS
- docinto html
- dodoc *.html
- cd ${S}/boehm-gc
- docinto boehm-gc
- dodoc ChangeLog README*
- cd ${S}/gcc
- docinto gcc
- dodoc ChangeLog* COPYING* FSFChangeLog* LANGUAGES NEWS ONEWS \
- README* SERVICE
- cd ${S}/fastjar
- docinto fastjar
- dodoc AUTHORS CHANGES COPYING ChangeLog NEWS README
- cd ${S}/libf2c
- docinto libf2c
- dodoc ChangeLog README TODO changes.netlib disclaimer.netlib \
- permission.netlib readme.netlib
- cd ${S}/libffi
- docinto libffi
- dodoc ChangeLog* LICENSE README
- cd ${S}/libjava
- docinto libjava
- dodoc ChangeLog* COPYING HACKING LIBGCJ_LICENSE NEWS README THANKS
- cd ${S}/libiberty
- docinto libiberty
- dodoc ChangeLog COPYING.LIB README
- cd ${S}/libobjc
- docinto libobjc
- dodoc ChangeLog README* THREADS*
- cd ${S}/libstdc++-v3
- docinto libstdc++-v3
- dodoc ChangeLog* README
- else
- rm -rf ${D}/usr/share/{man,info}
- #do a minimal texinfo install (build image)
- cd ${WORKDIR}/build/texinfo
- dobin makeinfo/makeinfo util/{install-info,texi2dvi,texindex}
- fi
-}
-
-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
-}
-
diff --git a/sys-devel/gcc/gcc-3.0.4-r5.ebuild b/sys-devel/gcc/gcc-3.0.4-r5.ebuild
deleted file mode 100644
index 52b8acf3a8b2..000000000000
--- a/sys-devel/gcc/gcc-3.0.4-r5.ebuild
+++ /dev/null
@@ -1,324 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Maintainer: Grant Goodyear <g2boojum@gentoo.org>, Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.0.4-r5.ebuild,v 1.1 2002/05/02 21:43:51 azarah Exp $
-
-# NOTE TO MAINTAINER: Info pages get nuked for multiple version installs.
-# Ill fix it later if i get a chance.
-
-TV=4.0
-GCC_SUFFIX=-3.0
-LOC=/usr
-SLOT="3.0"
-S=${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
- ftp://ftp.gnu.org/pub/gnu/texinfo/texinfo-${TV}.tar.gz"
-DESCRIPTION="Modern GCC C/C++ compiler and an included, upgraded version of texinfo to boot"
-HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-
-DEPEND="virtual/glibc"
-RDEPEND="virtual/glibc >=sys-libs/zlib-1.1.4"
-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`"
- if [ -z "`use build`" ] && \
- [ -z "`use bootstrap`" ] && \
- [ "`gcc --version | cut -f1 -d.`" -ne 3 ]
- [ "${profile/gcc3}" = "${profile}" ] && \
- [ "${GCCBUILD}" != "default" ]
- then
- return 0
- else
- ruturn 1
- fi
-}
-
-src_unpack() {
- unpack ${P}.tar.bz2
-
- #now we integrate texinfo-${TV} into gcc. It comes with texinfo-3.12.
- cd ${S}
- tar xzf ${DISTDIR}/texinfo-${TV}.tar.gz || die
- #hack, because texinfo different in gcc 3.0+
- rm -rf ${S}/texinfo
- mv ${S}/texinfo-${TV} ${S}/texinfo
- cd ${S}/texinfo
- if [ "`use build`" ]
- then
- patch -p0 < ${FILESDIR}/texinfo-${TV}-no-ncurses-gentoo.diff || die
- touch *
- fi
-
- cd ${S}
- #fixes the build system to properly do the transformation
- #of the binaries (thanks to Mandrake)
- if build_multiple
- then
- patch -p1 <${FILESDIR}/gcc3-program-transform.patch || die
- fi
-
- #fixup libtool to correctly generate .la files with portage
- patch <${FILESDIR}/libtool-1.4.1-portage.patch-v3 || die
-}
-
-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
- cd ${WORKDIR}
- mkdir build
- cd build
-
- addwrite "/dev/zero"
- ${S}/configure --prefix=${LOC} \
- --mandir=${LOC}/share/man \
- --infodir=${LOC}/share/info \
- --datadir=${LOC}/share/gcc-${PV} \
- --enable-shared \
- --host=${CHOST} \
- --build=${CHOST} \
- --target=${CHOST} \
- --enable-threads=posix \
- --disable-checking \
- --with-local-prefix=${LOC}/local \
- ${myconf} || die
-
- if [ -z "`use static`" ]
- then
- emake bootstrap-lean || die
- else
- emake LDFLAGS=-static bootstrap || die
- fi
-}
-
-#thanks to mandrake for this function
-dispatch_libs() {
- libname=$1 libversion=$2
- rm -f $libname.so $libname.a
-
- if build_multiple
- then
- # If we have multiple versions of GCC, leave libraries in $FULLPATH
- chmod 0755 ../../../$libname.so.$libversion
- ln -s ../../../$libname.so.$libversion $libname.so
- rm -f ../../../$libname.so
- cp -f ../../../$libname.a $libname.a
- rm -f ../../../$libname.a
- else
- ln -sf ../../../$libname.so $libname.so
- ln -sf ../../../$libname.a $libname.a
- fi
-}
-
-src_install() {
- #fix Makefile to properly install libgcj.jar and not
- #generate a sandbox error.
- cd ${WORKDIR}/build/${CHOST}/libjava
- cp Makefile Makefile.orig
- sed -e "s:datadir = /usr/share:datadir = ${D}/usr/share:" \
- Makefile.orig >Makefile
-
- #make install from the build directory
- cd ${WORKDIR}/build
- make prefix=${D}${LOC} \
- mandir=${D}${LOC}/share/man \
- infodir=${D}${LOC}/share/info \
- datadir=${D}${LOC}/share/gcc-${PV} \
- 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}
- dosym /usr/bin/cpp /lib/cpp
- dosym gcc /usr/bin/cc
-
- #make sure we dont have stuff lying around that
- #can nuke multiple versions of gcc
- if [ -z "`use build`" ]
- then
- cd ${FULLPATH_D}
- #move symlinks to compiler-specific dir
- dispatch_libs libstdc++ ${PV}
- mv ../../../libsupc++.a libsupc++.a
- dispatch_libs libgcj 2.0.0
- dispatch_libs libgcjgc 1.0.1
- mv libobjc* ../../../
- dispatch_libs libobjc 1.0.0
- dispatch_libs libobjc_gc 1.0.0
- #do not always get created.
- [ ! -e libobjc_gc.so ] && rm -f libobjc_gc.so
-
- if build_multiple
- then
- #move libtool .la files to $FULLPATH till I figure
- #what to do with them. This needs to be done with
- #parallel installs, else gcc-2.95 tries to link with
- #the wrong libs.
- mv ${D}${LOC}/lib/*.la ${FULLPATH_D}
- fi
-
- #move Java headers to compiler-specific dir
- mv ${D}${LOC}/include/j*.h ${FULLPATH_D}/include/
- mv ${D}${LOC}/include/{gcj,gnu,java} ${FULLPATH_D}/include/
-
- #move libgcj.spec to compiler-specific directories
- mv ${D}${LOC}/lib/libgcj.spec ${FULLPATH_D}/libgcj.spec
-
- #there is already one with binutils
- mv ${D}${LOC}/lib/libiberty.a ${FULLPATH_D}/libiberty.a
-
- #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}${LOC}/include/g++-v3/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
-
- #move libgcc_s.so.1 to /lib
- cd ${D}/lib
- chmod +x ${D}${LOC}/lib/libgcc_s.so.1
- mv -f ${D}${LOC}/lib/libgcc_s.so.1 libgcc_s-${PV}.so.1
- ln -sf libgcc_s-${PV}.so.1 libgcc_s.so.1
- ln -sf libgcc_s.so.1 libgcc_s.so
- rm -f ${D}${LOC}/lib/libgcc_s.so*
-
- cd ${S}
- if [ -z "`use build`" ]
- then
- #do a full texinfo-${TV} install
-
- if ! build_multiple
- then
- cd ${WORKDIR}/build/texinfo
- make DESTDIR=${D} \
- infodir=${D}/usr/share/info \
- install || die
-
- exeinto /usr/sbin
- doexe ${FILESDIR}/mkinfodir
-
- cd ${D}/usr/share/info
- mv texinfo texinfo.info
- for i in texinfo-*
- do
- mv ${i} texinfo.info-${i#texinfo-*}
- done
-
- cd ${S}/texinfo
- docinto texinfo
- dodoc AUTHORS ChangeLog COPYING INTRODUCTION NEWS README TODO
- docinto texinfo/info
- dodoc info/README
- docinto texinfo/makeinfo
- dodoc makeinfo/README
- fi
-
- # end texinfo 4.0; begin more gcc stuff
-
- cd ${S}
- docinto /
- dodoc BUGS COPYING COPYING.LIB ChangeLog GNATS README* FAQ MAINTAINERS
- docinto html
- dodoc *.html
- cd ${S}/boehm-gc
- docinto boehm-gc
- dodoc ChangeLog README*
- cd ${S}/gcc
- docinto gcc
- dodoc ChangeLog* COPYING* FSFChangeLog* LANGUAGES NEWS ONEWS \
- README* SERVICE
- cd ${S}/fastjar
- docinto fastjar
- dodoc AUTHORS CHANGES COPYING ChangeLog NEWS README
- cd ${S}/libf2c
- docinto libf2c
- dodoc ChangeLog README TODO changes.netlib disclaimer.netlib \
- permission.netlib readme.netlib
- cd ${S}/libffi
- docinto libffi
- dodoc ChangeLog* LICENSE README
- cd ${S}/libjava
- docinto libjava
- dodoc ChangeLog* COPYING HACKING LIBGCJ_LICENSE NEWS README THANKS
- cd ${S}/libiberty
- docinto libiberty
- dodoc ChangeLog COPYING.LIB README
- cd ${S}/libobjc
- docinto libobjc
- dodoc ChangeLog README* THREADS*
- cd ${S}/libstdc++-v3
- docinto libstdc++-v3
- dodoc ChangeLog* README
- else
- rm -rf ${D}/usr/share/{man,info}
- #do a minimal texinfo install (build image)
- cd ${WORKDIR}/build/texinfo
- dobin makeinfo/makeinfo util/{install-info,texi2dvi,texindex}
- fi
-}
-
-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
-}
-
diff --git a/sys-devel/gcc/gcc-3.1-r1.ebuild b/sys-devel/gcc/gcc-3.1-r1.ebuild
deleted file mode 100644
index a4d66d8160ce..000000000000
--- a/sys-devel/gcc/gcc-3.1-r1.ebuild
+++ /dev/null
@@ -1,278 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Maintainer: Grant Goodyear <g2boojum@gentoo.org>, Daniel Robbins <drobbins@gentoo.org>
-# /space/gentoo/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.1.ebuild,v 1.1 2002/05/17 15:42:30 prez Exp
-
-# NOTE TO MAINTAINER: Info pages get nuked for multiple version installs.
-# Ill fix it later if i get a chance.
-
-GCC_SUFFIX=-3.1
-LOC=/usr
-SLOT="3.1"
-S=${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 and an included, upgraded version of texinfo to boot"
-HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-
-DEPEND="virtual/glibc"
-RDEPEND="virtual/glibc
- >=sys-libs/zlib-1.1.4"
-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`"
- if [ -z "`use build`" ] && \
- [ -z "`use bootstrap`" ] && \
- [ "`gcc --version | cut -f1 -d.`" -ne 3 ] && \
- [ "${profile/gcc3}" = "${profile}" ] && \
- [ "${GCCBUILD}" != "default" ]
- then
- return 0
- else
- return 1
- fi
-}
-
-src_unpack() {
- unpack ${P}.tar.bz2
-
- #now we integrate texinfo-${TV} into gcc. It comes with texinfo-3.12.
- cd ${S}
- #fixes the build system to properly do the transformation
- #of the binaries (thanks to Mandrake)
- #fixup libtool to correctly generate .la files with portage
- patch <${FILESDIR}/libtool-1.4.1-portage.patch-v3 || die
-}
-
-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
- cd ${WORKDIR}
- mkdir build
- cd build
-
- addwrite "/dev/zero"
- ${S}/configure --prefix=${LOC} \
- --mandir=${LOC}/share/man \
- --infodir=${LOC}/share/info \
- --datadir=${LOC}/share/gcc-${PV} \
- --enable-shared \
- --host=${CHOST} \
- --build=${CHOST} \
- --target=${CHOST} \
- --enable-threads=posix \
- --disable-checking \
- --with-local-prefix=${LOC}/local \
- ${myconf} || die
-
- if [ -z "`use static`" ]
- then
- emake bootstrap-lean || die
- else
- emake LDFLAGS=-static bootstrap || die
- fi
-}
-
-#thanks to mandrake for this function
-dispatch_libs() {
- libname=$1 libversion=$2
- rm -f $libname.so $libname.a
-
- if build_multiple
- then
- # If we have multiple versions of GCC, leave libraries in $FULLPATH
- chmod 0755 ../../../$libname.so.$libversion
- ln -s ../../../$libname.so.$libversion $libname.so
- rm -f ../../../$libname.so
- cp -f ../../../$libname.a $libname.a
- rm -f ../../../$libname.a
- else
- ln -sf ../../../$libname.so $libname.so
- ln -sf ../../../$libname.a $libname.a
- fi
-}
-
-src_install() {
- #fix Makefile to properly install libgcj.jar and not
- #generate a sandbox error.
- cd ${WORKDIR}/build/${CHOST}
- for x in `find . -name "Makefile"`; do
- cp $x $x.orig
- sed -e "s:datadir = /usr/share:datadir = ${D}/usr/share:" \
- $x.orig >$x
- done
-
- #make install from the build directory
- cd ${WORKDIR}/build
- make prefix=${D}${LOC} \
- mandir=${D}${LOC}/share/man \
- infodir=${D}${LOC}/share/info \
- datadir=${D}${LOC}/share/gcc-${PV} \
- 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}
- dosym /usr/bin/cpp /lib/cpp
- dosym gcc /usr/bin/cc
-
- #make sure we dont have stuff lying around that
- #can nuke multiple versions of gcc
- if [ -z "`use build`" ]
- then
- cd ${FULLPATH_D}
- #move symlinks to compiler-specific dir
- dispatch_libs libstdc++ ${PV}
- mv ../../../libsupc++.a libsupc++.a
- dispatch_libs libgcj 2.0.0
- dispatch_libs libgcjgc 1.0.1
- mv libobjc* ../../../
- dispatch_libs libobjc 1.0.0
- dispatch_libs libobjc_gc 1.0.0
- #do not always get created.
- [ ! -e libobjc_gc.so ] && rm -f libobjc_gc.so
-
- if build_multiple
- then
- #move libtool .la files to $FULLPATH till I figure
- #what to do with them. This needs to be done with
- #parallel installs, else gcc-2.95 tries to link with
- #the wrong libs.
- mv ${D}${LOC}/lib/*.la ${FULLPATH_D}
- fi
-
- #move Java headers to compiler-specific dir
- mv ${D}${LOC}/include/j*.h ${FULLPATH_D}/include/
- mv ${D}${LOC}/include/{gcj,gnu,java} ${FULLPATH_D}/include/
-
- #move libgcj.spec to compiler-specific directories
- mv ${D}${LOC}/lib/libgcj.spec ${FULLPATH_D}/libgcj.spec
-
- #there is already one with binutils
- mv ${D}${LOC}/lib/libiberty.a ${FULLPATH_D}/libiberty.a
-
- #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}${LOC}/include/g++-v3/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
-
- #move libgcc_s.so.1 to /lib
- cd ${D}/lib
- chmod +x ${D}${LOC}/lib/libgcc_s.so.1
- mv -f ${D}${LOC}/lib/libgcc_s.so.1 libgcc_s-${PV}.so.1
- ln -sf libgcc_s-${PV}.so.1 libgcc_s.so.1
- ln -sf libgcc_s.so.1 libgcc_s.so
- rm -f ${D}${LOC}/lib/libgcc_s.so*
-
- cd ${S}
- if [ -z "`use build`" ]
- then
- cd ${S}
- docinto /
- dodoc BUGS COPYING COPYING.LIB ChangeLog GNATS README* FAQ MAINTAINERS
- docinto html
- dodoc *.html
- cd ${S}/boehm-gc
- docinto boehm-gc
- dodoc ChangeLog README*
- cd ${S}/gcc
- docinto gcc
- dodoc ChangeLog* COPYING* FSFChangeLog* LANGUAGES NEWS ONEWS \
- README* SERVICE
- cd ${S}/fastjar
- docinto fastjar
- dodoc AUTHORS CHANGES COPYING ChangeLog NEWS README
- cd ${S}/libf2c
- docinto libf2c
- dodoc ChangeLog README TODO changes.netlib disclaimer.netlib \
- permission.netlib readme.netlib
- cd ${S}/libffi
- docinto libffi
- dodoc ChangeLog* LICENSE README
- cd ${S}/libjava
- docinto libjava
- dodoc ChangeLog* COPYING HACKING LIBGCJ_LICENSE NEWS README THANKS
- cd ${S}/libiberty
- docinto libiberty
- dodoc ChangeLog COPYING.LIB README
- cd ${S}/libobjc
- docinto libobjc
- dodoc ChangeLog README* THREADS*
- cd ${S}/libstdc++-v3
- docinto libstdc++-v3
- dodoc ChangeLog* README
- else
- rm -rf ${D}/usr/share/{man,info}
- fi
-}
-
-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
-}
-
diff --git a/sys-devel/gcc/gcc-3.1-r2.ebuild b/sys-devel/gcc/gcc-3.1-r2.ebuild
deleted file mode 100644
index f1b8bd7e5969..000000000000
--- a/sys-devel/gcc/gcc-3.1-r2.ebuild
+++ /dev/null
@@ -1,283 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Maintainer: Grant Goodyear <g2boojum@gentoo.org>, Daniel Robbins <drobbins@gentoo.org>
-# /space/gentoo/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.1.ebuild,v 1.1 2002/05/17 15:42:30 prez Exp
-
-# 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.
-
-GCC_SUFFIX=-3.1
-LOC=/usr
-SLOT="3.1"
-S=${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 and an included, upgraded version of texinfo to boot"
-HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-
-DEPEND="virtual/glibc"
-RDEPEND="virtual/glibc
- >=sys-libs/zlib-1.1.4"
-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`"
- if [ -z "`use build`" ] && \
- [ -z "`use bootstrap`" ] && \
- [ "`gcc --version | cut -f1 -d.`" -ne 3 ] && \
- [ "${profile/gcc3}" = "${profile}" ] && \
- [ "${GCCBUILD}" != "default" ]
- then
- return 0
- else
- return 1
- fi
-}
-
-src_unpack() {
- unpack ${P}.tar.bz2
-
- #now we integrate texinfo-${TV} into gcc. It comes with texinfo-3.12.
- cd ${S}
- #fixes the build system to properly do the transformation
- #of the binaries (thanks to Mandrake)
- #fixup libtool to correctly generate .la files with portage
- patch <${FILESDIR}/libtool-1.4.1-portage.patch-v3 || die
-}
-
-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
- cd ${WORKDIR}
- mkdir build
- cd build
-
- addwrite "/dev/zero"
- ${S}/configure --prefix=${LOC} \
- --mandir=${LOC}/share/man \
- --infodir=${LOC}/share/info \
- --datadir=${LOC}/share/gcc-${PV} \
- --enable-shared \
- --host=${CHOST} \
- --build=${CHOST} \
- --target=${CHOST} \
- --enable-threads=posix \
- --disable-checking \
- --with-local-prefix=${LOC}/local \
- ${myconf} || die
-
- if [ -z "`use static`" ]
- then
- emake bootstrap-lean || die
- else
- emake LDFLAGS=-static bootstrap || die
- fi
-}
-
-#thanks to mandrake for this function
-dispatch_libs() {
- libname=$1 libversion=$2
- rm -f $libname.so $libname.a
-
- if build_multiple
- then
- # If we have multiple versions of GCC, leave libraries in $FULLPATH
- chmod 0755 ../../../$libname.so.$libversion
- ln -s ../../../$libname.so.$libversion $libname.so
- rm -f ../../../$libname.so
- cp -f ../../../$libname.a $libname.a
- rm -f ../../../$libname.a
- else
- ln -sf ../../../$libname.so $libname.so
- ln -sf ../../../$libname.a $libname.a
- fi
-}
-
-src_install() {
- #fix Makefile to properly install libgcj.jar and not
- #generate a sandbox error.
- cd ${WORKDIR}/build/${CHOST}
- for x in `find . -name "Makefile"`; do
- cp $x $x.orig
- sed -e "s:datadir = /usr/share:datadir = ${D}/usr/share:" \
- $x.orig >$x
- done
-
- #make install from the build directory
- cd ${WORKDIR}/build
- make prefix=${D}${LOC} \
- mandir=${D}${LOC}/share/man \
- infodir=${D}${LOC}/share/info \
- datadir=${D}${LOC}/share/gcc-${PV} \
- 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}
- dosym /usr/bin/cpp /lib/cpp
- dosym gcc /usr/bin/cc
-
- #make sure we dont have stuff lying around that
- #can nuke multiple versions of gcc
- if [ -z "`use build`" ]
- then
- cd ${FULLPATH_D}
- #move symlinks to compiler-specific dir
- dispatch_libs libstdc++ 4.0.0
- mv ../../../libsupc++.a libsupc++.a
- dispatch_libs libgcj 3.0.0
- dispatch_libs libgcjgc 1.1.0
- dispatch_libs libg2c 0.0.0
- mv libobjc* ../../../
- dispatch_libs libobjc 1.0.0
- dispatch_libs libobjc_gc 1.0.0
- #do not always get created.
- [ ! -e libobjc_gc.so ] && rm -f libobjc_gc.so
-
- if build_multiple
- then
- #move libtool .la files to $FULLPATH till I figure
- #what to do with them. This needs to be done with
- #parallel installs, else gcc-2.95 tries to link with
- #the wrong libs.
- mv ${D}${LOC}/lib/*.la ${FULLPATH_D}
- fi
-
- #move Java headers to compiler-specific dir
- mv ${D}${LOC}/include/j*.h ${FULLPATH_D}/include/
- mv ${D}${LOC}/include/{gcj,gnu,java} ${FULLPATH_D}/include/
-
- #move libgcj.spec to compiler-specific directories
- mv ${D}${LOC}/lib/libgcj.spec ${FULLPATH_D}/libgcj.spec
-
- #there is already one with binutils
- mv ${D}${LOC}/lib/libiberty.a ${FULLPATH_D}/libiberty.a
-
- #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}${LOC}/include/g++-v3/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
-
- #move libgcc_s.so.1 to /lib
- cd ${D}/lib
- chmod +x ${D}${LOC}/lib/libgcc_s.so.1
- mv -f ${D}${LOC}/lib/libgcc_s.so.1 libgcc_s-${PV}.so.1
- ln -sf libgcc_s-${PV}.so.1 libgcc_s.so.1
- ln -sf libgcc_s.so.1 libgcc_s.so
- rm -f ${D}${LOC}/lib/libgcc_s.so*
-
- cd ${S}
- if [ -z "`use build`" ]
- then
- cd ${S}
- docinto /
- dodoc BUGS COPYING COPYING.LIB ChangeLog GNATS README* FAQ MAINTAINERS
- docinto html
- dodoc *.html
- cd ${S}/boehm-gc
- docinto boehm-gc
- dodoc ChangeLog README*
- cd ${S}/gcc
- docinto gcc
- dodoc ChangeLog* COPYING* FSFChangeLog* LANGUAGES NEWS ONEWS \
- README* SERVICE
- cd ${S}/fastjar
- docinto fastjar
- dodoc AUTHORS CHANGES COPYING ChangeLog NEWS README
- cd ${S}/libf2c
- docinto libf2c
- dodoc ChangeLog README TODO changes.netlib disclaimer.netlib \
- permission.netlib readme.netlib
- cd ${S}/libffi
- docinto libffi
- dodoc ChangeLog* LICENSE README
- cd ${S}/libjava
- docinto libjava
- dodoc ChangeLog* COPYING HACKING LIBGCJ_LICENSE NEWS README THANKS
- cd ${S}/libiberty
- docinto libiberty
- dodoc ChangeLog COPYING.LIB README
- cd ${S}/libobjc
- docinto libobjc
- dodoc ChangeLog README* THREADS*
- cd ${S}/libstdc++-v3
- docinto libstdc++-v3
- dodoc ChangeLog* README
- else
- rm -rf ${D}/usr/share/{man,info}
- fi
-}
-
-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
-}
-
diff --git a/sys-devel/gcc/gcc-3.1-r3.ebuild b/sys-devel/gcc/gcc-3.1-r3.ebuild
deleted file mode 100644
index 77dcfc6a1c12..000000000000
--- a/sys-devel/gcc/gcc-3.1-r3.ebuild
+++ /dev/null
@@ -1,331 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Maintainer: Grant Goodyear <g2boojum@gentoo.org>, Daniel Robbins <drobbins@gentoo.org>
-# /space/gentoo/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.1.ebuild,v 1.1 2002/05/17 15:42:30 prez Exp
-
-# 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.
-
-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"
-S=${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 and an included, upgraded version of texinfo to boot"
-HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-
-DEPEND="virtual/glibc"
-RDEPEND="virtual/glibc
- >=sys-libs/zlib-1.1.4"
-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`"
- if [ -z "`use build`" ] && \
- [ -z "`use bootstrap`" ] && \
- [ "`gcc --version | cut -f1 -d.`" -ne 3 ] && \
- [ "${profile/gcc3}" = "${profile}" ] && \
- [ "${GCCBUILD}" != "default" ]
- then
- return 0
- else
- return 1
- fi
-}
-
-src_unpack() {
- unpack ${P}.tar.bz2
-
- #now we integrate texinfo-${TV} into gcc. It comes with texinfo-3.12.
- cd ${S}
- #fixes the build system to properly do the transformation
- #of the binaries (thanks to Mandrake)
- #fixup libtool to correctly generate .la files with portage
- patch <${FILESDIR}/libtool-1.4.1-portage.patch-v3 || die
-
- # 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"
-}
-
-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
- cd ${WORKDIR}
- mkdir build
- cd build
-
- addwrite "/dev/zero"
- ${S}/configure --prefix=${LOC} \
- --mandir=${LOC}/share/man \
- --infodir=${LOC}/share/info \
- --datadir=${LOC}/share/gcc-${PV} \
- --enable-shared \
- --host=${CHOST} \
- --build=${CHOST} \
- --target=${CHOST} \
- --enable-threads=posix \
- --enable-long-long \
- --enable-cstdio=stdio \
- --enable-clocale=generic \
- --disable-checking \
- --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
-}
-
-#thanks to mandrake for this function
-dispatch_libs() {
- libname=$1 libversion=$2
- rm -f $libname.so $libname.a
-
- if build_multiple
- then
- # If we have multiple versions of GCC, leave libraries in $FULLPATH
- chmod 0755 ../../../$libname.so.$libversion
- ln -s ../../../$libname.so.$libversion $libname.so
- rm -f ../../../$libname.so
- cp -f ../../../$libname.a $libname.a
- rm -f ../../../$libname.a
- else
- ln -sf ../../../$libname.so $libname.so
- ln -sf ../../../$libname.a $libname.a
- fi
-}
-
-src_install() {
- #fix Makefile to properly install libgcj.jar and not
- #generate a sandbox error.
- cd ${WORKDIR}/build/${CHOST}
- for x in `find . -name "Makefile"`; do
- cp $x $x.orig
- sed -e "s:datadir = /usr/share:datadir = ${D}/usr/share:" \
- -e "s:gxx_include_dir = /usr:gxx_include_dir = ${D}/usr:" \
- -e "s:glibcppinstalldir = /usr:glibcppinstalldir = ${D}/usr:" \
- $x.orig >$x
- done
-
- #make install from the build directory
- cd ${WORKDIR}/build
- make prefix=${D}${LOC} \
- mandir=${D}${LOC}/share/man \
- infodir=${D}${LOC}/share/info \
- datadir=${D}${LOC}/share/gcc-${PV} \
- 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}
- dosym /usr/bin/cpp /lib/cpp
- dosym gcc /usr/bin/cc
-
- #make sure we dont have stuff lying around that
- #can nuke multiple versions of gcc
- if [ -z "`use build`" ]
- then
- cd ${FULLPATH_D}
- #move symlinks to compiler-specific dir
- dispatch_libs libstdc++ 4.0.0
- mv ../../../libsupc++.a libsupc++.a
-
- dispatch_libs libgcj 3.0.0
- dispatch_libs libgcjgc 1.1.0
- #do not always get created.
- [ ! -e libgcjgc.so ] && rm -f libgcjgc.so
-
- dispatch_libs libg2c 0.0.0
- mv ../../../libfrtbegin.a libfrtbegin.a
-
- mv libobjc* ../../../
- dispatch_libs libobjc 1.0.0
- dispatch_libs libobjc_gc 1.0.0
- #do not always get created.
- [ ! -e libobjc_gc.so ] && rm -f libobjc_gc.so
-
- if build_multiple
- then
- #move libtool .la files to $FULLPATH till I figure
- #what to do with them. This needs to be done with
- #parallel installs, else gcc-2.95 tries to link with
- #the wrong libs.
- mv ${D}${LOC}/lib/*.la ${FULLPATH_D}
- fi
-
- #move Java headers to compiler-specific dir
- mv ${D}${LOC}/include/j*.h ${FULLPATH_D}/include/
- mv ${D}${LOC}/include/{gcj,gnu,java} ${FULLPATH_D}/include/
-
- #move libgcj.spec to compiler-specific directories
- mv ${D}${LOC}/lib/libgcj.spec ${FULLPATH_D}/libgcj.spec
-
- #there is already one with binutils
- mv ${D}${LOC}/lib/libiberty.a ${FULLPATH_D}/libiberty.a
-
- #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
-
- #move libgcc_s.so.1 to /lib
- cd ${D}/lib
- chmod +x ${D}${LOC}/lib/libgcc_s.so.1
- mv -f ${D}${LOC}/lib/libgcc_s.so.1 libgcc_s-${PV}.so.1
- ln -sf libgcc_s-${PV}.so.1 libgcc_s.so.1
- ln -sf libgcc_s.so.1 libgcc_s.so
- rm -f ${D}${LOC}/lib/libgcc_s.so*
-
- cd ${S}
- if [ -z "`use build`" ]
- then
- cd ${S}
- docinto /
- dodoc BUGS COPYING COPYING.LIB ChangeLog GNATS README* FAQ MAINTAINERS
- docinto html
- dodoc *.html
- cd ${S}/boehm-gc
- docinto boehm-gc
- dodoc ChangeLog README*
- cd ${S}/gcc
- docinto gcc
- dodoc ChangeLog* COPYING* FSFChangeLog* LANGUAGES NEWS ONEWS \
- README* SERVICE
- cd ${S}/fastjar
- docinto fastjar
- dodoc AUTHORS CHANGES COPYING ChangeLog NEWS README
- cd ${S}/libf2c
- docinto libf2c
- dodoc ChangeLog README TODO changes.netlib disclaimer.netlib \
- permission.netlib readme.netlib
- cd ${S}/libffi
- docinto libffi
- dodoc ChangeLog* LICENSE README
- cd ${S}/libjava
- docinto libjava
- dodoc ChangeLog* COPYING HACKING LIBGCJ_LICENSE NEWS README THANKS
- cd ${S}/libiberty
- docinto libiberty
- dodoc ChangeLog COPYING.LIB README
- cd ${S}/libobjc
- docinto libobjc
- dodoc ChangeLog README* THREADS*
- cd ${S}/libstdc++-v3
- docinto libstdc++-v3
- dodoc ChangeLog* README
- else
- rm -rf ${D}/usr/share/{man,info}
- fi
-}
-
-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
-}
-
diff --git a/sys-devel/gcc/gcc-3.1.ebuild b/sys-devel/gcc/gcc-3.1.ebuild
deleted file mode 100644
index f2e909dfea73..000000000000
--- a/sys-devel/gcc/gcc-3.1.ebuild
+++ /dev/null
@@ -1,326 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Maintainer: Grant Goodyear <g2boojum@gentoo.org>, Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.1.ebuild,v 1.1 2002/05/17 15:42:30 prez Exp $
-
-# NOTE TO MAINTAINER: Info pages get nuked for multiple version installs.
-# Ill fix it later if i get a chance.
-
-TV=4.0
-GCC_SUFFIX=-3.1
-LOC=/usr
-SLOT="3.1"
-S=${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
- ftp://ftp.gnu.org/pub/gnu/texinfo/texinfo-${TV}.tar.gz"
-DESCRIPTION="Modern GCC C/C++ compiler and an included, upgraded version of texinfo to boot"
-HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-
-DEPEND="virtual/glibc"
-RDEPEND="virtual/glibc >=sys-libs/zlib-1.1.4"
-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`"
- if [ -z "`use build`" ] && \
- [ -z "`use bootstrap`" ] && \
- [ "`gcc --version | cut -f1 -d.`" -ne 3 ] && \
- [ "${profile/gcc3}" = "${profile}" ] && \
- [ "${GCCBUILD}" != "default" ]
- then
- return 0
- else
- return 1
- fi
-}
-
-src_unpack() {
- unpack ${P}.tar.bz2
-
- #now we integrate texinfo-${TV} into gcc. It comes with texinfo-3.12.
- cd ${S}
- tar xzf ${DISTDIR}/texinfo-${TV}.tar.gz || die
- #hack, because texinfo different in gcc 3.0+
- rm -rf ${S}/texinfo
- mv ${S}/texinfo-${TV} ${S}/texinfo
- cd ${S}/texinfo
- if [ "`use build`" ]
- then
- patch -p0 < ${FILESDIR}/texinfo-${TV}-no-ncurses-gentoo.diff || die
- touch *
- fi
-
- cd ${S}
- #fixes the build system to properly do the transformation
- #of the binaries (thanks to Mandrake)
- if build_multiple
- then
- patch -p1 <${FILESDIR}/gcc3-program-transform.patch || die
- fi
-
- #fixup libtool to correctly generate .la files with portage
- patch <${FILESDIR}/libtool-1.4.1-portage.patch-v3 || die
-}
-
-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
- cd ${WORKDIR}
- mkdir build
- cd build
-
- addwrite "/dev/zero"
- ${S}/configure --prefix=${LOC} \
- --mandir=${LOC}/share/man \
- --infodir=${LOC}/share/info \
- --datadir=${LOC}/share/gcc-${PV} \
- --enable-shared \
- --host=${CHOST} \
- --build=${CHOST} \
- --target=${CHOST} \
- --enable-threads=posix \
- --disable-checking \
- --with-local-prefix=${LOC}/local \
- ${myconf} || die
-
- if [ -z "`use static`" ]
- then
- emake bootstrap-lean || die
- else
- emake LDFLAGS=-static bootstrap || die
- fi
-}
-
-#thanks to mandrake for this function
-dispatch_libs() {
- libname=$1 libversion=$2
- rm -f $libname.so $libname.a
-
- if build_multiple
- then
- # If we have multiple versions of GCC, leave libraries in $FULLPATH
- chmod 0755 ../../../$libname.so.$libversion
- ln -s ../../../$libname.so.$libversion $libname.so
- rm -f ../../../$libname.so
- cp -f ../../../$libname.a $libname.a
- rm -f ../../../$libname.a
- else
- ln -sf ../../../$libname.so $libname.so
- ln -sf ../../../$libname.a $libname.a
- fi
-}
-
-src_install() {
- #fix Makefile to properly install libgcj.jar and not
- #generate a sandbox error.
- cd ${WORKDIR}/build/${CHOST}
- for x in `find . -name "Makefile"`; do
- cp $x $x.orig
- sed -e "s:datadir = /usr/share:datadir = ${D}/usr/share:" \
- $x.orig >$x
- done
-
- #make install from the build directory
- cd ${WORKDIR}/build
- make prefix=${D}${LOC} \
- mandir=${D}${LOC}/share/man \
- infodir=${D}${LOC}/share/info \
- datadir=${D}${LOC}/share/gcc-${PV} \
- 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}
- dosym /usr/bin/cpp /lib/cpp
- dosym gcc /usr/bin/cc
-
- #make sure we dont have stuff lying around that
- #can nuke multiple versions of gcc
- if [ -z "`use build`" ]
- then
- cd ${FULLPATH_D}
- #move symlinks to compiler-specific dir
- dispatch_libs libstdc++ ${PV}
- mv ../../../libsupc++.a libsupc++.a
- dispatch_libs libgcj 2.0.0
- dispatch_libs libgcjgc 1.0.1
- mv libobjc* ../../../
- dispatch_libs libobjc 1.0.0
- dispatch_libs libobjc_gc 1.0.0
- #do not always get created.
- [ ! -e libobjc_gc.so ] && rm -f libobjc_gc.so
-
- if build_multiple
- then
- #move libtool .la files to $FULLPATH till I figure
- #what to do with them. This needs to be done with
- #parallel installs, else gcc-2.95 tries to link with
- #the wrong libs.
- mv ${D}${LOC}/lib/*.la ${FULLPATH_D}
- fi
-
- #move Java headers to compiler-specific dir
- mv ${D}${LOC}/include/j*.h ${FULLPATH_D}/include/
- mv ${D}${LOC}/include/{gcj,gnu,java} ${FULLPATH_D}/include/
-
- #move libgcj.spec to compiler-specific directories
- mv ${D}${LOC}/lib/libgcj.spec ${FULLPATH_D}/libgcj.spec
-
- #there is already one with binutils
- mv ${D}${LOC}/lib/libiberty.a ${FULLPATH_D}/libiberty.a
-
- #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}${LOC}/include/g++-v3/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
-
- #move libgcc_s.so.1 to /lib
- cd ${D}/lib
- chmod +x ${D}${LOC}/lib/libgcc_s.so.1
- mv -f ${D}${LOC}/lib/libgcc_s.so.1 libgcc_s-${PV}.so.1
- ln -sf libgcc_s-${PV}.so.1 libgcc_s.so.1
- ln -sf libgcc_s.so.1 libgcc_s.so
- rm -f ${D}${LOC}/lib/libgcc_s.so*
-
- cd ${S}
- if [ -z "`use build`" ]
- then
- #do a full texinfo-${TV} install
-
- if ! build_multiple
- then
- cd ${WORKDIR}/build/texinfo
- make DESTDIR=${D} \
- infodir=${D}/usr/share/info \
- install || die
-
- exeinto /usr/sbin
- doexe ${FILESDIR}/mkinfodir
-
- cd ${D}/usr/share/info
- mv texinfo texinfo.info
- for i in texinfo-*
- do
- mv ${i} texinfo.info-${i#texinfo-*}
- done
-
- cd ${S}/texinfo
- docinto texinfo
- dodoc AUTHORS ChangeLog COPYING INTRODUCTION NEWS README TODO
- docinto texinfo/info
- dodoc info/README
- docinto texinfo/makeinfo
- dodoc makeinfo/README
- fi
-
- # end texinfo 4.0; begin more gcc stuff
-
- cd ${S}
- docinto /
- dodoc BUGS COPYING COPYING.LIB ChangeLog GNATS README* FAQ MAINTAINERS
- docinto html
- dodoc *.html
- cd ${S}/boehm-gc
- docinto boehm-gc
- dodoc ChangeLog README*
- cd ${S}/gcc
- docinto gcc
- dodoc ChangeLog* COPYING* FSFChangeLog* LANGUAGES NEWS ONEWS \
- README* SERVICE
- cd ${S}/fastjar
- docinto fastjar
- dodoc AUTHORS CHANGES COPYING ChangeLog NEWS README
- cd ${S}/libf2c
- docinto libf2c
- dodoc ChangeLog README TODO changes.netlib disclaimer.netlib \
- permission.netlib readme.netlib
- cd ${S}/libffi
- docinto libffi
- dodoc ChangeLog* LICENSE README
- cd ${S}/libjava
- docinto libjava
- dodoc ChangeLog* COPYING HACKING LIBGCJ_LICENSE NEWS README THANKS
- cd ${S}/libiberty
- docinto libiberty
- dodoc ChangeLog COPYING.LIB README
- cd ${S}/libobjc
- docinto libobjc
- dodoc ChangeLog README* THREADS*
- cd ${S}/libstdc++-v3
- docinto libstdc++-v3
- dodoc ChangeLog* README
- else
- rm -rf ${D}/usr/share/{man,info}
- #do a minimal texinfo install (build image)
- cd ${WORKDIR}/build/texinfo
- dobin makeinfo/makeinfo util/{install-info,texi2dvi,texindex}
- fi
-}
-
-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
-}
-