Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 474748 | Differences between
and this patch

Collapse All | Expand All

(-)a/sys-devel/binutils-apple/binutils-apple-4.5.ebuild (-12 / +37 lines)
Lines 8-17 inherit eutils flag-o-matic toolchain-funcs Link Here
8
8
9
RESTRICT="test" # the test suite will test what's installed.
9
RESTRICT="test" # the test suite will test what's installed.
10
10
11
LD64=ld64-128.2
11
LD64=ld64-136
12
CCTOOLS=cctools-822
12
CCTOOLS=cctools-839
13
LIBUNWIND=libunwind-30
13
# CCTOOLS=cctools-845
14
DYLD=dyld-195.6
14
LIBUNWIND=libunwind-35.3
15
DYLD=dyld-239.3
16
LIBC=Libc-997.1.1
15
# http://lists.apple.com/archives/Darwin-dev/2009/Sep/msg00025.html
17
# http://lists.apple.com/archives/Darwin-dev/2009/Sep/msg00025.html
16
UNWIND=binutils-apple-3.2-unwind-patches-5
18
UNWIND=binutils-apple-3.2-unwind-patches-5
17
19
Lines 21-26 SRC_URI="http://www.opensource.apple.com/tarballs/ld64/${LD64}.tar.gz Link Here
21
	http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
23
	http://www.opensource.apple.com/tarballs/cctools/${CCTOOLS}.tar.gz
22
	http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
24
	http://www.opensource.apple.com/tarballs/libunwind/${LIBUNWIND}.tar.gz
23
	http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
25
	http://www.opensource.apple.com/tarballs/dyld/${DYLD}.tar.gz
26
    http://www.opensource.apple.com/tarballs/Libc/${LIBC}.tar.gz
24
	http://www.gentoo.org/~grobian/distfiles/${UNWIND}.tar.xz
27
	http://www.gentoo.org/~grobian/distfiles/${UNWIND}.tar.xz
25
	http://www.gentoo.org/~grobian/distfiles/libunwind-llvm-115426.tar.bz2"
28
	http://www.gentoo.org/~grobian/distfiles/libunwind-llvm-115426.tar.bz2"
