configure脚本创建一个名为`config.status’的文件,用它描述在包最后一次进行配置时 给出的配置选项。该文件是一个shell脚本文件,如果运行它,将重新创建相同的配置。

你可以用--recheck'选项调用config.status’以更新它自身。如果你修改了configure, 该选项是有用的,这是因为某些测试的结果可能会与上一次运行的结果不同。选项--recheck'以与从前使用的参数 相同的参数,再加上–no-create’选项以防止configure运行config.status'并创建Makefile’和其它文件,再加上--no-recursion'选项以防止configure在子目录中运行 其它的configure,来重新运行configure。(这样做是让其它的Makefile’规则可以在 `config.status’改变时运行它;关于一个例子,参见自动地重新创建)。

config.status'还接受选项–help’,它打印config.status'接受的选项的概述。 还接受选项–version’,它打印用于创建生成`config.status’的configure脚本的 Autoconf的版本号。

`config.status’检查几个能够改变它的行为的可选的环境变量:

变量: CONFIG_SHELL
用于运行带有--recheck'选项的configure的脚本。它必须是Bourne兼容的。 缺省shell是/bin/sh’。

变量: CONFIG_STATUS
为shell脚本提供的,用于记录配置的文件名。缺省的文件名是`./config.status’。该变量在一个包使用了另一个 包的一部分,并且由于两个包是分开维护的而不能把configure合成一个的时候有用。

以下的变量为分开发布的包提供了一种共享由configure计算的结果的方式。如果某些包需要它们中某个包, 可能是一个通用库,所需要的特征的超集那么这样做就是有用的。这些变量允许一个config.status'文件创建 由它的configure.in’所指明的文件之外的文件,因此它就可以被用于不同的包。

变量: CONFIG_FILES
用于执行@variable@'替换的文件。缺省的文件在configure.in’中作为参数提供给 AC_OUTPUT。

变量: CONFIG_HEADERS
用于替换C #define语句的文件。缺省的文件作为参数提供给AC_CONFIG_HEADER; 如果没有调用那个宏,`config.status’就忽略本变量。

这些变量还允许你编写只重新生成一部分文件的Makefile'规则。例如,在上面给出的依赖性之中 (参见自动地重新创建),在configure.in’发生改变时, `config.status’将运行两次。如果你对此感到厌烦,你可以使得每次运行都仅仅重新生成关于 那条规则的文件。

config.h: stamp-h
stamp-h: config.h.in config.status
CONFIG_FILES= CONFIG_HEADERS=config.h ./config.status
echo > stamp-h

Makefile: Makefile.in config.status
CONFIG_FILES=Makefile CONFIG_HEADERS= ./config.status
(如果`configure.in’并不调用AC_CONFIG_HEADER,就不必在make规则中设置 CONFIG_HEADERS。)