6

autoconf 手册建议使用AS_IF而不是if,但没有提及m4_if. 也应该AS_IF优先于m4_if?

手册的“内置函数的限制”部分说使用AS_IF它的可移植性,但AC_REQUIRE描述说使用它来扩展所需的宏。

我应该一直使用AS_IF吗?答案似乎是肯定的,但我又看到ifm4_if在其他宏中使用。什么时候可以不使用AS_IF

4

2 回答 2

3

我对此感到困惑,因为我没有意识到if/AS_IF和之间的根本区别m4_if。当用户运行脚本时,正常ifAS_IF评估其条件,即configure. 相反,m4_if在宏扩展期间对其条件进行评估,即autoreconf.

if/AS_IF影响脚本的流程。m4_if影响脚本的内容。

这现在似乎很明显,但我一开始并没有得到它。希望这对其他人有帮助。

于 2013-01-14T01:54:59.890 回答
2

AS_IF 的另一个好处是,当它展开时,分支中的宏需要的任何宏都会在测试之前展开。

请参阅手册

于 2013-01-08T00:16:41.320 回答