83 Commits

Author SHA1 Message Date
pentuppup f4462c0cd7 fix enabling incremental on compile steps without global incremental 2026-06-19 16:09:09 +02:00
David Senoner c91727108e Replace usages of ArrayHashMapUnmanaged with array_hash_map.Custom 2026-06-10 16:14:58 +02:00
David Senoner 37651eea89 Replace usages of AutoArrayHashMapUnmanaged with array_hash_map.Auto 2026-06-10 16:14:58 +02:00
David Senoner d23e22c416 Replace usages of StringArrayHashMapUnmanaged with array_hash_map.String 2026-06-10 16:14:53 +02:00
Mason Remaley 431092fa61 Adds a compile step option to toggle incremental compilation 2026-06-09 15:35:24 -07:00
Giuseppe Cesarano cd7ea62a05 Fix red-zone flag generation
Signed-off-by: Giuseppe Cesarano <PecoraInPannaCotta@gmail.com>
2026-06-07 05:09:54 +02:00
Mason Remaley 25e9d22807 Fixes the optimization mode passed to translate C 2026-05-31 05:34:24 +02:00
mlugg 3f1dead2fc Merge pull request 'Use struct-of-arrays style for std.lang.Type' (#35234) from Der_Teufel/zig:soa-builtin-type into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35234
2026-05-28 09:45:54 +02:00
Andrew Kelley ba634c44ba Maker.Step.Run: fix not printing failed command
regressed in 349053e322

I added comments to help prevent this regression in the future.
2026-05-27 13:04:19 -07:00
Krzysztof Wolicki 9e80795623 all: update to use new std.lang.Type definitions 2026-05-27 10:03:51 +01:00
Alex Rønne Petersen 333724ff77 Maker.Step.Run: set WASMTIME_BACKTRACE_DETAILS=1 by default for Wasmtime
Similar in spirit to what we do with WINEDEBUG when using Wine, i.e. provide
more helpful defaults.
2026-05-27 07:52:49 +02:00
Andrew Kelley d0c6ed189b Maker: fix Target deserialization
more disciplined Target / Query separation even though they're both
serialized in the same struct
2026-05-27 03:04:31 +02:00
Andrew Kelley 4d56c66362 Merge pull request 'Maker: memory usage optimizations' (#35471) from build-runner-process into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35471
2026-05-27 00:48:11 +02:00
Andrew Kelley fd63f57cd8 build system: update more usize to u64 for maxrss
makes the build system compile on 32 bit systems

bonus, also fix incorrectly passing advanced debug options to the maker
process which doesn't care about them
2026-05-26 09:50:48 -07:00
Andrew Kelley 349053e322 Maker: memory usage optimizations
- choose smp_allocator depending on optimization mode
- organize the globals
- avoid pessimistically allocating failed command string
- recover the PkgConfig memory
- recover the memory from captureChildProcess
- make Step.result_stderr gpa-owned so it doesn't leak when a step that
  fails with stderr is re-run
- recover memory from evalZigTest and evalGeneric child process stdio
  streams
2026-05-26 09:03:34 -07:00
Andrew Kelley 1d750d7067 Maker.Step.Run: fix leak in evalGeneric 2026-05-25 20:34:44 -07:00
Andrew Kelley 5b022623cf Maker.Step.Compile: fix memory leak in checkCompileErrors 2026-05-25 20:17:41 -07:00
Andrew Kelley f3dd10d40f Maker: add --debug-maker-leaks flag and fix some leaks 2026-05-25 20:14:34 -07:00
Andrew Kelley cb1f3e0ac4 Maker.Step.Compile: leak into the global arena less 2026-05-25 19:27:16 -07:00
Andrew Kelley 1aa65d094e Maker.Step.Run: leak into global arena less
There are still some uses:
- fuzzing
- generated paths (will require adjusting all step logic)
- Step.result_stderr
2026-05-25 18:54:36 -07:00
Andrew Kelley 9eb85c4e5e build system: track TODOs outside source code
related to #363
2026-05-25 18:54:36 -07:00
Andrew Kelley 65c96c4035 Maker.Step.Run: add missing PATH entries for DLLs 2026-05-25 18:54:36 -07:00
Andrew Kelley d1a4462032 Maker.Step.InstallArtifact: use gpa for fs walking 2026-05-25 18:54:36 -07:00
Andrew Kelley c5517102e7 Maker: delete ConfigHeader unit tests
these will work better as standalone tests that exercise the std.Build
API.
2026-05-25 18:54:36 -07:00
Andrew Kelley c0504a8fa8 fuzzer: get it working again 2026-05-25 18:54:36 -07:00
Andrew Kelley 0aa613d9bf Maker.Step.Run: fix passing -L to qemu 2026-05-25 18:54:36 -07:00
Andrew Kelley ed492ff51c Maker.Step.WriteFile: fix not creating dir entries 2026-05-25 18:54:36 -07:00
Andrew Kelley fed031031d Maker: fix compilation on windows 2026-05-25 18:54:36 -07:00
Andrew Kelley 05fbeb4ea7 Maker.Step.Run: fix wrong allocator used 2026-05-25 18:54:36 -07:00
Andrew Kelley 9989f72c61 Maker: implement ConfigHeader 2026-05-25 18:54:36 -07:00
Andrew Kelley e435299cfa Maker: progress towards ConfigHeader
however... why is this done in the make phase anyway? making a header
like this is typically done by the configure phase...
2026-05-25 18:54:36 -07:00
Andrew Kelley ed1f005826 Maker: finish implementing Step.Compile.appendIncludeDirFlags 2026-05-25 18:54:36 -07:00
Andrew Kelley 31c159c228 Maker: implement CheckFile 2026-05-25 18:54:36 -07:00
Andrew Kelley 92038675af zig build: implement findProgram (not lazy) 2026-05-25 18:54:36 -07:00
Andrew Kelley 1edc5d7d67 Maker: implement FindProgram (lazy) 2026-05-25 18:54:36 -07:00
Andrew Kelley a874e729df zig build: remove "cc args" from Run steps
Not sure what I was thinking. This is silly, translate-c package simply
needs to pass this data (link_libc and target) to the CLI application,
which can then do the appropriate behavior.
2026-05-25 18:54:36 -07:00
Andrew Kelley 91a7ea4ff4 Maker: implement TranslateC 2026-05-25 18:54:36 -07:00
Andrew Kelley 940b9bccc2 Configuration: fix Cpu.Arch enum mismatch 2026-05-25 18:54:36 -07:00
Andrew Kelley d1204d4104 Maker.Step.Run: implement addPathForDynLibs 2026-05-25 18:54:36 -07:00
Andrew Kelley 3a259e2f0f Maker.Step.Compile: implement checkCompileErrors 2026-05-25 18:54:36 -07:00
Andrew Kelley ec65f129d8 Maker: lower -target arguments 2026-05-25 18:54:35 -07:00
Andrew Kelley bb1b59ee1f Maker: implement Step.InstallDir 2026-05-25 18:54:35 -07:00
Andrew Kelley db7ceada15 Maker: implement Step.WriteFile 2026-05-25 18:54:35 -07:00
Andrew Kelley 4aa8fa898d Maker.PkgConfig: fix regression when pkg-config not found
unless pkg_config == .force, this is supposed to be allowed
2026-05-25 18:54:35 -07:00
Andrew Kelley 9709efce98 std.Build.Step.Run: introduce Arg.cc_args
provides a way for the build system to append -target and -isystem/-I
flags to a Run step.

needed by translate-c package to avoid doing naughty stuff in the
configure phase.
2026-05-25 18:54:35 -07:00
Andrew Kelley fb9118195e maker: implement pkg-config integration
featuring:
* better error reporting
* including PKG_CONFIG environment variable in `zig env`
* memoizing the output of `pkg-config --list-all`
2026-05-25 18:54:35 -07:00
Andrew Kelley 5644d68f14 more colorful wip panics 2026-05-25 18:54:35 -07:00
Andrew Kelley 43209551b7 maker: implement Step.Options
also revert #35224
2026-05-25 18:54:35 -07:00
Andrew Kelley a249201aec maker: fix Step.Fmt 2026-05-25 18:54:35 -07:00
Andrew Kelley 7e6be7ee6e configurer: serialize Step.ObjCopy 2026-05-25 18:54:35 -07:00