类似与其它GNU configure脚本,Autoconf生成的configure脚本可以根据系统类型的规范名 (canonical name)做出决定,该规范系统名的形式为:

cpu-company-system
configure通常可以猜测出它正在运行的系统类型的规范名。为此,它运行一个称为config.guess 的脚本,该脚本使用uname或者预定义的C预处理器符号来推断系统类型的规范名。

另外,用户可以通过给configure传递命令行参数而指定系统类型。在交叉编译时必须这样作。 在大多数交叉编译的复杂情况下,要涉及到三种系统类型。用于指定它们的选项是:

–build=build-type
对包进行配置和编译的系统类型(很少用到);
–host=host-type
包将运行的系统类型;
–target=target-type
包中任何编译器工具将生成的代码的系统类型。
如果用户给configure一个非选项参数,如果用户没有显式地用选项指明,它就作为缺省情况表示主机类型、 目标类型和创建系统类型。如果给出了主机类型而没有给出目标类型和创建类型,目标类型和创建类型就被设置为主机类型。 如果你正在交叉编译,你仍然必须在configure的命令行中给出你使用的交叉工具(cross-tools)的名称, 特别是C编译器。例如,

CC=m68k-coff-gcc configure –target=m68k-coff
configure能够识别许多系统类型的短别名;例如,可以在命令行中给出decstation'而不是mips-dec-ultrix4.2’。configure运行一个被称为config.sub的脚本以使 系统类型别名规范化。