Fedora and Cross Compiling

Andy Green andy at warmcat.com
Wed Jun 13 07:14:14 UTC 2007


Ralf Corsepius wrote:
> On Wed, 2007-06-13 at 00:25 -0600, Brendan Conoboy wrote:
>> David Woodhouse wrote:
>>> Do we _actually_ need to build parts of glibc? Could we not get away
>>> with a fake DSO which just provides the few symbols libgcc uses?
>> [snip]
>>
>> Will follow up on this part tomorrow.  I disfavor faking it, as it were.
>>
>>> Binutils at least should be relatively easy. Here's a patch against
>>> binutils/F-7 which lets me:
>>>   make DIST_DEFINES='--define "binutils_target i686-linux-gnu"' ppc
>>>
>>> Even for this we have build system questions... how best to build it for
>>> each target architecture we want?
>> Generally, I think Hans and the rest at 
>> http://fedoraproject.org/wiki/SIGs/Embedded have the right idea here. 
>> Prefixing the target name to the package is a good plan for most 
>> crosses.  More fully, I see 3 options:
>>
>> 1.  One srpm to rule them all.  This seems like a bad idea as it doesn't 
>> scale.
> Right, it doesn't. You'd end up with a monsterous spec cluttered with
> cases and many (unused) patches, because different vendors apply
> different patch sets.

Yet if you can put the clutter issue aside, this is definitely the Holy
Grail.  The spec file is the single point at which the uncontrolled
variance of the raw tarballs are smoothed into a normalized Fedora package.

Having multiple specs is going to lead to duplication of information and
loss of coherence when changes are made.

How about... a single Holy Spec, exactly what Fedora has right now, but
which gets dynamically pre-patched if there is stuff needed for cross on
a particular package that can't be hidden in the rpmmacros?  The set of
arch spec patches lives in the SRPM like the other patches.  This:

 - keeps a single Fedora basic spec
 - allows non-cross folks to totally ignore the existence of cross if
they like
 - allows maintainability
 - visibility of what is done for per-arch cross

-Andy




More information about the fedora-devel-list mailing list