如何安全分发Ninja组件构建产物并保留增量构建能力?
背景信息
我正在使用autoninja和is_component_build构建标志编译Chromium,该标志的作用是:将构建的多个部分链接到单独的共享库中,以避免末尾的漫长链接步骤。
这对增量构建尤为有用,增量构建仅重新编译代码库中已更改的部分。
问题描述
当前的问题是,使用is_component_build标志时,生成的大量.ninja产物及/gen目录下的其他文件包含指向构建输出目录的硬编码路径。
如果构建完成后重命名输出目录,后续基于该目录的增量编译会破坏构建完整性。
初步思路
我想到的分发构建产物(如迁移到其他位置)的方法是运行字符串查找替换脚本,但需要知晓原构建输出路径。
技术问询
- Ninja构建系统开发者是否有更规范的方法,无需重新生成GN元构建参数,即可重命名组件构建输出目录并保留增量构建能力?
- 若无此方法,重新启用已迁移构建输出目录增量构建的正确流程是什么?
内容的提问来源于stack exchange,提问作者Constantin
相关产品推荐
相关产品推荐

