Skip to content
Discussion options

You must be logged in to vote

走 batchcmds 是批处理命令式的,对于编译 deps 生成提取而言,其实不适用,因为添加这些命令的过程,其实还没执行它,也没没法通过 -MMD 运行结果解析参数,你应该用 on_build_file + os.run + depend.on_changed()

batchcmds:add_depfiles、batchcmds:set_depmtime、batchcmds:set_depcache这几个接口是什么关系,应该如何使用?

add_depfiles 添加当前 batchcmds 命令的依赖文件,这些文件中,任意一个文件更新,都会触发执行

set_depcache 就是保持依赖信息的文件 .d ,是可选的,如果 dependfile (*.d) 文件没有指定,会自动根据所有 depfiles 生成一个估计路径的临时文件

set_depmtime 设置最近一次的更新时间,用于跟 depfiles 的 mtime 进行判断,是否 depfiles 更新了,这个是可选的,默认会使用 mtime(dependfile),不过这个是一个 lua table,保存了 gcc deps info, depfiles 信息,还有 depvaules 等各种依赖信息。

import("private.tools.gcc.parse_deps")这一接口可以直接使用吗?

目前没对外开放,里面也没几行代码,你可以扣出来或者自己解析下。。要用的话,有概率以后被 broken

Replies: 2 comments 1 reply

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
1 reply
@waruqi
Comment options

Answer selected by xq114
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants