将环境变量传递给autoconf的`./configure`

时间:2012-12-12 20:37:00

标签: environment-variables autotools configure autoconf

FOO=bar ./configure./configure FOO=bar之间有什么区别,其中./configure是autoconf从configure.am生成的脚本?我知道前者在运行脚本FOO之前将环境变量bar设置为./configure,后者将字符串FOO=bar传递给./configure。我认为./configure解释这个(并记住它?)将变量FOO设置为等于bar,但除此之外,我不知道。特别是,这样或那样做有什么好处吗?

1 个答案:

答案 0 :(得分:7)

将作业传递给configure作为参数可确保config.status中的作业可用,因此将在config.status --recheck上设置。这是将赋值作为参数的主要优点。请注意,当前的autoconf文档建议通过环境传递赋值。较早版本的autoconf不允许将赋值作为配置的参数,因此在运行旧的配置脚本时必须使用旧的表单,并且习惯很难以让很多人继续使用该环境。但是,通过参数传递作业是一个好习惯。