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

Jas*_*oss 6 autoconf autotools configure environment-variables

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

Wil*_*ell 7

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