26
29
Lines 64-72 src_prepare() { Link Here
64
	cp "${FILESDIR}"/${LIBUNWIND}-Makefile Makefile
67
	cp "${FILESDIR}"/${LIBUNWIND}-Makefile Makefile
65
68
66
	cd "${S}"/${LD64}/src
69
	cd "${S}"/${LD64}/src
67
	cp "${FILESDIR}"/ld64-128.2-Makefile Makefile
70
	cp "${FILESDIR}"/${LD64}-compile_stubs.h ld/compile_stubs.h
68
	epatch "${FILESDIR}"/ld64-127.2-lto.patch
71
	cp "${FILESDIR}"/${LD64}-Makefile Makefile
69
	epatch "${FILESDIR}"/ld64-128.2-stdlib.patch
72
73
	# epatch "${FILESDIR}"/ld64-136-options.patch
74
	epatch "${FILESDIR}"/ld64-136-lto.patch
75
	if use prefix; then
76
		epatch "${FILESDIR}"/ld64-136-librarypath.patch
77
		sed -i -e 's!EPREFIX!'${EPREFIX}'!' ld/Options.cpp || die
78
	fi
70
79
71
	ln -s ../../${CCTOOLS}/include
80
	ln -s ../../${CCTOOLS}/include
72
	cp other/prune_trie.h include/mach-o/ || die
81
	cp other/prune_trie.h include/mach-o/ || die
Lines 89-108 src_prepare() { Link Here
89
	local VER_STR="\"@(#)PROGRAM:ld  PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
98
	local VER_STR="\"@(#)PROGRAM:ld  PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\""
90
	echo "char ldVersionString[] = ${VER_STR};" > version.cpp
99
	echo "char ldVersionString[] = ${VER_STR};" > version.cpp
91
100
92
	epatch "${FILESDIR}"/ld64-123.2-debug-backtrace.patch
101
	# epatch "${FILESDIR}"/ld64-123.2-debug-backtrace.patch
93
	if use !lto ; then
102
	if use !lto ; then
94
		sed -i -e '/#define LTO_SUPPORT 1/d' other/ObjectDump.cpp || die
103
		sed -i -e '/#define LTO_SUPPORT 1/d' other/ObjectDump.cpp || die
95
	fi
104
	fi
96
105
97
	cd "${S}"/${CCTOOLS}
106
	cd "${S}"/${CCTOOLS}
98
	epatch "${FILESDIR}"/${PN}-4.0-as.patch
107
	epatch "${FILESDIR}"/${PN}-4.0-as.patch
99
	epatch "${FILESDIR}"/${PN}-4.2-as-dir.patch
108
	# doesn't apply epatch "${FILESDIR}"/${PN}-4.2-as-dir.patch
100
	epatch "${FILESDIR}"/${PN}-3.2.3-ranlib.patch
109
	epatch "${FILESDIR}"/${PN}-3.2.3-ranlib.patch
101
	epatch "${FILESDIR}"/${PN}-3.1.1-libtool-ranlib.patch
110
	epatch "${FILESDIR}"/${PN}-3.1.1-libtool-ranlib.patch
102
	epatch "${FILESDIR}"/${PN}-3.1.1-nmedit.patch
103
	epatch "${FILESDIR}"/${PN}-3.1.1-no-headers.patch
111
	epatch "${FILESDIR}"/${PN}-3.1.1-no-headers.patch
104
	epatch "${FILESDIR}"/${PN}-4.0-no-oss-dir.patch
112
	epatch "${FILESDIR}"/${PN}-4.0-no-oss-dir.patch
105
	epatch "${FILESDIR}"/${PN}-4.2-lto.patch
113
	epatch "${FILESDIR}"/${CCTOOLS}-lto.patch
106
114
107
	local program
115
	local program
108
	for program in ar efitools gprof libmacho misc otool ; do
116
	for program in ar efitools gprof libmacho misc otool ; do
Lines 168-173 src_prepare() { Link Here
168
}
176
}
169
177
170
src_configure() {
178
src_configure() {
179
    CC=clang
180
    CXX=clang++
171
	tc-export CC CXX AR
181
	tc-export CC CXX AR
172
	if use lto ; then
182
	if use lto ; then
173
		append-cppflags -DLTO_SUPPORT
183
		append-cppflags -DLTO_SUPPORT
Lines 178-192 src_configure() { Link Here
178
		append-cppflags -ULTO_SUPPORT
188
		append-cppflags -ULTO_SUPPORT
179
		LTO=0
189
		LTO=0
180
	fi
190
	fi
191
	append-cflags -mmacosx-version-min=10.6
192
	append-cflags -stdlib=libc++
193
	append-cppflags -mmacosx-version-min=10.6
194
	# append-cppflags -D'ALL_SUPPORTED_ARCHS="i386 x86_64"'
195
	append-cppflags -DSUPPORT_ARCH_i386=1
196
	append-cppflags -DSUPPORT_ARCH_x86_64=1
197
	append-cppflags -stdlib=libc++
181
	append-cppflags -DNDEBUG
198
	append-cppflags -DNDEBUG
182
	append-cppflags -I${WORKDIR}/libunwind/include
199
	append-cppflags -I${WORKDIR}/libunwind/include
200
201
	append-ldflags  -mmacosx-version-min=10.6
202
	append-ldflags  -stdlib=libc++
183
}
203
}
184
204
185
compile_libunwind() {
205
compile_libunwind() {
186
	# not used, just for testing, and possible use in the future
206
	# not used, just for testing, and possible use in the future
187
	einfo "building ${LIBUNWIND}"
207
	einfo "building ${LIBUNWIND}"
188
	cd "${S}"/${LIBUNWIND}/src
208
	cd "${S}"/${LIBUNWIND}/src
189
	emake DYLDINCS=-I../../${DYLD}/include || die
209
	# emake DYLDINCS=-I../../${DYLD}/include || die
190
}
210
}
191
211
192
compile_ld64() {
212
compile_ld64() {
Lines 259-264 install_cctools() { Link Here
259
		LIBDIR=\"${EPREFIX}\"${LIBPATH} \
279
		LIBDIR=\"${EPREFIX}\"${LIBPATH} \
260
		LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
280
		LOCLIBDIR=\"${EPREFIX}\"${LIBPATH}
261
281
282
283
	mkdir -p ${ED}/usr/${CTARGET}/binutils-bin/libexec
284
	ln -s ${ED}/usr/lib/binutils/${CTARGET}/${PV} ${ED}/usr/${CTARGET}/binutils-bin/libexec/as
285
286
262
	cd "${ED}"${BINPATH}
287
	cd "${ED}"${BINPATH}
263
	insinto ${DATAPATH}/man/man1
288
	insinto ${DATAPATH}/man/man1
264
	local skips manpage
289
	local skips manpage

Return to bug 474748