Commit Graph

14 Commits

Author SHA1 Message Date
Andrew Kelley 788dee8821 maker: restore Step.Run logic for adding artifact arg
When an artifact arg is added to a Run step, if the artifact is
installed, then the installation path is added rather than the cache
artifact path. This is probably something that should change in the
future, but the goal of this branch is to generally avoid breakage other
than that caused by phase separation.
2026-04-27 13:05:32 -07:00
Andrew Kelley 6244f48b1e maker: implement InstallArtifact and InstallFile 2026-04-27 13:05:32 -07:00
Andrew Kelley d97ec7d894 maker: finish migrating compile step make logic 2026-04-27 13:05:31 -07:00
Andrew Kelley 7a92cbe760 maker: finish lowering compile step CLI args 2026-04-27 13:05:07 -07:00
Andrew Kelley c3d8e606ba maker: finish migrating most of CLI lowering code 2026-04-27 13:05:07 -07:00
Andrew Kelley 6ccd6a070d maker: progress towards lowering zig cli args 2026-04-27 13:05:07 -07:00
Andrew Kelley d1587dcd3f build system: implement LazyPath
Number of generated files is recorded in serialized Configuration. Maker
preallocates array of generated files so that loads and stores can be
synchronization-free (protected by the dependency tree ordering).

More progress on Compile Step Zig CLI lowering.
2026-04-27 13:05:07 -07:00
Andrew Kelley 1081519099 maker: progress towards lowering Compile Step CLI args
next thing to do is figure out how LazyPath is supposed to work now.
something like this:
* each Step that provides LazyPath objects has a setLazyPath and
  getLazyPath function which takes a tagged union identifying which one
  to access
* steps that fulfill LazyPath objects can freely call setLazyPath
  without obtaining a lock because the dependency graph prevents
  simultaneous access.
* similarly, steps that access LazyPath results can freely call
  getLazyPath without obtaining a lock, because after modification,
  there may be simultaneous reads from dependencies but they will all be
  read-only
* a fulfilled LazyPath object is a read-only std.Build.Cache.Path.
2026-04-27 13:05:07 -07:00
Andrew Kelley fc63c3bd69 Configuration: complete serialization of Compile steps 2026-04-27 13:05:07 -07:00
Andrew Kelley 4711c1a554 maker: progress towards updating zig CLI lowering 2026-04-27 13:05:07 -07:00
Andrew Kelley 4141060b7b zig build: make --error-limit globally configurable
still overridable by individual Compile steps
2026-04-27 13:05:07 -07:00
Andrew Kelley 019e80313e Maker.Step.Compile: progress towards lowering zig args 2026-04-27 13:05:07 -07:00
Andrew Kelley 70e89f5f46 massage Step code into compiling 2026-04-27 13:05:05 -07:00
Andrew Kelley 54dd5a92a4 build maker: rename files to match type 2026-04-27 13:04:32 -07:00