重新创建一个配置

优质
小牛编辑
121浏览
2023-12-01
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-hstamp-h: config.h.in config.statusCONFIG—FILES= CONFIG—HEADERS=config.h ./config.status echo > stamp-hMakefile: Makefile.in config.statusCONFIG—FILES=Makefile CONFIG—HEADERS= ./config.status

(如果'configure.in'并不调用AC—CONFIG—HEADER,就不必在make规则中设置 CONFIG—HEADERS。)