Commit Graph

16 Commits

Author SHA1 Message Date
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 c7dcc227a3 maker: finish porting over run step 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 0a8728901d maker: upgrade some of the run step logic 2026-04-29 22:24:29 -07:00
Andrew Kelley 0269185596 configurer: serialize all data from run steps 2026-04-29 22:24:29 -07:00
Andrew Kelley 6891884371 compiler: fix compilation errors 2026-04-29 22:24:29 -07:00
Andrew Kelley ff26f8aa77 configurer: make string duplication also intern
I had this idea to make b.dupe() also intern the strings since they will
be ultimately serialized to Configuration. Unfortunately the idea does
not work, because although a process-lived arena is used for the
string_bytes ArrayList of the Configuration.Wip, when the ArrayList is
resized, Allocator.free() memsets the freed memory to undefined, even
though it still technically lives due to being in a process-scoped
arena. So this commit will need to be partially reverted. However, I
kept it for posterity, and there are some more changes which I will now
note below.

- dupePaths: don't rewrite backslashes to forward slashes. backslashes
  are valid in filenames on non-windows systems.
- always compile configurer in single-threaded mode
- use arena allocator for everything, no gpa for anything
- construct the Configuration.Wip instance earlier, so some stuff can be
  prepopulated as desired.
- don't forget to flush
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 9ed89b7d86 Configuration: refactor maxInt(u32) 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 e7bc747729 std: rename zig.Configuration to Build.Configuration 2026-04-29 22:24:29 -07:00