summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad House <brad_mssw@gentoo.org>2003-10-18 19:24:46 +0000
committerBrad House <brad_mssw@gentoo.org>2003-10-18 19:24:46 +0000
commitab01d8b46f73d00ba5a9b32d8d084aa3ace2330b (patch)
tree664c097ae00df61adfbd00f72f5c83b4756e588b /sys-devel/gcc
parentcleanup (diff)
downloadhistorical-ab01d8b46f73d00ba5a9b32d8d084aa3ace2330b.tar.gz
historical-ab01d8b46f73d00ba5a9b32d8d084aa3ace2330b.tar.bz2
historical-ab01d8b46f73d00ba5a9b32d8d084aa3ace2330b.zip
add amd64 support to 3.3.1-r5
Diffstat (limited to 'sys-devel/gcc')
-rw-r--r--sys-devel/gcc/ChangeLog5
-rw-r--r--sys-devel/gcc/Manifest5
-rw-r--r--sys-devel/gcc/files/gcc331_use_multilib.amd64.patch11
-rw-r--r--sys-devel/gcc/gcc-3.3.1-r5.ebuild65
4 files changed, 74 insertions, 12 deletions
diff --git a/sys-devel/gcc/ChangeLog b/sys-devel/gcc/ChangeLog
index e4d196232344..b4f9f69978e0 100644
--- a/sys-devel/gcc/ChangeLog
+++ b/sys-devel/gcc/ChangeLog
@@ -1,7 +1,10 @@
# ChangeLog for sys-devel/gcc
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.135 2003/10/15 09:05:37 kumba Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.136 2003/10/18 19:24:42 brad_mssw Exp $
+ 18 Oct 2003; Brad House <brad_mssw@gentoo.org> gcc-3.3.1-r5.ebuild,
+ files/gcc331_use_multilib.amd64.patch:
+ add appropriate changes for amd64, and set ~amd64 in flags
*gcc-3.3.1-r5 (14 Oct 2003)
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 7289bb1c5e2a..e5fc9c799fdf 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -1,4 +1,4 @@
-MD5 6d4ff997783f3ff73b4c9c97fcd9be59 ChangeLog 30049
+MD5 4da3c55346af2078a67bd8da89fe18ce ChangeLog 30225
MD5 6d0d6b9214ecb88e26a54b70901c50b4 gcc-2.95.3-r7.ebuild 5436
MD5 079abbc45c914fdad6c90540fe82302c gcc-2.95.3-r8.ebuild 9213
MD5 459fe070924cbfd485139f84f2dd47ff gcc-3.0.4-r6.ebuild 8738
@@ -15,7 +15,7 @@ MD5 aa01e0515884df05563094839c31d7d1 gcc-3.3.1-r1.ebuild 16131
MD5 3acd503347422782700e912a8188aaf1 gcc-3.3.1-r2.ebuild 16418
MD5 2d93c1b5cbf13ca71798ca2b3cfda29b gcc-3.3.1-r3.ebuild 16096
MD5 cc53e87c8013fddf7cab2d546d932576 gcc-3.3.1-r4.ebuild 16101
-MD5 5abbc4a61843a0731d0da2469a6b8a17 gcc-3.3.1-r5.ebuild 16226
+MD5 10dc6dfc81f6d853c4cb5f54f89ccdbe gcc-3.3.1-r5.ebuild 17998
MD5 66ea7917242ace41e447948c31e86601 gcc-3.3.1.ebuild 16053
MD5 25a95ad59dc52c9ec23faf193ea4f168 gcc-3.3.ebuild 16642
MD5 d70bcc196f1d68275346f067efcb9373 files/cc 20
@@ -50,6 +50,7 @@ MD5 9c13e6b0d5770979430b76c578afa22c files/gcc3-program-transform.patch 9771
MD5 e3193bdffb435b77a21bfb504ff6f591 files/mkinfodir 7324
MD5 c589fe6a54dc88cf40463cf85a32e81e files/specs-3.3-amd64-unilib 3953
MD5 33df162e1767e168f4f39442785071af files/texinfo-4.0-no-ncurses-gentoo.diff 51748
+MD5 8baffb486c75efe253bd2daa88daa7d6 files/gcc331_use_multilib.amd64.patch 352
MD5 aa7a1e8bbe618c0d88368e69caeb7653 files/3.1/gcc31-attr-visibility.patch.bz2 3671
MD5 8b4c6af1c730dcdd843a77e8095d312b files/3.1/gcc31-attr-visibility2.patch.bz2 2341
MD5 98f539e65ab7e21994e5d378537a5506 files/3.1/gcc31-boehm-gc-libs.patch.bz2 1921
diff --git a/sys-devel/gcc/files/gcc331_use_multilib.amd64.patch b/sys-devel/gcc/files/gcc331_use_multilib.amd64.patch
new file mode 100644
index 000000000000..4ba45d19bc5f
--- /dev/null
+++ b/sys-devel/gcc/files/gcc331_use_multilib.amd64.patch
@@ -0,0 +1,11 @@
+--- gcc/config/i386/t-linux64.orig 2003-06-28 00:19:59.000000000 +0000
++++ gcc/config/i386/t-linux64 2003-06-28 00:20:07.000000000 +0000
+@@ -6,7 +6,7 @@
+
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64 ../lib
++MULTILIB_OSDIRNAMES = ../lib64 ../lib32
+
+ LIBGCC = stmp-multilib
+ INSTALL_LIBGCC = install-multilib
diff --git a/sys-devel/gcc/gcc-3.3.1-r5.ebuild b/sys-devel/gcc/gcc-3.3.1-r5.ebuild
index 2b9d6d4000b4..c2198b93380b 100644
--- a/sys-devel/gcc/gcc-3.3.1-r5.ebuild
+++ b/sys-devel/gcc/gcc-3.3.1-r5.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.3.1-r5.ebuild,v 1.3 2003/10/15 09:05:37 kumba Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.3.1-r5.ebuild,v 1.4 2003/10/18 19:24:42 brad_mssw Exp $
-IUSE="static nls bootstrap java build X"
+IUSE="static nls bootstrap java build X multilib"
inherit eutils flag-o-matic libtool
@@ -95,7 +95,7 @@ DESCRIPTION="The GNU Compiler Collection. Includes C/C++ and java compilers"
HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
LICENSE="GPL-2 LGPL-2.1"
-KEYWORDS="-* ~x86 ~mips ~sparc"
+KEYWORDS="-* ~x86 ~mips ~sparc ~amd64"
# Ok, this is a hairy one again, but lets assume that we
# are not cross compiling, than we want SLOT to only contain
@@ -119,6 +119,7 @@ DEPEND="virtual/glibc
>=sys-devel/binutils-2.14.90.0.6-r1
>=sys-devel/bison-1.875
>=sys-devel/gcc-config-1.3.1
+ amd64? ( multilib? ( >=app-emulation/emul-linux-x86-baselibs-1.0 ) )
!build? ( >=sys-libs/ncurses-5.2-r2
nls? ( sys-devel/gettext ) )"
@@ -198,10 +199,19 @@ src_unpack() {
mkdir -p ${WORKDIR}/patch/exclude
# Exclude this as it is fixed in apps according to lu_zero.
mv -f ${WORKDIR}/patch/3* ${WORKDIR}/patch/exclude/
-
+ if [ -n "`use multilib`" -a "$ARCH" = "amd64" ]
+ then
+ mv -f ${WORKDIR}/patch/06* ${WORKDIR}/patch/exclude/
+ fi
epatch ${WORKDIR}/patch
fi
+ if [ -n "`use multilib`" -a "$ARCH" = "amd64" ]
+ then
+ epatch ${FILESDIR}/gcc331_use_multilib.amd64.patch
+ fi
+
+
if [ -z "${PP_VER}" ]
then
# Make gcc's version info specific to Gentoo
@@ -270,7 +280,17 @@ src_compile() {
fi
# Multilib not yet supported
- myconf="${myconf} --disable-multilib"
+ if [ -n "`use multilib`" -a "${ARCH}" = "amd64" ]
+ then
+ einfo "WARNING: Multilib support enabled. This is still experimental."
+ myconf="${myconf} --enable-multilib"
+ else
+ if [ "${ARCH}" = "amd64" ]
+ then
+ einfo "WARNING: Multilib not enabled. You will not be able to build 32bit binaries."
+ fi
+ myconf="${myconf} --disable-multilib"
+ fi
# In general gcc does not like optimization, and add -O2 where
# it is safe. This is especially true for gcc-3.3 ...
@@ -370,7 +390,13 @@ src_install() {
dodir /etc/env.d/gcc
echo "PATH=\"${BINPATH}\"" > ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
echo "ROOTPATH=\"${BINPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
- echo "LDPATH=\"${LIBPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
+ if [ -n "`use multilib`" -a "${ARCH}" = "amd64" ]
+ then
+ # amd64 is a bit unique because of multilib. Add some other paths
+ echo "LDPATH=\"${LIBPATH}:${LIBPATH}/32:${LIBPATH}/../lib64:${LIBPATH}/../lib32\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
+ else
+ echo "LDPATH=\"${LIBPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
+ fi
echo "MANPATH=\"${DATAPATH}/man\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
echo "INFOPATH=\"${DATAPATH}/info\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
echo "STDCXX_INCDIR=\"${STDCXX_INCDIR##*/}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${MY_PV_FULL}
@@ -518,6 +544,16 @@ src_install() {
# Fix ncurses b0rking
find ${D}/ -name '*curses.h' -exec rm -f {} \;
+
+ if [ -n "`use multilib`" -a "$ARCH" = "amd64" ]
+ then
+ # If using multilib, GCC has a bug, where it doesn't know where to find
+ # -lgcc_s when linking while compiling with g++ . ${LIBPATH} is in
+ # it's path though, so ln the 64bit and 32bit versions of -lgcc_s
+ # to that directory.
+ ln -sf ${LIBPATH}/../lib64/libgcc_s.so ${D}/${LIBPATH}/libgcc_s.so
+ ln -sf ${LIBPATH}/../lib32/libgcc_s_32.so ${D}/${LIBPATH}/libgcc_s_32.so
+ fi
}
pkg_preinst() {
@@ -529,14 +565,25 @@ pkg_preinst() {
# Make again sure that the linker "should" be able to locate
# libstdc++.so ...
- export LD_LIBRARY_PATH="${LIBPATH}:${LD_LIBRARY_PATH}"
+ if [ -n "`use multilib`" -a "${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}"
+ else
+ export LD_LIBRARY_PATH="${LIBPATH}:${LD_LIBRARY_PATH}"
+ fi
${ROOT}/sbin/ldconfig
}
pkg_postinst() {
- export LD_LIBRARY_PATH="${LIBPATH}:${LD_LIBRARY_PATH}"
-
+ if [ -n "`use multilib`" -a "${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}"
+ else
+ export LD_LIBRARY_PATH="${LIBPATH}:${LD_LIBRARY_PATH}"
+ fi
if [ "${ROOT}" = "/" -a "${COMPILER}" = "gcc3" -a "${CHOST}" = "${CCHOST}" ]
then
gcc-config --use-portage-chost ${CCHOST}-${MY_PV_FULL}