Chromium 将从 Ninja 切换到 Siso
Chromium Switching from Ninja to Siso

原始链接: https://groups.google.com/a/chromium.org/g/chromium-dev/c/v-WOvWUtOpg

注意!Chromium外部开发者!Chromium构建系统正在从Ninja迁移到Siso。此更改已在内部上线,现在正在向外部贡献者推出。Siso是由Google开发的Ninja的替代品,专为原生远程执行而设计。 准备工作:继续使用`autoninja`构建Chromium。下次运行`gn clean`后,autoninja将自动使用Siso。 如果您遇到问题,可以通过在您的`args.gn`中设置`use_siso=false`来临时选择退出。 重要日期:Reclient将于9月底移除,之后Ninja将不再受支持。请在截止日期之前切换到Siso。Gn保持不变。 如有任何问题,请联系Chrome构建基础设施团队。

The Hacker News discussion centers on Chromium's shift from the Ninja build system to a new system called Siso. Siso, developed by Google's Chrome Build Infra Team, aims to be a drop-in replacement for Ninja, primarily to enable native remote execution for faster builds. Commenters discuss the reasons behind the move, with some questioning why Google didn't adopt Bazel, another Google-developed build system. Others point out Bazel didn't exist when Chrome initially chose Ninja, and that Siso's compatibility makes it a less disruptive option. Some speculate that the shift to Siso, which uses Starlark (like Bazel), could be a stepping stone toward future Bazel integration. The discussion also touches on the implications of adding Go as a dependency for Chromium builds, with some concerned about source compilation practices in certain environments. Others argue that Go's widespread availability mitigates this concern.
相关文章

原文

Hi everyone,

This PSA is for all external Chromium developers regarding an upcoming change to the Chromium build system.

What's changing?

Chromium's build system is switching from Ninja 🥷 to Siso 🌿. This migration has already been completed for developers and CI/CQ within Google, and we are now extending it to our external contributors.

Siso is developed by the Chrome Build Infra Team at Google as a drop-in replacement for Ninja to support remote execution natively.

What do you need to do?

Just keep building Chromium with autoninja. autoninja will automatically use Siso after you run gn clean the next time.

How to opt out? 

If you encounter problems with Siso, you can switch back by setting use_siso=false in your args.gn.

About Ninja/Reclient/GN


  • GN will stay the same as before.

  • Reclient will be removed from Chromium at the end of September.

  • Ninja will be unsupported after the end of September.

Please prepare to switch to Siso before the deadline.

Questions or Issues?

If you have any questions or run into any problems with this change, please don't hesitate to reach out to us:

Thanks,

Junji - on behalf of the Chrome Build Infra Team

联系我们 contact @ memedata.com