[fedora-arm] Cross-Compilers for ARM

Manas Saksena msaksena at marvell.com
Tue Jul 17 22:34:31 UTC 2007


Clark Williams wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Manas Saksena wrote:
>  > DJ Delorie wrote:
>  >>
>  >>  > If you punt on bootstrapping
>  >>
>  >> Keep in mind that our group specializes in cross compiling, so
>  >> bootstrapping is not something we usually punt ;-)
>  >
>  > What I meant was that you dont have to use the same SRPMs to do
>  > the initial bootstrap. That makes your SRPMs a bit-cleaner and
>  > they dont have to be cluttered with "bootstrap" special case.
>  >
>  > And, once you have built your initial toolchain, you can use
>  > that to bootstrap subsequent builds. Only occasionally, you
>  > have to and do a full bootstrap all over again.
>  >
>  > Regards,
>  > Manas
>  >
> 
> I see a difference in philosophy developing already :)

I actually agree with your philosophy. And, have lived that life in my
past job, where we built everything from scratch in a known controlled
environment.

But, I am also trying to balance that with the goal of having a large
(if not all) part of fedora built for ARM, staying synchronized with
the Fedora package base, and having native toolchains etc.

> In general we bootstrap all the time, since we're trying to ensure that 
> all the
> pieces work together. Either that or we're incredibly pedantic. Probably 
> both...
> 
> The advantage of bootstrapping every time is that you know all the parts 
> were built
> with the same set of assumptions. It's not nearly as bad as 
> bootstrapping a native,
> since you don't have the stageN steps to manage.
> 
> For my part, I see much more potential for configuration problems with 
> trying to
> mix-n-match the set of arm-linux-gcc, arm-linux-binutils, 
> arm-linux-glibc and
> potentially arm-linux-gdb packages, than just bootstrapping everything 
> into one
> arm-linux-crosstools package.

But, surely, you could have a bootstrap build script that builds a
bootstrap gcc and then builds the rest of the toolchain srpms. And,
then you have a fully controlled build environment that can track
the native fedora versions quite well.

> To be fair, I suppose your counter is that my approach would make it 
> harder to track
> the fedora tools. Hmmmm, I'll have to think about that.

Yes, unfortunately. I believe that if you are building any reasonable
subset of Fedora natively, you simply cant do a fully automated
bootstrap due to circular dependencies etc. OTOH, when you cross-build,
you can probably get along further.

So, my thinking is that as we bring in the cross-build capability
incrementally, we dont unnecessarily fork packages from the main fedora
base. Otherwise, you end up with a different distro/toolset, of which
there are plenty of them.

What I would also like is to make sure that whatever we do, we dont take
the full build from scratch/bootstrap option away. So, for e.g., if
someone wants to build the toolchain and a set of packages completely in
a cross-build environment, they should be able to build the whole thing
from scratch. I am assuming that if we have that, then that would serve
your needs. And, I know that there will be cases where we would want to
do that as well.

And, maybe one day we would be able to build the entire distro in a
fully automated, built from scratch manner as well.

Regards,
Manas




More information about the fedora-arm mailing list