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
d2fac7fa08
configurer: fix bad serialization of strings in run args
2026-04-29 22:24:29 -07:00
Andrew Kelley
6d485a663f
fix compilation errors from rebase conflicts
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
d5a9c1b5e5
maker: implement TopLevel step
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
1ae6bae4a6
Configuration: fix bad serialization of PrefixedList and MultiList
...
Length zero is still serialized because there is no flag bit to hide the
length.
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
d5002aef6a
zig build: add --debug-maker CLI flag
...
for changing the optimization mode of the maker executable
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
a563499fa3
Configuration: serialize remaining CSourceFiles information
2026-04-29 22:24:29 -07:00
Andrew Kelley
8ed02c622f
maker: implement module printing
2026-04-29 22:24:29 -07:00
Andrew Kelley
d06013186e
Configuration: serialize remaining Module information
...
also handle properly Module circular references and introduce a general
deduplication mechanism.
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
4c09f4aa03
Configuration: implement UnionList storage
2026-04-29 22:24:29 -07:00
Andrew Kelley
aa7d3853e6
Configuration: implement FlagLengthPrefixedList
2026-04-29 22:24:29 -07:00
Andrew Kelley
55bd421e2c
Configuration: implement Storage.EnumOptional
2026-04-29 22:24:29 -07:00
Andrew Kelley
7c4cbd15ec
ScannedConfig: more general zon printing
...
it's almost all automated now
2026-04-29 22:24:29 -07:00
Andrew Kelley
2098f2842f
Configuration: type safety for extended pattern
2026-04-29 22:24:29 -07:00
Andrew Kelley
71a055c4d1
ScannedConfig: print Step.TopLevel
2026-04-29 22:24:29 -07:00
Andrew Kelley
7f06b99c82
ScannedConfig: print Step header data
2026-04-29 22:24:29 -07:00
Andrew Kelley
48ad9a7d8c
Maker: move ScannedConfig to separate file
2026-04-29 22:24:28 -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