summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schlemmer <azarah@gentoo.org>2002-08-27 20:55:40 +0000
committerMartin Schlemmer <azarah@gentoo.org>2002-08-27 20:55:40 +0000
commit1efabd676ed658b571e5c42438c23a4f97982b39 (patch)
tree56181d2efd5d6653731ca6d6ed1ec86f3b15622f /sys-devel
parentbug #7011 (diff)
downloadhistorical-1efabd676ed658b571e5c42438c23a4f97982b39.tar.gz
historical-1efabd676ed658b571e5c42438c23a4f97982b39.tar.bz2
historical-1efabd676ed658b571e5c42438c23a4f97982b39.zip
update 3.2 patches; cleanup
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/gcc/ChangeLog16
-rw-r--r--sys-devel/gcc/files/3.2/gcc-3.2.fix-copy.patch61
-rw-r--r--sys-devel/gcc/files/3.2/gcc-3.2.fix-var.patch53
-rw-r--r--sys-devel/gcc/files/digest-gcc-3.1.12
-rw-r--r--sys-devel/gcc/files/digest-gcc-3.2-r11
-rw-r--r--sys-devel/gcc/files/digest-gcc-3.2_pre1
-rw-r--r--sys-devel/gcc/files/digest-gcc-3.2_pre-r11
-rw-r--r--sys-devel/gcc/files/libtool-1.4.1-portage.patch-v342
-rw-r--r--sys-devel/gcc/gcc-3.1.1.ebuild357
-rw-r--r--sys-devel/gcc/gcc-3.2-r1.ebuild (renamed from sys-devel/gcc/gcc-3.2_pre-r1.ebuild)117
-rw-r--r--sys-devel/gcc/gcc-3.2_pre.ebuild340
11 files changed, 198 insertions, 793 deletions
diff --git a/sys-devel/gcc/ChangeLog b/sys-devel/gcc/ChangeLog
index 76209b0759f5..a9f004e49d8d 100644
--- a/sys-devel/gcc/ChangeLog
+++ b/sys-devel/gcc/ChangeLog
@@ -1,6 +1,20 @@
# ChangeLog for sys-devel/gcc
# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.32 2002/08/21 11:43:27 danarmak Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.33 2002/08/27 20:55:39 azarah Exp $
+
+*gcc-3.2-r1 (27 Aug 2002)
+
+ 27 Aug 2002; Martin Schlemmer <azarah@gentoo.org> gcc-3.2-r1.ebuild :
+
+ Update the "misconstruct function call frame" bug patches. This resolves
+ bug #7071, thanks to Steven Wong <wongs15@tartarus.uwa.edu.au>. Updated
+ info can be found at:
+
+ http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2002/08/0588.html
+
+ Good patch site to keep in mind (reminder to myself):
+
+ http://www.zipworld.com.au/~gschafer/lfs-tweaks.html
21 Aug 2002; Dan Armak <danarmak@gentoo.org> ChangeLog :
diff --git a/sys-devel/gcc/files/3.2/gcc-3.2.fix-copy.patch b/sys-devel/gcc/files/3.2/gcc-3.2.fix-copy.patch
new file mode 100644
index 000000000000..ff29eb001271
--- /dev/null
+++ b/sys-devel/gcc/files/3.2/gcc-3.2.fix-copy.patch
@@ -0,0 +1,61 @@
+2002-08-18 H.J. Lu <hjl@gnu.org>
+
+ * calls.c (store_one_arg): Remove ATTRIBUTE_UNUSED on
+ variable_size. Mark any slots used for the argument as in-use
+ only if we can't pass all arguments to a library call in
+ registers.
+
+diff -uNr gcc-3.2.orig/gcc/calls.c gcc-3.2/gcc/calls.c
+--- gcc-3.2.orig/gcc/calls.c 2002-04-05 09:28:47.000000000 +1000
++++ gcc-3.2/gcc/calls.c 2002-08-23 20:51:29.000000000 +1000
+@@ -4268,7 +4268,7 @@
+ struct arg_data *arg;
+ rtx argblock;
+ int flags;
+- int variable_size ATTRIBUTE_UNUSED;
++ int variable_size;
+ int reg_parm_stack_space;
+ {
+ tree pval = arg->tree_value;
+@@ -4343,14 +4343,22 @@
+ emit_move_insn (arg->save_area, stack_area);
+ }
+ }
++
++ /* Now that we have saved any slots that will be overwritten
++ by this store, mark all slots this store will use. We
++ must do this before we actually expand the argument since
++ the expansion itself may trigger library calls which might
++ need to use the same stack slot. We only do it if we can't
++ pass all arguments to a library call in registers. */
++ if (arg->partial)
++ {
++ for (i = lower_bound; i < upper_bound; i++)
++ stack_usage_map[i] = 1;
++
++ /* Set it so that we don't do it again. */
++ variable_size = 1;
++ }
+ }
+- /* Now that we have saved any slots that will be overwritten by this
+- store, mark all slots this store will use. We must do this before
+- we actually expand the argument since the expansion itself may
+- trigger library calls which might need to use the same stack slot. */
+- if (argblock && ! variable_size && arg->stack)
+- for (i = lower_bound; i < upper_bound; i++)
+- stack_usage_map[i] = 1;
+ }
+
+ /* If this isn't going to be placed on both the stack and in registers,
+@@ -4577,6 +4585,11 @@
+ arg->value = arg->stack_slot;
+ }
+
++ if (ACCUMULATE_OUTGOING_ARGS && !(flags & ECF_SIBCALL)
++ && argblock && ! variable_size && arg->stack)
++ for (i = lower_bound; i < upper_bound; i++)
++ stack_usage_map[i] = 1;
++
+ /* Once we have pushed something, pops can't safely
+ be deferred during the rest of the arguments. */
+ NO_DEFER_POP;
diff --git a/sys-devel/gcc/files/3.2/gcc-3.2.fix-var.patch b/sys-devel/gcc/files/3.2/gcc-3.2.fix-var.patch
new file mode 100644
index 000000000000..87f533cd48d3
--- /dev/null
+++ b/sys-devel/gcc/files/3.2/gcc-3.2.fix-var.patch
@@ -0,0 +1,53 @@
+2002-08-17 H.J. Lu <hjl@gnu.org>
+
+ * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
+ * expr.c (PUSH_ARGS_REVERSED): Likewise.
+
+2002-07-26 H.J. Lu <hjl@gnu.org>
+
+ * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
+
+diff -uNr gcc-3.2.orig/gcc/calls.c gcc-3.2/gcc/calls.c
+--- gcc-3.2.orig/gcc/calls.c 2002-04-05 09:28:47.000000000 +1000
++++ gcc-3.2/gcc/calls.c 2002-08-23 20:44:09.000000000 +1000
+@@ -46,9 +46,11 @@
+
+ #ifdef PUSH_ROUNDING
+
++#ifndef PUSH_ARGS_REVERSED
+ #if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD)
+ #define PUSH_ARGS_REVERSED PUSH_ARGS
+ #endif
++#endif
+
+ #endif
+
+diff -uNr gcc-3.2.orig/gcc/config/i386/i386.h gcc-3.2/gcc/config/i386/i386.h
+--- gcc-3.2.orig/gcc/config/i386/i386.h 2002-07-15 16:54:36.000000000 +1000
++++ gcc-3.2/gcc/config/i386/i386.h 2002-08-23 20:44:09.000000000 +1000
+@@ -1581,6 +1581,10 @@
+
+ #define PUSH_ARGS (TARGET_PUSH_ARGS && !ACCUMULATE_OUTGOING_ARGS)
+
++/* We want the stack and args grow in opposite directions, even if
++ PUSH_ARGS is 0. */
++#define PUSH_ARGS_REVERSED 1
++
+ /* Offset of first parameter from the argument pointer register value. */
+ #define FIRST_PARM_OFFSET(FNDECL) 0
+
+diff -uNr gcc-3.2.orig/gcc/expr.c gcc-3.2/gcc/expr.c
+--- gcc-3.2.orig/gcc/expr.c 2002-05-07 15:43:11.000000000 +1000
++++ gcc-3.2/gcc/expr.c 2002-08-23 20:44:09.000000000 +1000
+@@ -54,9 +54,11 @@
+
+ #ifdef PUSH_ROUNDING
+
++#ifndef PUSH_ARGS_REVERSED
+ #if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD)
+ #define PUSH_ARGS_REVERSED /* If it's last to first. */
+ #endif
++#endif
+
+ #endif
+
diff --git a/sys-devel/gcc/files/digest-gcc-3.1.1 b/sys-devel/gcc/files/digest-gcc-3.1.1
deleted file mode 100644
index 019da5fa1414..000000000000
--- a/sys-devel/gcc/files/digest-gcc-3.1.1
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 5c5127ab72dd9175aa434b882b08b262 gcc-3.1.1-20020701.tar.bz2 18474756
-MD5 1019ad8cc72277ca2b26dd60e9b479b1 gcc-3.1.1-patches.tbz2 65259
diff --git a/sys-devel/gcc/files/digest-gcc-3.2-r1 b/sys-devel/gcc/files/digest-gcc-3.2-r1
new file mode 100644
index 000000000000..193f110de654
--- /dev/null
+++ b/sys-devel/gcc/files/digest-gcc-3.2-r1
@@ -0,0 +1 @@
+MD5 13f289fff789927b9b798bf37552019c gcc-3.2.tar.bz2 20523950
diff --git a/sys-devel/gcc/files/digest-gcc-3.2_pre b/sys-devel/gcc/files/digest-gcc-3.2_pre
deleted file mode 100644
index 766af62ff1b4..000000000000
--- a/sys-devel/gcc/files/digest-gcc-3.2_pre
+++ /dev/null
@@ -1 +0,0 @@
-MD5 b041af2bd3ff54d9e0738501da8ac01d gcc-3.2-20020728.tar.bz2 18962559
diff --git a/sys-devel/gcc/files/digest-gcc-3.2_pre-r1 b/sys-devel/gcc/files/digest-gcc-3.2_pre-r1
deleted file mode 100644
index 6381bb78ee4f..000000000000
--- a/sys-devel/gcc/files/digest-gcc-3.2_pre-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 6f883c273d2a243fe57aa670834bcfaa gcc-20020812.tar.bz2 18638714
diff --git a/sys-devel/gcc/files/libtool-1.4.1-portage.patch-v3 b/sys-devel/gcc/files/libtool-1.4.1-portage.patch-v3
deleted file mode 100644
index c47d689333ff..000000000000
--- a/sys-devel/gcc/files/libtool-1.4.1-portage.patch-v3
+++ /dev/null
@@ -1,42 +0,0 @@
---- ltmain.sh.orig Wed Apr 3 01:19:37 2002
-+++ ltmain.sh Wed Apr 10 19:44:46 2002
-@@ -3940,9 +3940,27 @@
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit 1
- fi
-- newdependency_libs="$newdependency_libs $libdir/$name"
-+ if test "$installed" = yes; then
-+ mynewdependency_lib="`echo "$libdir/$name" |sed -e "s:${D}::g" -e 's://:/:g'`"
-+ else
-+ mynewdependency_lib="$libdir/$name"
-+ fi
-+ newdependency_libs="$newdependency_libs $mynewdependency_lib"
-+ ;;
-+ *)
-+ if test "$installed" = yes; then
-+ if [ -n "`echo $deplib |grep -e "${S}"`" ]
-+ then
-+ newdependency_libs=""
-+ elif [ -n "`echo $deplib |grep -e "${D}"`" ]
-+ then
-+ mynewdependency_lib="`echo "$deplib" |sed -e "s:${D}::g" -e 's://:/:g'`"
-+ fi
-+ else
-+ mynewdependency_lib="$deplib"
-+ fi
-+ newdependency_libs="$newdependency_libs $mynewdependency_lib"
- ;;
-- *) newdependency_libs="$newdependency_libs $deplib" ;;
- esac
- done
- dependency_libs="$newdependency_libs"
-@@ -3975,6 +3993,9 @@
- case $host,$output,$installed,$module,$dlname in
- *cygwin*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
- esac
-+ if test "$installed" = yes; then
-+ install_libdir="`echo "$install_libdir" |sed -e "s:${D}::g" -e 's://:/:g'`"
-+ fi
- $echo > $output "\
- # $outputname - a libtool library file
- # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
diff --git a/sys-devel/gcc/gcc-3.1.1.ebuild b/sys-devel/gcc/gcc-3.1.1.ebuild
deleted file mode 100644
index 808a5f0ab98f..000000000000
--- a/sys-devel/gcc/gcc-3.1.1.ebuild
+++ /dev/null
@@ -1,357 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# /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.
-
-inherit libtool
-
-MY_PV="`echo ${PV} | cut -d. -f1,2`"
-GCC_SUFFIX=-${MY_PV}
-LOC="/usr"
-# dont install in /usr/include/g++-v3/, as it will nuke gcc-3.0.x installs
-STDCXX_INCDIR="${LOC}/include/g++-v${MY_PV/\./}"
-PATCHES="${WORKDIR}/patches"
-SLOT="${MY_PV}"
-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"
-SRC_URI="http://www.ibiblio.org/gentoo/distfiles/${P}-20020701.tar.bz2
- http://www.ibiblio.org/gentoo/distfiles/${P}-patches.tbz2"
-DESCRIPTION="Modern GCC C/C++ compiler"
-HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-LICENSE="GPL-2 LGPL-2.1"
-KEYWORDS="x86 sparc sparc64"
-
-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 ${MY_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}-20020701.tar.bz2
-
- mkdir -p ${WORKDIR}/patches
- tar -jxf ${DISTDIR}/${P}-patches.tbz2 -C ${WORKDIR}/patches || die
-
- cd ${S}
- # Fixup libtool to correctly generate .la files with portage
- elibtoolize --portage --shallow
-
- # Red Hat and Suse patches
- for x in ${FILESDIR}/${MY_PV}/gcc31-boehm-gc-libs.patch.bz2 \
- ${FILESDIR}/${MY_PV}/gcc31-fde-merge-compat.patch.bz2 \
- ${FILESDIR}/${MY_PV}/gcc31-attr-visibility.patch.bz2 \
- ${PATCHES}/gcc311-attr-visibility2.patch.bz2 \
- ${PATCHES}/gcc311-trunc_int_for_mode.patch.bz2 \
- ${PATCHES}/gcc311-x86_64-q_regs_operand.patch.bz2 \
- ${FILESDIR}/${MY_PV}/gcc31-dwarf2-pr6436-test.patch.bz2 \
- ${PATCHES}/gcc311-c++-pretty_function.patch.bz2 \
- ${PATCHES}/gcc311-c++-tsubst-asm.patch.bz2 \
- ${PATCHES}/gcc311-i386-memtest-test.patch.bz2 \
- ${FILESDIR}/${MY_PV}/gcc31-fold-const2.patch.bz2 \
- ${PATCHES}/gcc311-ada-addr2line.patch.bz2 \
- ${PATCHES}/gcc311-ada-link.patch.bz2 \
- ${PATCHES}/gcc311-java-no-rpath.patch.bz2 \
- ${FILESDIR}/${MY_PV}/gcc31-test-rotate.patch.bz2 \
- ${PATCHES}/gcc311-x86_64-libiberty-pic.patch.bz2 \
- ${PATCHES}/gcc311-test-rh65771.patch.bz2 \
- ${PATCHES}/gcc311-i386-default-momit-leaf-frame-pointer.patch.bz2 \
- ${PATCHES}/gcc311-i386-profile-olfp.patch.bz2 \
- ${PATCHES}/gcc311-i386-pic-label-thunk.patch.bz2 \
- ${PATCHES}/gcc311-pr6842.patch.bz2 \
- ${PATCHES}/gcc311-tree-code.patch.bz2 \
- ${PATCHES}/gcc311-hard-reg-sharing.patch.bz2 \
- ${PATCHES}/gcc311-x86_64-addr-diff.patch.bz2 \
- ${PATCHES}/gcc311-x86_64-profile.patch.bz2 \
- ${PATCHES}/gcc311-x86_64-biarch.patch.bz2
- do
- bzip2 -dc ${x} | \
- patch -p0 || die "failed with patch ${x}"
- echo &>${T}/foo
- done
-# Missing patches, should be after gcc31-pr6842.patch.bz2
-#
-# gcc31-tls.patch.bz2 \
-
- # 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}/${MY_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 ${S}
- 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=""
- 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 ${WORKDIR}/build
- cd ${WORKDIR}/build
-
- addwrite "/dev/zero"
- ${S}/configure --prefix=${LOC} \
- --mandir=${LOC}/share/man \
- --infodir=${LOC}/share/info \
- --enable-shared \
- --host=${CHOST} \
- --build=${CHOST} \
- --target=${CHOST} \
- --with-system-zlib \
- --enable-threads=posix \
- --enable-long-long \
- --disable-checking \
- --enable-cstdio=stdio \
- --enable-clocale=generic \
- --enable-version-specific-runtime-libs \
- --with-gxx-include-dir=${STDCXX_INCDIR} \
- --with-local-prefix=${LOC}/local \
- ${myconf} || die
-
- touch ${S}/gcc/c-gperf.h
-
- if [ -z "`use static`" ]
- then
- #fix for our libtool-portage.patch
- S="${WORKDIR}/build" \
- emake bootstrap-lean || die
- else
- S="${WORKDIR}/build" \
- emake LDFLAGS=-static bootstrap || die
- fi
-}
-
-src_install() {
- #make install from the build directory
- cd ${WORKDIR}/build
- S="${WORKDIR}/build" \
- 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,
- # bugzilla bug #4411
- #
- # 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
-
- #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 /
- dodoc COPYING COPYING.LIB ChangeLog LAST_UPDATED README MAINTAINERS
- cd ${S}/boehm-gc
- docinto boehm-gc
- dodoc ChangeLog doc/{README*,barrett_diagram}
- docinto boehm-gc/html
- dohtml doc/*.html
- 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
-
- # 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 ${ROOT}/usr/lib/gcc-lib -name '*curses.h' -exec rm -f {} \;
-}
-
diff --git a/sys-devel/gcc/gcc-3.2_pre-r1.ebuild b/sys-devel/gcc/gcc-3.2-r1.ebuild
index a9258a6ba063..6f4e4f7a49ea 100644
--- a/sys-devel/gcc/gcc-3.2_pre-r1.ebuild
+++ b/sys-devel/gcc/gcc-3.2-r1.ebuild
@@ -1,37 +1,42 @@
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.2_pre-r1.ebuild,v 1.1 2002/08/15 00:25:57 azarah Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.2-r1.ebuild,v 1.1 2002/08/27 20:55:39 azarah 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.
inherit flag-o-matic libtool
# Compile problems with these ...
filter-flags "-fno-exceptions"
-MY_PV="`echo ${PV/_pre} | cut -d. -f1,2`"
-GCC_SUFFIX=-${MY_PV}
+# cf bug #6641
+filter-flags "-fomit-frame-pointer"
+
LOC="/usr"
-# dont install in /usr/include/g++-v3/, as it will nuke gcc-3.0.x installs
+MY_PV="`echo ${PV/_pre} | cut -d. -f1,2`"
+GCC_SUFFIX="-${MY_PV}"
+# Dont install in /usr/include/g++-v3/, as it will nuke gcc-3.0.x installs
STDCXX_INCDIR="${LOC}/include/g++-v${MY_PV/\./}"
-PATCHES="${WORKDIR}/patches"
-SNAPSHOT="2002-08-12"
-S="${WORKDIR}/gcc-${SNAPSHOT//-}"
-#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"
-SRC_URI="ftp://ftp.mirror.ac.uk/sites/sources.redhat.com/pub/gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT//-}.tar.bz2"
+
+# 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"
+else
+ S="${WORKDIR}/gcc-${SNAPSHOT//-}"
+ SRC_URI="ftp://ftp.mirror.ac.uk/sites/sources.redhat.com/pub/gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT//-}.tar.bz2"
+fi
+
DESCRIPTION="Modern GCC C/C++ compiler"
HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-
LICENSE="GPL-2 LGPL-2.1"
SLOT="${MY_PV}"
-KEYWORDS="x86"
+KEYWORDS="x86 ppc sparc sparc64"
DEPEND="virtual/glibc
!build? ( >=sys-libs/ncurses-5.2-r2
@@ -42,9 +47,10 @@ RDEPEND="virtual/glibc
>=sys-apps/texinfo-4.2-r4
!build? ( >=sys-libs/ncurses-5.2-r2 )"
+
build_multiple() {
- #try to make sure that we should build multiple
- #versions of gcc (dual install of gcc2 and gcc3)
+ # 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`" ]
#
@@ -62,11 +68,16 @@ build_multiple() {
fi
}
-# used to patch Makefiles to install into the build dir
+# Used to patch Makefiles to install into the build dir
FAKE_ROOT=""
src_unpack() {
- unpack gcc-${SNAPSHOT//-}.tar.bz2
+ if [ -z "${SNAPSHOT}" ]
+ then
+ unpack ${P}.tar.bz2
+ else
+ unpack gcc-${SNAPSHOT//-}.tar.bz2
+ fi
cd ${S}
# Fixup libtool to correctly generate .la files with portage
@@ -83,7 +94,12 @@ src_unpack() {
# http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2002/08/0410.html
# http://gcc.gnu.org/ml/gcc/2002-08/msg00731.html
#
- cd ${S}; patch -p0 < ${FILESDIR}/gcc-3-deopt.patch || die
+ # Also for the updated patches, see:
+ #
+ # http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2002/08/0588.html
+ #
+ patch -p1 < ${FILESDIR}/${PV}/${P}.fix-copy.patch || die
+ patch -p1 < ${FILESDIR}/${PV}/${P}.fix-var.patch || die
# Currently if any path is changed via the configure script, it breaks
# installing into ${D}. We should not patch it in src_install() with
@@ -126,23 +142,22 @@ src_compile() {
gcc_lang="${gcc_lang},java"
fi
- #only build with a program suffix if it is not our
- #default compiler. Also check $GCCBUILD until we got
- #compilers sorted out.
+ # 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.
+ # 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?/}"
+ # In general gcc does not like optimization
+ export CFLAGS="${CFLAGS//-O?}"
+ export CXXFLAGS="${CXXFLAGS//-O?}"
- #build in a separate build tree
+ # Build in a separate build tree
mkdir -p ${WORKDIR}/build
cd ${WORKDIR}/build
@@ -171,7 +186,7 @@ src_compile() {
if [ -z "`use static`" ]
then
- #fix for our libtool-portage.patch
+ # Fix for our libtool-portage.patch
S="${WORKDIR}/build" \
emake bootstrap-lean || die
else
@@ -181,7 +196,7 @@ src_compile() {
}
src_install() {
- #make install from the build directory
+ # Do the 'make install' from the build directory
cd ${WORKDIR}/build
S="${WORKDIR}/build" \
make prefix=${D}${LOC} \
@@ -223,13 +238,13 @@ src_install() {
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
+ # 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
+ # Tell libtool files where real libraries are
for LA in ${D}${LOC}/lib/*.la ${FULLPATH_D}/../*.la
do
if [ -f ${LA} ]
@@ -240,13 +255,13 @@ src_install() {
fi
done
- #move all the libraries to version specific libdir.
+ # Move all the libraries to version specific libdir.
for x in ${D}${LOC}/lib/*.{so,a}* ${FULLPATH_D}/../*.{so,a}*
do
[ -f ${x} ] && mv -f ${x} ${FULLPATH_D}
done
- #move Java headers to compiler-specific dir
+ # 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} ${FULLPATH_D}/include/
@@ -261,29 +276,29 @@ src_install() {
fi
done
- #move libgcj.spec to compiler-specific directories
+ # Move libgcj.spec to compiler-specific directories
[ -f ${D}${LOC}/lib/libgcj.spec ] && \
mv -f ${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)
+ # 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
[ -f jar${GCC_SUFFIX} ] && mv -f jar${GCC_SUFFIX} gcj-jar${GCC_SUFFIX}
- #move <cxxabi.h> to compiler-specific directories
+ # Move <cxxabi.h> to compiler-specific directories
[ -f ${D}${STDCXX_INCDIR}/cxxabi.h ] && \
mv -f ${D}${STDCXX_INCDIR}/cxxabi.h ${FULLPATH_D}/include/
if build_multiple
then
- #now fix the manpages
+ # 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
fi
- #this one comes with binutils
+ # This one comes with binutils
if [ -f ${D}${LOC}/lib/libiberty.a ]
then
rm -f ${D}${LOC}/lib/libiberty.a
@@ -294,7 +309,9 @@ src_install() {
then
cd ${S}
docinto /
- dodoc COPYING COPYING.LIB ChangeLog LAST_UPDATED README MAINTAINERS
+ dodoc COPYING COPYING.LIB ChangeLog FAQ GNATS MAINTAINERS README
+ docinto html
+ dohtml *.html
cd ${S}/boehm-gc
docinto boehm-gc
dodoc ChangeLog doc/{README*,barrett_diagram}
@@ -302,12 +319,10 @@ src_install() {
dohtml doc/*.html
cd ${S}/gcc
docinto gcc
- dodoc ChangeLog* COPYING* FSFChangeLog* LANGUAGES NEWS ONEWS \
- README* SERVICE
+ dodoc ChangeLog* FSFChangeLog* LANGUAGES NEWS ONEWS README* SERVICE
cd ${S}/libf2c
docinto libf2c
- dodoc ChangeLog README TODO changes.netlib disclaimer.netlib \
- permission.netlib readme.netlib
+ dodoc ChangeLog README TODO *.netlib
cd ${S}/libffi
docinto libffi
dodoc ChangeLog* LICENSE README
@@ -320,6 +335,10 @@ src_install() {
cd ${S}/libstdc++-v3
docinto libstdc++-v3
dodoc ChangeLog* README
+ docinto 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
diff --git a/sys-devel/gcc/gcc-3.2_pre.ebuild b/sys-devel/gcc/gcc-3.2_pre.ebuild
deleted file mode 100644
index 488cdb978f29..000000000000
--- a/sys-devel/gcc/gcc-3.2_pre.ebuild
+++ /dev/null
@@ -1,340 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# /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.
-
-inherit flag-o-matic libtool
-
-# Compile problems with these ...
-filter-flags "-fno-exceptions"
-
-MY_PV="`echo ${PV/_pre} | cut -d. -f1,2`"
-GCC_SUFFIX=-${MY_PV}
-LOC="/usr"
-# dont install in /usr/include/g++-v3/, as it will nuke gcc-3.0.x installs
-STDCXX_INCDIR="${LOC}/include/g++-v${MY_PV/\./}"
-PATCHES="${WORKDIR}/patches"
-SNAPSHOT="-20020728"
-S=${WORKDIR}/${P/_pre}
-#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"
-SRC_URI="http://www.ibiblio.org/gentoo/distfiles/${P/_pre}${SNAPSHOT}.tar.bz2"
-DESCRIPTION="Modern GCC C/C++ compiler"
-HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="${MY_PV}"
-KEYWORDS="x86 ppc sparc sparc64"
-
-DEPEND="virtual/glibc
- !build? ( >=sys-libs/ncurses-5.2-r2
- nls? ( sys-devel/gettext ) )"
-
-RDEPEND="virtual/glibc
- >=sys-libs/zlib-1.1.4
- >=sys-apps/texinfo-4.2-r4
- !build? ( >=sys-libs/ncurses-5.2-r2 )"
-
-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`" != "${MY_PV}" ] && \
- [ "${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/_pre}${SNAPSHOT}.tar.bz2
-
- cd ${S}
- # Fixup libtool to correctly generate .la files with portage
- elibtoolize --portage --shallow
-
- # 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
-# 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=""
- local gcc_lang=""
- if [ -z "`use build`" ]
- then
- myconf="${myconf} --enable-shared"
- gcc_lang="c,c++,ada,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
-
- #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 ${WORKDIR}/build
- cd ${WORKDIR}/build
-
- addwrite "/dev/zero"
- ${S}/configure --prefix=${LOC} \
- --mandir=${LOC}/share/man \
- --infodir=${LOC}/share/info \
- --enable-shared \
- --host=${CHOST} \
- --build=${CHOST} \
- --target=${CHOST} \
- --with-system-zlib \
- --enable-languages=${gcc_lang} \
- --enable-threads=posix \
- --enable-long-long \
- --disable-checking \
- --enable-cstdio=stdio \
- --enable-clocale=generic \
- --enable-version-specific-runtime-libs \
- --with-gxx-include-dir=${STDCXX_INCDIR} \
- --with-local-prefix=${LOC}/local \
- ${myconf} || die
-
- touch ${S}/gcc/c-gperf.h
-
- if [ -z "`use static`" ]
- then
- #fix for our libtool-portage.patch
- S="${WORKDIR}/build" \
- emake bootstrap-lean || die
- else
- S="${WORKDIR}/build" \
- emake LDFLAGS=-static bootstrap || die
- fi
-}
-
-src_install() {
- #make install from the build directory
- cd ${WORKDIR}/build
- S="${WORKDIR}/build" \
- 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/_pre}
- FULLPATH_D=${D}${LOC}/lib/gcc-lib/${CHOST}/${PV/_pre}
- 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,
- # bugzilla bug #4411
- #
- # 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
- if [ -f ${LA} ]
- then
- sed -e "s:/usr/lib:${FULLPATH}:" ${LA} > ${LA}.hacked
- mv ${LA}.hacked ${LA}
- mv ${LA} ${FULLPATH_D}
- fi
- done
-
- #move all the libraries to version specific libdir.
- for x in ${D}${LOC}/lib/*.{so,a}* ${FULLPATH_D}/../*.{so,a}*
- do
- [ -f ${x} ] && mv -f ${x} ${FULLPATH_D}
- 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} ${FULLPATH_D}/include/
- done
- for x in gcj gnu java javax org
- do
- if [ -d ${D}${LOC}/include/${x} ]
- then
- mkdir -p ${FULLPATH_D}/include/${x}
- mv -f ${D}${LOC}/include/${x}/* ${FULLPATH_D}/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 ${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
- [ -f jar${GCC_SUFFIX} ] && mv -f jar${GCC_SUFFIX} gcj-jar${GCC_SUFFIX}
-
- #move <cxxabi.h> to compiler-specific directories
- [ -f ${D}${STDCXX_INCDIR}/cxxabi.h ] && \
- mv -f ${D}${STDCXX_INCDIR}/cxxabi.h ${FULLPATH_D}/include/
-
- if build_multiple
- then
- #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
- 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 /
- dodoc COPYING COPYING.LIB ChangeLog LAST_UPDATED README MAINTAINERS
- cd ${S}/boehm-gc
- docinto boehm-gc
- dodoc ChangeLog doc/{README*,barrett_diagram}
- docinto boehm-gc/html
- dohtml doc/*.html
- cd ${S}/gcc
- docinto gcc
- dodoc ChangeLog* COPYING* FSFChangeLog* LANGUAGES NEWS ONEWS \
- README* SERVICE
- 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}/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
-
- if [ -n "`use java`" ]
- then
- cd ${S}/fastjar
- docinto fastjar
- dodoc AUTHORS CHANGES COPYING ChangeLog NEWS README
- cd ${S}/libjava
- docinto 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_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 ${ROOT}/usr/lib/gcc-lib -name '*curses.h' -exec rm -f {} \;
-}
-