Node:Specifying Names, Next:Canonicalizing, Up:Manual Configuration
Like other GNU configure scripts, Autoconf-generated
configure scripts can make decisions based on a canonical name
for the system type, which has the form:
cpu-vendor-os, where os can be
system or kernel-system
configure can usually guess the canonical name for the type of
system it's running on. To do so it runs a script called
config.guess, which infers the name using the uname
command or symbols predefined by the C preprocessor.
Alternately, the user can specify the system type with command line
arguments to configure. Doing so is necessary when
cross-compiling. In the most complex case of cross-compiling, three
system types are involved. The options to specify them are:
--build=build-type
config.guess.
--host=host-type
--target=target-type
If you mean to override the result of config.guess, use
--build, not --host, since the latter enables
cross-compilation. For historical reasons, passing --host also
changes the build type. Therefore, whenever you specify --host,
be sure to specify --build too. This will be fixed in the
future.
./configure --build=i686-pc-linux-gnu --host=m68k-coff
will enter cross-compilation mode, but configure will fail if it
can't run the code generated by the specified compiler if you configure
as follows:
./configure CC=m68k-coff-gcc
configure recognizes short aliases for many system types; for
example, decstation can be used instead of
mips-dec-ultrix4.2. configure runs a script called
config.sub to canonicalize system type aliases.
This section deliberately omits the description of the obsolete interface, see Hosts and Cross-Compilation.