Commit Graph

25 Commits

Author SHA1 Message Date
Andrew Kelley a6927f53c5 build system: remove unneeded args from configurer
not needed:
* zig exe path
* zig lib dir
* build root
* local cache root
* global cache root
2026-04-30 15:35:25 -07:00
Andrew Kelley 03ed8d7001 rename addCliExtras to addPassthruArgs
finally, a good name
2026-04-30 13:55:56 -07:00
Andrew Kelley 78aa1b0641 rename addBuildPositionals to addCliExtras
they don't have to be positionals
2026-04-30 11:46:56 -07:00
Andrew Kelley b9f23355f3 build system: implement cli positionals 2026-04-30 11:39:28 -07:00
Andrew Kelley 933ee0d63e maker: fix the has side effects logic in run step 2026-04-29 22:24:29 -07:00
Andrew Kelley 4fb95aebfc maker: add the --listen and --seed args back to run 2026-04-29 22:24:29 -07:00
Andrew Kelley c7dcc227a3 maker: finish porting over run step 2026-04-29 22:24:29 -07:00
Andrew Kelley d9f05b9ef0 maker: update more Run step logic 2026-04-29 22:24:29 -07:00
Andrew Kelley b3a9958555 maker: port Run step logic up to spawnChildAndCollect 2026-04-29 22:24:29 -07:00
Andrew Kelley 1de2a7e5dd maker: port more of Run step over 2026-04-29 22:24:29 -07:00
Andrew Kelley 7a69febc0b 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-29 22:24:29 -07:00
Andrew Kelley 0a8728901d maker: upgrade some of the run step logic 2026-04-29 22:24:29 -07:00
Andrew Kelley 95b180085f maker: implement InstallArtifact and InstallFile 2026-04-29 22:24:29 -07:00
Andrew Kelley 076945a6bf maker: finish migrating compile step make logic 2026-04-29 22:24:29 -07:00
Andrew Kelley 9423e1e882 maker: finish lowering compile step CLI args 2026-04-29 22:24:29 -07:00
Andrew Kelley 43d5b1eb14 maker: finish migrating most of CLI lowering code 2026-04-29 22:24:29 -07:00
Andrew Kelley 90a8ec3e4a maker: progress towards lowering zig cli args 2026-04-29 22:24:29 -07:00
Andrew Kelley acef407629 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-29 22:24:29 -07:00
Andrew Kelley 7e5e8a00c2 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-29 22:24:29 -07:00
Andrew Kelley 95530e7848 Configuration: complete serialization of Compile steps 2026-04-29 22:24:29 -07:00
Andrew Kelley 3649f03520 maker: progress towards updating zig CLI lowering 2026-04-29 22:24:29 -07:00
Andrew Kelley b149d49c80 zig build: make --error-limit globally configurable
still overridable by individual Compile steps
2026-04-29 22:24:28 -07:00
Andrew Kelley 20493aa539 Maker.Step.Compile: progress towards lowering zig args 2026-04-29 22:24:28 -07:00
Andrew Kelley f531cd9d03 massage Step code into compiling 2026-04-29 22:24:28 -07:00
Andrew Kelley 381607e880 build maker: rename files to match type 2026-04-29 22:24:28 -07:00