Fedora and Cross Compiling
Andy Green
andy at warmcat.com
Wed Jun 13 07:25:57 UTC 2007
Hans de Goede wrote:
> Andy Green wrote:
>> 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
>>
>
> One single spec might be an idea for Fedora-Fedora cross packages, but
> it is not the answer for Fedora-Other (Embedded) OS target.
>
> For example the gp2x sdk uses binutils 2.16.1 and glibc 2.3.5, so I
> don't think stuffing this into the main Fedora binutils and glibc specs
> is a good idea.
Maybe I didn't make my actual point clear in that (or maybe I don't get
your objection)... the idea is you maintain a patch against the existing
Fedora spec file for any package and arch that needs meddling with. So
there is one spec file same as right now - unchanged - but you have
additional per-arch pre-patches in the SRPM as well for cross cases that
need them. Non-cross people who don't go look at the patches aren't
even aware anything has changed let alone see things "stuffed" or
"cluttered".
-Andy
More information about the devel
mailing list