[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Release Aug 28
Re: Release Aug 28
Fri, 3 Sep 2004 18:22:49 +0100 (BST)
> At least we seem to agree on a few things. To cross compile GNUstep
> from i686-linux to arm-linux, for example, you need to first get a
> GNUstep make usable on the i686 machine (You also need a crosscompiled
> one, which will later be copied to the other machine, but on this see
> below). And now we also agree that for building base (and other GNUstep
> modules) you need to set --host and not just --target. If we keep on
> making progress like this, we will sooner or later get cross compilation
> working. :-)
> You suggest to build make by specifing:
> ./configure --build=ix86-linux --host=ix86-linux --target=arm-linux
> This results in the ix86 executables to be installed in the directory
> System/Makefiles/arm/linux-gnu/. Not sure if this is the intended
> behaviour, but this surely removes the need to change common.make. Here
> I wanted to change the path for which_lib from HOST to BUILD, otherwise
> an unusable executable would be found. But now with an ix86 executable
> in the ARM directory things work.
Thanks - your explanation is quite good here - in fact having now looked
at the code, I think it's quite easy to see what is happening:
In GNUstep.sh.in, we have -
which is setting GNUSTEP_HOST to the argument of the --target configure
flag of gnustep-make.
I think we agree that that is wrong (let me know if not, so we discuss
that issue first).
Because of this wrong assignment of GNUSTEP_HOST to the --target,
GNUSTEP_HOST ends up being arm instead of being ix86 ... which doesn't
make sense, does it ?
Then of course the executable for ix86 ends up in the arm directory, which
is non-sensical, and stuff stops working.
I'd like to change it so that GNUSTEP_HOST is set to the --host flag of
configure. Presumably people didn't notice this bug because they were
always using the same --host/--target ?
Anyone has an explanation of why GNUSTEP_HOST is set to the --target
rather than the --host ? It doens't seem to make that much sense, just
think that if multi-platform is enabled, GNUstep.sh will set GNUSTEP_HOST
to whatever machine it's running on (not to whatever machine it's
compiling for, that's definitely the target set of variables). I might
have introduced this confusion myself in the past, probably just
reproducing some existing confusion.
Anyway I think that's wrong, and should be fixed.
But I'm a bit conscious we might we breaking cross-compiling scripts or
existing setups big time with this change, so while it looks like we want
to make it then update any documentation if we might have where different
flags in the doc, probably this should be postponed to after the release.
Any comments ?
Thanks for your time, very good comments, apologies if I sounded unfair,
hopefully we're at least getting somewhere with this discussion, which is
what really matters :-)