1 |
I did create some ebuilds of my own because the sys-devel/gcc-apple and |
2 |
sys-devel/binutils-apple are very specifically for use with Gentoo Prefix on |
3 |
OS X. They are just not what I call ready yet because they rely upon |
4 |
EXTRA_ECONF to get the --target triple. |
5 |
|
6 |
Project is here: https://github.com/tatsh/xchain |
7 |
|
8 |
Complete (arm targetting iOS, i686 and x86_64 targeting OS X): |
9 |
- Build Apple's cctools but only with older ld64; equivalent to binutils and |
10 |
100% not the GNU versions |
11 |
- Build Apple's GCC but only with precompiled libstdcxx and Libc |
12 |
- Build Apple's LLVM and LLVM-GCC but again with precompiled libs |
13 |
|
14 |
The main issues are: |
15 |
- How to get the developer libraries from Apple (restricted source, have |
16 |
user get the DMG and put it in /usr/distfiles, extract DMG reliably) |
17 |
- If we do this, there's not much point to compiling Libc or libstdcxx |
18 |
since it's included with this |
19 |
- How to build Apple's Libc |
20 |
http://www.opensource.apple.com/source/Libc/Libc-763.12/ (mainly for |
21 |
testing) |
22 |
- How to build Apple's libstdcxx |
23 |
http://opensource.apple.com/source/libstdcxx/libstdcxx-52/ (mainly for |
24 |
testing) |
25 |
- Build latest ld64 from Apple (currently I am using a patched older |
26 |
version); everything in this toolchain at this point must link with ld64 and |
27 |
not what Apple calls 'classic ld' |
28 |
|
29 |
The patch for Apple's version of binutils (same package as |
30 |
sys-devel/binutils-apple) that I made is quite large and may not be entirely |
31 |
necessary (it patches back in what they used to have, autotools). However |
32 |
Apple developers rely upon OS X's nearly automatic memset'ing which is why |
33 |
somes patches are definitely necessary (or compiling stage will get |
34 |
segfaults). |
35 |
|
36 |
I am maintaining an overlay https://github.com/tatsh/tatsh-overlay. What I |
37 |
am planning to do is just add separate ebuilds for each target since only |
38 |
these are supported: i686, x86_64, arm (armv6, armv7 but I don't know how to |
39 |
differentiate these yet; default is armv6), and maybe powerpc and powerpc64. |
40 |
|
41 |
Andrew |
42 |
|
43 |
On Thursday, 13 October 2011, Mike Frysinger wrote: |
44 |
|
45 |
> On Wednesday 07 September 2011 02:40:05 Andrew Udvare wrote: |
46 |
> > Most sources come from http://opensource.apple.com just like the |
47 |
> > sys-devel/binutils-apple and sys-devel/gcc-apple packages. The version |
48 |
> > of cctools in the project is patched heavily (mainly due to missing |
49 |
> > headers, which we can distribute). One source is derived from |
50 |
> > iphone-dev's version of odcctools, but only for one part of it (ld64). |
51 |
> > It is not the same and needed fixing to compile with GCC 4.5.3. I plan |
52 |
> > to fix the up-to-date ld64 regardless. |
53 |
> |
54 |
> so you have more ebuilds to add to the tree ? or something else ? |
55 |
> |
56 |
> > I'd like to reach the point of being able to type (perhaps with |
57 |
> > prerequisite work done by me like copying the SDK) `crossdev -t |
58 |
> > arm-apple-darwin` and `crossdev -t arm-apple-darwinX` (where X is 9, |
59 |
> > 10, 11). |
60 |
> |
61 |
> i think i'm going to have to open up crossdev to sucking down from overlays |
62 |
> via layman. there's an open request for better msp430 support, and that |
63 |
> requires hacks to some packages. |
64 |
> -mike |
65 |
> |