summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Tilley <lv@gentoo.org>2004-10-05 03:34:41 +0000
committerTravis Tilley <lv@gentoo.org>2004-10-05 03:34:41 +0000
commit7e1667b67ecd280fb630860764a0148e82933e4c (patch)
tree5d1a1b4d0a11c23bf507bf43afbe8ee5c2570a98 /sys-devel/gcc/gcc-3.4.2-r2.ebuild
parentDOOOOOOOOOOOOOOOOOOOOM 3 (diff)
downloadgentoo-2-7e1667b67ecd280fb630860764a0148e82933e4c.tar.gz
gentoo-2-7e1667b67ecd280fb630860764a0148e82933e4c.tar.bz2
gentoo-2-7e1667b67ecd280fb630860764a0148e82933e4c.zip
revert the multilib-by-default changes, since this seems to be causing problems with hardened, and we havent yet completely figured out how to handle mips' three ABIs.
Diffstat (limited to 'sys-devel/gcc/gcc-3.4.2-r2.ebuild')
-rw-r--r--sys-devel/gcc/gcc-3.4.2-r2.ebuild30
1 files changed, 21 insertions, 9 deletions
diff --git a/sys-devel/gcc/gcc-3.4.2-r2.ebuild b/sys-devel/gcc/gcc-3.4.2-r2.ebuild
index 31623edde01b..be1ccbd954af 100644
--- a/sys-devel/gcc/gcc-3.4.2-r2.ebuild
+++ b/sys-devel/gcc/gcc-3.4.2-r2.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.4.2-r2.ebuild,v 1.7 2004/10/04 21:58:20 mr_bones_ Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.4.2-r2.ebuild,v 1.8 2004/10/05 03:34:41 lv Exp $
-IUSE="static nls bootstrap build nomultilib gcj gtk f77 objc hardened uclibc n32 n64"
+IUSE="static nls bootstrap build multilib gcj gtk f77 objc hardened uclibc n32 n64"
inherit eutils flag-o-matic libtool gnuconfig toolchain
@@ -27,7 +27,7 @@ DEPEND="virtual/libc
amd64? ( >=sys-devel/binutils-2.15.90.0.1.1-r1 )
>=sys-devel/bison-1.875
>=sys-devel/gcc-config-1.3.1
- amd64? ( !nomultilib? ( >=app-emulation/emul-linux-x86-glibc-1.1 ) )
+ amd64? ( multilib? ( >=app-emulation/emul-linux-x86-glibc-1.1 ) )
!build? ( gcj? ( gtk? ( >=x11-libs/gtk+-2.2 ) ) )
!build? ( gcj? ( >=media-libs/libart_lgpl-2.1 ) )
!build? ( >=sys-libs/ncurses-5.2-r2
@@ -37,7 +37,7 @@ RDEPEND="virtual/libc
!uclibc? ( >=sys-libs/glibc-2.3.3_pre20040420-r1 )
!uclibc? ( hardened? ( >=sys-libs/glibc-2.3.3_pre20040529 ) )
>=sys-devel/gcc-config-1.3.1
- amd64? ( !nomultilib? ( >=app-emulation/emul-linux-x86-glibc-1.1 ) )
+ amd64? ( multilib? ( >=app-emulation/emul-linux-x86-glibc-1.1 ) )
>=sys-libs/zlib-1.1.4
>=sys-apps/texinfo-4.2-r4
!build? ( >=sys-libs/ncurses-5.2-r2 )"
@@ -101,7 +101,7 @@ gcc_do_filter_flags() {
# If we use multilib on mips, we shouldn't pass -mabi flag - it breaks
# build of non-default-abi libraries.
- use mips && use !nomultilib && filter-flags "-mabi*"
+ use mips && use multilib && filter-flags "-mabi*"
# Compile problems with these (bug #6641 among others)...
#filter-flags "-fno-exceptions -fomit-frame-pointer -fforce-addr"
@@ -134,6 +134,18 @@ chk_gcc_version() {
}
src_unpack() {
+ # if sandbox is enabled, and multilib is enabled, but we dont have a 32bit
+ # sandbox... installing gcc will fail as soon as it starts configuring the
+ # 32bit libstdc++. not fun.
+ if use amd64 && use multilib && hasq sandbox $FEATURES && [ ! -e /lib32/libsandbox.so ] ; then
+ eerror "You need a 32bit sandbox to install 32bit code with sandbox"
+ eerror "enabled. Either add FEATURES=-sandbox or disable multilib."
+ eerror "After installing a multilib gcc, you can re-emerge portage"
+ eerror "to get a 32bit sandbox, and this problem will go away."
+ ebeep
+ die "no 32bit sandbox"
+ fi
+
gcc_src_unpack
# misc patches that havent made it into a patch tarball yet
@@ -141,7 +153,7 @@ src_unpack() {
epatch ${FILESDIR}/gcc-spec-env.patch
# If mips, and we DON'T want multilib, then rig gcc to only use n32 OR n64
- if use mips && use nomultilib; then
+ if use mips && use !multilib; then
use n32 && epatch ${FILESDIR}/3.4.1/gcc-3.4.1-mips-n32only.patch
use n64 && epatch ${FILESDIR}/3.4.1/gcc-3.4.1-mips-n64only.patch
fi
@@ -158,7 +170,7 @@ src_unpack() {
epatch ${FILESDIR}/3.4.2/gcc34-m32-no-sse2.patch
epatch ${FILESDIR}/3.4.2/gcc34-fix-sse2_pinsrw.patch
- if use amd64 && use !nomultilib ; then
+ if use amd64 && use multilib ; then
# this should hack around the GCC_NO_EXECUTABLES bug
epatch ${FILESDIR}/3.4.1/gcc-3.4.1-glibc-is-native.patch
cd ${S}/libstdc++-v3
@@ -399,7 +411,7 @@ pkg_preinst() {
# Make again sure that the linker "should" be able to locate
# libstdc++.so ...
- if use !nomultilib && [ "${ARCH}" = "amd64" ]
+ if use multilib && [ "${ARCH}" = "amd64" ]
then
# Can't always find libgcc_s.so.1, make it find it
export LD_LIBRARY_PATH="${LIBPATH}:${LIBPATH}/../lib64:${LIBPATH}/../lib32:${LD_LIBRARY_PATH}"
@@ -411,7 +423,7 @@ pkg_preinst() {
pkg_postinst() {
- if use !nomultilib && [ "${ARCH}" = "amd64" ]
+ if use multilib && [ "${ARCH}" = "amd64" ]
then
# Can't always find libgcc_s.so.1, make it find it
export LD_LIBRARY_PATH="${LIBPATH}:${LIBPATH}/../lib64:${LIBPATH}/../lib32:${LD_LIBRARY_PATH}"