26.4.4 Build and Host Options
When you run `configure' for a Canadian Cross, you must use both
the `--build' and `--host' options. The `--build'
option is used to specify the configuration name of the build system.
This can normally be the result of running the `config.guess' shell
script, and when using a Unix shell it is reasonable to use
`--build=`config.guess`'. The `--host' option is used to
specify the configuration name of the host system.
As we explained earlier, `config.guess' is used to set the default
value for the `--host' option (see section 26.3 Using the Target Type). We
can now see that since `config.guess' returns the type of system on
which it is run, it really identifies the build system. Since the host
system is normally the same as the build system (or, in other words,
people do not normally build using a cross compiler), it is reasonable
to use the result of `config.guess' as the default for the host
system when the `--host' option is not used.
It might seem that if the `--host' option were used without the
`--build' option that the `configure' script could run
`config.guess' to determine the build system, and presume a
Canadian Cross if the result of `config.guess' differed from the
`--host' option. However, for historical reasons, some configure
scripts are routinely run using an explicit `--host' option,
rather than using the default from `config.guess'. As noted
earlier, it is difficult or impossible to reliably compare configuration
names (see section 26.3 Using the Target Type). Therefore, by convention, if the
`--host' option is used, but the `--build' option is not
used, then the build system defaults to the host system. (This
convention may be changing in the Autoconf 2.5 release. Check the