[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