Commit graph

11 commits

Author SHA1 Message Date
c6504571e8 (zilch ninja build): elide vfs per-build as much as possible
This should limit the amount of spurious rebuilds.

Change-Id: I6a6a6964b8ba2672c376d848f362f18a599c45d9
2025-11-14 13:01:04 +00:00
c685ff31df (zilch lang ninja build): add shared object stubs for linked libraries
This adds a second derivation containing a .so (stubbed) to all `.so.symbols`
edges, which represents a shared object stub. This stub is then used for all
linking afterwards, rather than the bubbled-up .so file, which was used as
workaround.

Change-Id: I6a6a69649ff04f8efe329c59e4d0172532aa7adb
2025-11-14 13:01:04 +00:00
c94279fcb2 (zilch lang ninja build): expose phony build edges better 2025-11-14 13:01:04 +00:00
11709a3eed (zilch lang ninja build): support per-project patches 2025-11-14 13:01:04 +00:00
7cdf45ef96 (zilch lang ninja build): support phony rules 2025-11-14 13:01:04 +00:00
ca920c0ae3 (zilch lang ninja build): fix relative-to normalisation for empty paths 2025-11-14 13:01:04 +00:00
ec05d19a1e (zilch lang ninja build): don't print missing errors for nix store paths 2025-11-14 13:01:04 +00:00
40638ad666 (zilch lang ninja build): workaround Meson .so linking
Meson implements early-cutoff for shared library linking by having each .so
generate a .symbols file, and only relinking when that changes. The issue is
that this loses the direct dependency to the .so, and I'm unwilling to commit
to putting every transitive dependency in the environment's VFS. Instead,
work around it specifically for Meson.
2025-11-14 13:01:04 +00:00
be1b4c3792 (zilch lang ninja build): improve build environment + setup times
Turns out generating one full VFS for every single build step is really
expensive.
2025-11-14 13:01:04 +00:00
95e7ca1277 (zilch lang ninja build): don't generate empty derivation names 2025-11-14 13:01:04 +00:00
499bacd9c8 (zilch lang ninja): support processing simple build scripts 2025-11-14 13:01:04 +00:00