./configure:什么是疯狂的构建环境?


Answers:


51

这个来自automake的,特别是从AM_SANITY_CHECK 宏观,这是从所谓的AM_INIT_AUTOMAKE,这通常是在叫早configure.ac。该宏的要点是:

  • 检查源目录的路径中是否包含某些“不安全”字符,这些字符很难正确包含在shell脚本makefile中。
  • 检查ls似乎可以正常工作。
  • 检查在构建目录中创建的新文件是否比该configure文件新。如果不是(通常是因为构建系统上的时钟未正确设置),则构建过程很可能会失败,因为构建过程通常依赖于所生成的文件,其时间戳比其生成的源文件的时间戳要新。

为什么要ls专门?仅仅是为了测试基本可执行文件是否可用和功能,还是ls在制作过程中以某种方式使用了它本身?
terdon

2
@terdon一些automake模板使用ls。该AM_SANITY_CHECK宏本身使用ls检查的相对时间configure和临时文件(它不使用test -nt,因为不是所有的炮弹有它)。
吉尔斯(Gilles)'所以
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.