diff options
author | 2003-10-18 19:24:46 +0000 | |
---|---|---|
committer | 2003-10-18 19:24:46 +0000 | |
commit | ab01d8b46f73d00ba5a9b32d8d084aa3ace2330b (patch) | |
tree | 664c097ae00df61adfbd00f72f5c83b4756e588b /sys-devel/gcc | |
parent | cleanup (diff) | |
download | historical-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/ChangeLog | 5 | ||||
-rw-r--r-- | sys-devel/gcc/Manifest | 5 | ||||
-rw-r--r-- | sys-devel/gcc/files/gcc331_use_multilib.amd64.patch | 11 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-3.3.1-r5.ebuild | 65 |
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} |