Next: , Previous: , Up: Manual Configuration   [Contents][Index]

8.3.6.2 Getting Canonical System Types in configure Scripts

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

These macros can use the arguments of --build, --host, and --target, which are available to configure scripts in the variables ‘build_alias’, ‘host_alias’, and ‘target_alias’ respectively. These are always the exact arguments given; in particular, they are left empty if the user did not use them, even if the corresponding AC_CANONICAL macro was run. These are the variables that should be used when in interaction with the user.

If you use these macros, you must distribute config.guess and config.sub along with your source code. See Autoconf output, 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 --build was specified, then build is the canonicalization of build_alias by 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 --host was specified, then host is the canonicalization of host_alias by config.sub, otherwise it defaults to build.

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 --target was specified, then target is the canonicalization of target_alias by config.sub, otherwise it defaults to host.

Note that there can be artifacts due to the backward compatibility code. See Hosts and Cross-Compilation for more.

Next: , Previous: , Up: Manual Configuration   [Contents][Index]