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 |
79 |
# epatch "${FILESDIR}"/ld64-127.2-lto.patch |
80 |
# epatch "${FILESDIR}"/ld64-128.2-stdlib.patch |
81 |
|
82 |
# TODO: hack |
83 |
# cp ../../${LIBC}/include/CrashReporterClient.h ${WORKDIR}/libunwind/include |
84 |
|
70 |
|
85 |
|
71 |
ln -s ../../${CCTOOLS}/include |
86 |
ln -s ../../${CCTOOLS}/include |
72 |
cp other/prune_trie.h include/mach-o/ || die |
87 |
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\"" |
104 |
local VER_STR="\"@(#)PROGRAM:ld PROJECT:${LD64} (Gentoo ${PN}-${PVR})\\n\"" |
90 |
echo "char ldVersionString[] = ${VER_STR};" > version.cpp |
105 |
echo "char ldVersionString[] = ${VER_STR};" > version.cpp |
91 |
|
106 |
|
92 |
epatch "${FILESDIR}"/ld64-123.2-debug-backtrace.patch |
107 |
# epatch "${FILESDIR}"/ld64-123.2-debug-backtrace.patch |
93 |
if use !lto ; then |
108 |
if use !lto ; then |
94 |
sed -i -e '/#define LTO_SUPPORT 1/d' other/ObjectDump.cpp || die |
109 |
sed -i -e '/#define LTO_SUPPORT 1/d' other/ObjectDump.cpp || die |
95 |
fi |
110 |
fi |
96 |
|
111 |
|
97 |
cd "${S}"/${CCTOOLS} |
112 |
cd "${S}"/${CCTOOLS} |
98 |
epatch "${FILESDIR}"/${PN}-4.0-as.patch |
113 |
epatch "${FILESDIR}"/${PN}-4.0-as.patch |
99 |
epatch "${FILESDIR}"/${PN}-4.2-as-dir.patch |
114 |
# doesn't apply epatch "${FILESDIR}"/${PN}-4.2-as-dir.patch |
100 |
epatch "${FILESDIR}"/${PN}-3.2.3-ranlib.patch |
115 |
epatch "${FILESDIR}"/${PN}-3.2.3-ranlib.patch |
101 |
epatch "${FILESDIR}"/${PN}-3.1.1-libtool-ranlib.patch |
116 |
epatch "${FILESDIR}"/${PN}-3.1.1-libtool-ranlib.patch |
102 |
epatch "${FILESDIR}"/${PN}-3.1.1-nmedit.patch |
117 |
# doesn't apply epatch "${FILESDIR}"/${PN}-3.1.1-nmedit.patch |
103 |
epatch "${FILESDIR}"/${PN}-3.1.1-no-headers.patch |
118 |
epatch "${FILESDIR}"/${PN}-3.1.1-no-headers.patch |
104 |
epatch "${FILESDIR}"/${PN}-4.0-no-oss-dir.patch |
119 |
epatch "${FILESDIR}"/${PN}-4.0-no-oss-dir.patch |
105 |
epatch "${FILESDIR}"/${PN}-4.2-lto.patch |
120 |
# doesn't apply epatch "${FILESDIR}"/${PN}-4.2-lto.patch |
|
|
121 |
epatch "${FILESDIR}"/${CCTOOLS}-lto.patch |
106 |
|
122 |
|
107 |
local program |
123 |
local program |
108 |
for program in ar efitools gprof libmacho misc otool ; do |
124 |
for program in ar efitools gprof libmacho misc otool ; do |
Lines 168-173
src_prepare() {
Link Here
|
168 |
} |
184 |
} |
169 |
|
185 |
|
170 |
src_configure() { |
186 |
src_configure() { |
|
|
187 |
CC=clang |
188 |
CXX=clang++ |
171 |
tc-export CC CXX AR |
189 |
tc-export CC CXX AR |
172 |
if use lto ; then |
190 |
if use lto ; then |
173 |
append-cppflags -DLTO_SUPPORT |
191 |
append-cppflags -DLTO_SUPPORT |
Lines 178-192
src_configure() {
Link Here
|
178 |
append-cppflags -ULTO_SUPPORT |
196 |
append-cppflags -ULTO_SUPPORT |
179 |
LTO=0 |
197 |
LTO=0 |
180 |
fi |
198 |
fi |
|
|
199 |
append-cflags -mmacosx-version-min=10.6 |
200 |
append-cflags -stdlib=libc++ |
201 |
append-cppflags -mmacosx-version-min=10.6 |
202 |
# append-cppflags -D'ALL_SUPPORTED_ARCHS="i386 x86_64"' |
203 |
append-cppflags -DSUPPORT_ARCH_i386=1 |
204 |
append-cppflags -DSUPPORT_ARCH_x86_64=1 |
205 |
append-cppflags -stdlib=libc++ |
181 |
append-cppflags -DNDEBUG |
206 |
append-cppflags -DNDEBUG |
182 |
append-cppflags -I${WORKDIR}/libunwind/include |
207 |
append-cppflags -I${WORKDIR}/libunwind/include |
|
|
208 |
# append-cppflags -I${WORKDIR}/${LIBC}/include |
209 |
|
210 |
append-ldflags -mmacosx-version-min=10.6 |
211 |
append-ldflags -stdlib=libc++ |
183 |
} |
212 |
} |
184 |
|
213 |
|
185 |
compile_libunwind() { |
214 |
compile_libunwind() { |
186 |
# not used, just for testing, and possible use in the future |
215 |
# not used, just for testing, and possible use in the future |
187 |
einfo "building ${LIBUNWIND}" |
216 |
einfo "building ${LIBUNWIND}" |
188 |
cd "${S}"/${LIBUNWIND}/src |
217 |
cd "${S}"/${LIBUNWIND}/src |
189 |
emake DYLDINCS=-I../../${DYLD}/include || die |
218 |
# emake DYLDINCS=-I../../${DYLD}/include || die |
190 |
} |
219 |
} |
191 |
|
220 |
|
192 |
compile_ld64() { |
221 |
compile_ld64() { |
Lines 259-264
install_cctools() {
Link Here
|
259 |
LIBDIR=\"${EPREFIX}\"${LIBPATH} \ |
288 |
LIBDIR=\"${EPREFIX}\"${LIBPATH} \ |
260 |
LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} |
289 |
LOCLIBDIR=\"${EPREFIX}\"${LIBPATH} |
261 |
|
290 |
|
|
|
291 |
|
292 |
# TODO: hack |
293 |
mkdir -p ${ED}/usr/x86_64-apple-darwin13/binutils-bin/libexec |
294 |
ln -s ${ED}/usr/lib/binutils/x86_64-apple-darwin13/4.5 ${ED}/usr/x86_64-apple-darwin13/binutils-bin/libexec/as |
295 |
|
296 |
|
262 |
cd "${ED}"${BINPATH} |
297 |
cd "${ED}"${BINPATH} |
263 |
insinto ${DATAPATH}/man/man1 |
298 |
insinto ${DATAPATH}/man/man1 |
264 |
local skips manpage |
299 |
local skips manpage |