Manas Saksena wrote:
Okay, this is essentially how cross-tool or codesourcery would build
their cross-toolchain? The scripts are different, but the idea is same.
Or, am I missing something?
It's essentially the same sort of solution. We wrote eBuild-Linux
before cross-tool was out there (And it's grown as glibc has grown).
Our goal with this project is to actually leverage fedora. In other
words, here are things I would like to be able to achieve...
Oh definitely, this is just a starting point. FWIW, gnupro-07r1 is
based on gcc 4.2.latest, binutils 2.17.latest and gdb 6.6.latest. This
isn't exactly Fedora 7 and it's not exactly Fedora 8, but it's really
1. The cross-compiler is "equivalent" to the native
if I mix cross-built packages with native built packages, it should
all just work.
Sure- just to quickly rehash my goals for Fedora:
I'd like to see $TARGET-binutils and $TARGET-gcc as standard Fedora
packages. For the purpose of this list, TARGET=arm-linux-gnueabi (Or
some variation thereof), but what I'm ultimately after is to have as
many packages as possible be cross-friendly. These cross-binutils/gcc
packages *should* be based directly on the native binutils/gcc packages.
There's already what is needed for binutils. With gcc, more work is
needed to split the target libraries from the compiler itself. Once
that is done, gcc should be relatively easy (No chicken/egg problem).
In crosstopia, there is a complete mesh of cross compilers for every
Fedora architecture. Whenever there is a package to be built, whether
it's for i686, arm, s390, powerpc, any host can compile it for any
target. This requires the cross compilers, some enhancements to rpm,
and some enhancements to Koji. It's all technically feasible, though.
There was an extensive discussion on fedora-devel-list about this. You
can catch the beginning of the thread here:
Also Lennert's hijacked thread :-)
2. When doing cross-building of packages and root file systems, we
should be using the Fedora packages. This is not a problem that the
cross-compiler needs to address (except for glibc), but we need to
deal with it in the next step (i.e., building packages).
Could you explain how you leverage Fedora in your approach, or is that
not something you particularly care about?
That's part 2 :-) We have an in-house build system called rpmbuildroot
that uses mock and GNUPro to cross-build Fedora packages. We make some
changes to the Fedora packages so they can cross build (Plus whatever is
necessary architecture-wise). Sometime soon we hope to release the
rpmbuildroot environment so people have access to the patches and can
try out a different system.
Brendan Conoboy / Red Hat, Inc. / blc(a)redhat.com