summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2009-09-12 13:03:29 +0000
committerFabian Groffen <grobian@gentoo.org>2009-09-12 13:03:29 +0000
commit3147b288e78769d47fa89a801e3b95032c1778bd (patch)
treee5f4979a5ee37136c8c970989cfd6957f8e307aa /sys-devel
parentRemove old ebuild with built_with_use call. (diff)
downloadhistorical-3147b288e78769d47fa89a801e3b95032c1778bd.tar.gz
historical-3147b288e78769d47fa89a801e3b95032c1778bd.tar.bz2
historical-3147b288e78769d47fa89a801e3b95032c1778bd.zip
Since we cannot build ld64, but *can* build new cctools, build the ld64 from 3.1.2 with the new cctools. Hopefully the new cctools fixes problems with Snow Leopard host provided objects and 64-bits awareness
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/binutils-apple/ChangeLog8
-rw-r--r--sys-devel/binutils-apple/binutils-apple-3.2.ebuild35
-rw-r--r--sys-devel/binutils-apple/files/binutils-apple-3.2-armv7-defines.patch10
3 files changed, 39 insertions, 14 deletions
diff --git a/sys-devel/binutils-apple/ChangeLog b/sys-devel/binutils-apple/ChangeLog
index 0b81c0af3950..d946a9926b5c 100644
--- a/sys-devel/binutils-apple/ChangeLog
+++ b/sys-devel/binutils-apple/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-devel/binutils-apple
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-apple/ChangeLog,v 1.2 2009/09/05 17:22:41 grobian Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-apple/ChangeLog,v 1.3 2009/09/12 13:03:29 grobian Exp $
+
+ 12 Sep 2009; Fabian Groffen <grobian@gentoo.org>
+ binutils-apple-3.2.ebuild, +files/binutils-apple-3.2-armv7-defines.patch:
+ Since we cannot build ld64, but *can* build new cctools, build the ld64
+ from 3.1.2 with the new cctools. Hopefully the new cctools fixes problems
+ with Snow Leopard host provided objects and 64-bits awareness
*binutils-apple-3.2 (05 Sep 2009)
diff --git a/sys-devel/binutils-apple/binutils-apple-3.2.ebuild b/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
index a028b7149a19..ee0d8d549362 100644
--- a/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-3.2.ebuild
@@ -1,12 +1,13 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-apple/binutils-apple-3.2.ebuild,v 1.1 2009/09/05 17:22:41 grobian Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-apple/binutils-apple-3.2.ebuild,v 1.2 2009/09/12 13:03:29 grobian Exp $
inherit eutils flag-o-matic toolchain-funcs
RESTRICT="test" # the test suite will test what's installed.
-LD64=ld64-95.2.12
+# LD64=ld64-95.2.12 # can't compile this one, missing libunwind/* includes
+LD64=ld64-85.2.1 # from 3.1.2
CCTOOLS=cctools-750
LP64PATCHES=binutils-apple-LP64-patches-1
@@ -51,17 +52,21 @@ fi
S=${WORKDIR}
unpack_ld64() {
- cd "${S}"/${LD64}
- cp "${FILESDIR}"/${P}-ld64-Makefile Makefile
- ln -s ../${CCTOOLS}/include
+ cd "${S}"/${LD64}/src
+ cp "${FILESDIR}"/Makefile .
+# cd "${S}"/${LD64}
+# cp "${FILESDIR}"/${P}-ld64-Makefile .
+# ln -s ../${CCTOOLS}/include
# todo: copy compact_unwind_encoding.h
+# cp "${FILESDIR}"/compact_unwind_encoding.h include/mach-o/
- cd src
+# cd src
local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
sed -i \
-e '/^#define LTO_SUPPORT 1/s:1:0:' \
- other/ObjectDump.cpp || die
+ ObjectDump.cpp || die
+# other/ObjectDump.cpp || die
echo '#undef LTO_SUPPORT' > configure.h
echo '' > linker_opts
echo "char ldVersionString[] = ${VER_STR};" > version.cpp
@@ -98,8 +103,8 @@ src_unpack() {
unpack_ld64
# needed to compile trie support
- cp "${S}"/${LD64}/src/other/prune_trie.h \
- "${S}"/${CCTOOLS}/include/mach-o
+# cp "${S}"/${LD64}/src/other/prune_trie.h \
+# "${S}"/${CCTOOLS}/include/mach-o
cd "${S}"/${CCTOOLS}
epatch "${FILESDIR}"/${PN}-3.1.1-as.patch
@@ -107,14 +112,14 @@ src_unpack() {
epatch "${FILESDIR}"/${PN}-3.1.1-ranlib.patch
epatch "${FILESDIR}"/${PN}-3.1.1-libtool-ranlib.patch
epatch "${FILESDIR}"/${PN}-3.1.1-nmedit.patch
- #epatch "${FILESDIR}"/${PN}-3.1.1-no-efi-man.patch
epatch "${FILESDIR}"/${PN}-3.1.1-no-headers.patch
epatch "${FILESDIR}"/${PN}-3.1.1-no-oss-dir.patch
- #epatch "${FILESDIR}"/${PN}-3.1.2-as-Makefile.patch
+ epatch "${FILESDIR}"/${P}-armv7-defines.patch
# epatch "${WORKDIR}"/LP64/cctools/*.patch
+
cd "${S}"/${LD64}
epatch "${FILESDIR}"/${PN}-3.1.1-testsuite.patch
-# epatch "${WORKDIR}"/LP64/ld64/*.patch
+ epatch "${WORKDIR}"/LP64/ld64/*.patch
cd "${S}"
ebegin "cleaning Makefiles from unwanted CFLAGS"
@@ -159,8 +164,10 @@ compile_cctools() {
cd "${S}"/${CCTOOLS}
emake \
LTO= \
+ TRIE= \
EFITOOLS= \
COMMON_SUBDIRS='libstuff ar misc otool' \
+ SUBDIRS_32= \
RC_CFLAGS="${CFLAGS}" OFLAG="${CFLAGS}" \
|| die "emake failed for the cctools"
cd "${S}"/${CCTOOLS}/as
@@ -171,8 +178,8 @@ compile_cctools() {
}
src_compile() {
- compile_ld64
compile_cctools
+ compile_ld64
}
install_ld64() {
@@ -190,6 +197,8 @@ install_cctools() {
emake install_all_but_headers \
EFITOOLS= \
COMMON_SUBDIRS='ar misc otool' \
+ SUBDIRS_32= \
+ RC_CFLAGS="${CFLAGS}" OFLAG="${CFLAGS}" \
DSTROOT=\"${D}\" \
BINDIR=\"${EPREFIX}\"${BINPATH} \
LOCBINDIR=\"${EPREFIX}\"${BINPATH} \
diff --git a/sys-devel/binutils-apple/files/binutils-apple-3.2-armv7-defines.patch b/sys-devel/binutils-apple/files/binutils-apple-3.2-armv7-defines.patch
new file mode 100644
index 000000000000..d89a0c19f2c6
--- /dev/null
+++ b/sys-devel/binutils-apple/files/binutils-apple-3.2-armv7-defines.patch
@@ -0,0 +1,10 @@
+--- cctools/include/mach/machine.h
++++ cctools/include/mach/machine.h
+@@ -306,6 +306,7 @@
+ #define CPU_SUBTYPE_ARM_V6 ((cpu_subtype_t) 6)
+ #define CPU_SUBTYPE_ARM_V5TEJ ((cpu_subtype_t) 7)
+ #define CPU_SUBTYPE_ARM_XSCALE ((cpu_subtype_t) 8)
++#define CPU_SUBTYPE_ARM_V7 ((cpu_subtype_t) 9)
+
+ /*
+ * MC88000 subtypes