递归检索C / C ++包含SCons中的依赖项

时间:2015-01-19 09:11:57

标签: c++ c scons c-preprocessor build-system

我们正在为C / C ++文件开发一个SCons操作的调整版本,该文件使用内置C / C ++扫描程序已经找到的依赖项来自动创建放入CPPPATH的目录列表。

我们当前的解决方案使用对

中定义的get_found_includes()的递归调用

http://www.scons.org/doc/2.3.4/HTML/scons-api/SCons.Node.Node-class.html#get_found_includes

但是,我们从这个逻辑中得到例外,抱怨发送给path的{​​{1}}参数为get_found_includes()。这些调用在SCons(递归)逻辑中更深处调用,而不是直接由我们自己调用None调用。

请注意,我们只对已由相应扫描程序计算的缓存依赖项感兴趣。如果get_found_includes的变体只返回这些节点而不必猜测参数get_found_includes()的正确值,那将是很好的。

此外,path

中的定义如何

http://www.scons.org/doc/2.3.4/HTML/scons-api/SCons.Node.Node-class.html#get_implicit_deps

在这方面与get_implicit_deps()不同?我已经读了几次他们的描述,但无法弄清楚他们的修饰意义的区别。

有没有更好的方法来解决这个问题?

如果我们想自己一起破解这个,我猜所有的依赖关系都存储在图中,作为可以遍历的节点属性。

0 个答案:

没有答案