【发布时间】:2017-08-30 10:47:34
【问题描述】:
我设置了一个 SCons 构建系统,用于从 C++ 构建一些库,以及通过 SWIG 为它们构建的 Python 包装器。然后将结果用于数据处理,这也是 SCons 构建的一部分。数据处理是使用已构建的 SWIG 包装库的 Python 脚本。
我已经设置了依赖关系,以便在构建所有库和包装器之后开始数据处理,并且效果很好。但是有一个警告(你猜对了,对吧?:))。我想添加一个源扫描器,它还使用一些 SWIG 库来扩展依赖项。问题是扫描仪运行得太快了。事实上,我看到它运行了两次——一次是在构建早期的某个时间点,另一次是在数据处理开始之前。因此,并行构建的第一个扫描仪通常发生在构建所有必要的库之前,因此它失败了。
如何使扫描仪本身依赖库目标?
或者,我可以延迟扫描仪运行 - 或取消第一次扫描仪运行吗?
还有其他想法吗?
【问题讨论】:
-
那么你要做的是用scons构建一个python模块(编译),然后在scons中加载那个模块并使用它?
-
是的,基本上。仅在扫描仪中使用它,而不是在构建配方本身中使用。如果扫描仪只在构建目标之前运行,它会正常工作。
标签: python build dependencies scons