Date: Mon, 4 Nov 2024 15:20:01 +0200
Bret Brown <mail_at_[hidden]> writes:
> Some build systems could just pause a build job and block until relevant
> nodes or edges in the build graph are filled in.
This is how all the modern build systems work: they interleave the
build phases with graph discovery (the "Build Systems à la Carte"
paper has details).
> But this is a problem for popular build systems like ninja.
At some point we will need to call a "popular" build system that
was designed for 30-year old hardware (that is, pre-SSD) "legacy".
Ninja author/maintainers are especially notorious for refusing
most further enhancements.
> It is also a problem for distributed build systems that need to know
> which files to move into a remote environment before building there.
I don't see how it's a problem unless you want to ship entire sub-
graphs to remote hosts.
> Some build systems could just pause a build job and block until relevant
> nodes or edges in the build graph are filled in.
This is how all the modern build systems work: they interleave the
build phases with graph discovery (the "Build Systems à la Carte"
paper has details).
> But this is a problem for popular build systems like ninja.
At some point we will need to call a "popular" build system that
was designed for 30-year old hardware (that is, pre-SSD) "legacy".
Ninja author/maintainers are especially notorious for refusing
most further enhancements.
> It is also a problem for distributed build systems that need to know
> which files to move into a remote environment before building there.
I don't see how it's a problem unless you want to ship entire sub-
graphs to remote hosts.
Received on 2024-11-04 13:19:06