Kinda impressive and terrifying that Chromium needs its own build system. Kinda strange that Bazel was right there, also from Google, and they not only choose not to use it, but also reference it in the name of the new tool.
I think this makes Chrome build system number four: scons, gyp, ninja, siso.
https://pkg.go.dev/go.chromium.org/infra/build/siso#section-...
Ninja compatible, for the flags that chromium uses. There’s some behaviour they’ve tuned for their use case.
I wonder if AOSP will also move over to Siso. Since it is advertised as a drop in replacement it would take less resources than the Bazel migration which got canceled. The readme explicitly calls out a feature used by AOSP, so it is plausible that thought was put into it.
Is there an explanation what siso provides that ninja does not?
Another NIH build tool?
Never heard of it, and ninja is the only way to build C++20 modules alongside CMake.
Then again, that is something that Chromium probably will never bother with.
They've added a dependency on Go with the addition of siso.
If Siso is a drop-in alternative to Ninja, are there builds of Siso usable for building Ninja-projects, in general?
They want to "improve their build processes", huh? Yeah, there are some problems, like ginormous build times, for which there are some very well-known and pedestrian solutions ("physical code design"). But these aren't impressive enough to get promoted.
Just Google things.
[dead]
Looks like the Google developer in the discussion is clueless.
Note that Siso uses Starlark (https://chromium.googlesource.com/infra/infra/+/refs/heads/m...) which is the build language of Bazel
I wonder if the end goal is to use Bazel for Chromium and Siso is an incremental step to get there