Go to the first, previous, next, last section, table of contents.


Getting the Canonical System Type

The following macros make the system type available to configure scripts.

The variables `build_alias', `host_alias', and `target_alias' are always exactly the arguments of @option{--build}, @option{--host}, and @option{--target}; in particular, they are left empty if the user did not use them, even if the corresponding AC_CANONICAL macro was run. Any configure script may use these variables anywhere. These are the variables that should be used when in interaction with the user.

If you need to recognize some special environments based on their system type, run the following macros to get canonical system names. These variables are not set before the macro call.

If you use these macros, you must distribute config.guess and config.sub along with your source code. See section Outputting Files, for information about the AC_CONFIG_AUX_DIR macro which you can use to control in which directory configure looks for those scripts.

Macro: AC_CANONICAL_BUILD
Compute the canonical build-system type variable, build, and its three individual parts build_cpu, build_vendor, and build_os.

If @option{--build} was specified, then build is the canonicalization of build_alias by @command{config.sub}, otherwise it is determined by the shell script config.guess.

Macro: AC_CANONICAL_HOST
Compute the canonical host-system type variable, host, and its three individual parts host_cpu, host_vendor, and host_os.

If @option{--host} was specified, then host is the canonicalization of host_alias by @command{config.sub}, otherwise it defaults to build.

For temporary backward-compatibility, when @option{--host} is specified by @option{--build} isn't, the build system will be assumed to be the same as @option{--host}, and `build_alias' will be set to that value. Eventually, this historically incorrect behavior will go away.

Macro: AC_CANONICAL_TARGET
Compute the canonical target-system type variable, target, and its three individual parts target_cpu, target_vendor, and target_os.

If @option{--target} was specified, then target is the canonicalization of target_alias by @command{config.sub}, otherwise it defaults to host.


Go to the first, previous, next, last section, table of contents.