(zilch lang ninja): process depfile, elide .h files where posssible

Incremental builds now take depfiles in account! Using a file that
contains a mapping of depfile to its cached contents, Zilch now
rebuilds less targets unnecessarily! If a build fails because an
include is added, it transparently rebuilds it with all possible header
dependencies, using the custom build scheduler built into Zilch. If an
include is removed, the target will be rebuilt with the new set of
headers the next time the CLI is invoked.

Change-Id: I6a6a6964c2fb191af4a474c45fd0f29623c588b0
This commit is contained in:
puck 2025-06-18 17:07:16 +00:00
parent 31bdc68f8c
commit 781e2b5534
5 changed files with 107 additions and 32 deletions

View file

@ -11,7 +11,7 @@
(source "src/depfile.sld"))
(extension zilch.lang.ninja.build
(source "src/build.sld")
(component-dependencies zilch.lang.ninja zilch.lang.ninja.config))
(component-dependencies zilch.lang.ninja zilch.lang.ninja.config zilch.lang.ninja.depfile))
(extension zilch.lang.ninja.config
(source "src/config.sld"))
(extension zilch.lang.ninja.nixpkgs