SCONS时间戳机制

时间:2013-08-24 05:59:17

标签: scons

我正在查看Scons源代码,但似乎无法确定计算时间戳的位置(没有找到MD5计算的麻烦)。

手册页只是作为时间戳引用,并没有深入到它的实际内容。也许这对某些人来说是显而易见的,但我仍然不清楚这究竟意味着什么。

什么时间戳?

以下是Scons用于时间戳一致性的方式吗?

time.ctime(os.path.getmtime(file))

基本上检查文件何时被修改?

然后将其与运行时的内容进行比较?

1 个答案:

答案 0 :(得分:3)

如果您曾与Make合作过,那么这个概念应该是熟悉的。基本上它将源与目标的修改时间进行比较,如果源更新,则应重建目标。还有一些文件签名信息,SCons在内部存储在.sconsign.dblite文件中,我不相信可以以编程方式访问。

SCons Decider() function docs可以看出,行为可以配置为以下之一(从SCons man page复制):

  • timestamp-newer(这是经典Make实用程序的行为,make可以用作timestamp-newer的同义词)
  • 时间戳的匹配
  • MD5
  • MD5时间戳