GCC and Sourceware src (== Cygnus)'s top-level configure always passes
--build, --host and --target down to sub-directories. Therefore, we
must not assume that, just because --host is given, we're cross
compiling.
Comparing build with host and deciding for cross compilation if they
differ might be reasonable, but it still breaks backward
compatibility, and some Cygnus folks have complained about having to
modify lots of scripts to accomodate this change.
After much thought, I've come up with the following proposal:
If only one of --build, --host and TRIPLET is specified, use it for
host and build, and assume not cross-compiling.
If at least two of --build, --host and TRIPLET are specified, assume
cross compilation if they differ. TRIPLET would be used as the
default for either --host or --build, whichever was not specified.
TRIPLET, if specified, would also be used as the default for target,
unless --target is specified. If all of --build, --host, --target and
TRIPLET are specified, issue an error (warning?) message indicating
that TRIPLET is useless.
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me