On Mon, 2006-09-18 at 08:57 +0100, David Woodhouse wrote:
On Mon, 2006-09-18 at 09:47 +0200, Ralf Corsepius wrote:
> On Mon, 2006-09-18 at 07:58 +0100, David Woodhouse wrote:
>
> >
> > > It would be great if Fedora could be cross compiled using any host
> > > system to produce binaries for any target system, be it a supported and
> > > rare host (s390, ia64) or an entirely new target (arm, mips*).
> >
> > You'll never do that until we ban autoconf in packaging.
>
> Sigh - Will you ever stop reiterating this FUD?
> All properly packaged "single-targeted" autoconf/automake based packages
> do support cross-compilation, OTB.
Then there are few of what you call 'properly packaged single-targeted'
packages out there, because seamless support for cross-compilation has
_not_ been my experience.
Well, I'd estimate 90% of all lib* packages do work
OTB.
It's the packages' authors who ship broken configurations, because they
hard-code stupid things like run-time checks or hard-coding
compiler/system features (byte-order, type-sizes etc.).
> Few packages do support mixed native/cross compilation and even
less do
> support multi-target configurations.
>
> > Packages in _general_ won't cross-compile.
> Yes, because many packagers don't test it and because rpm doesn't
> support it.
I've spent a lot of time attempting to cross-build the distribution.
RPM actually handles it just fine -- the problems were mostly caused by
the (possibly incorrect) use of autotools in the package itself.
Well, this is NOT my experience.
RPM doesn't even get the target/host/build-tuple right for native noarch
building.
Building cross-compilers (Note: These are native apps!) is PITA, because
RPM doesn't handle foreign binaries correctly (stripping, debug info
etc. all are treated as <native>-elf).
Cross building (rpmbuild --target= ...) isn't even close to be be
functional, because rpm screws up various target/host/build platforms
setting (e.g. %rpmopt), and doesn't properly distinguish between
target/host/build and contain many hard-coded redhat specifics (We are
cross building cross-toolchain rpms to mingw, cygwin and solaris).
I agree, however, that there is nothing _fundamentally_ evil about
autotools. Autotools don't kill cross-compilation; people do. Autotools
just seem to make it easy.
Right, that's a statement I can live with.
Ralf