zig/lib
Andrew Kelley a17505c711 zig build: avoid using stdout for communication with runner
Pass the required lazy dependencies from the build runner to the parent
process via a tmp file instead of stdout. I'll reproduce this comment to
explain it:

The `zig build` parent process needs a way to obtain results from the
configuration phase of the child process. In the future, the make phase
will be executed in a separate process than the configure phase, and we
can then use stdout from the configuration phase for this purpose.

However, currently, both phases are in the same process, and Run Step
provides API for making the runned subprocesses inherit stdout and stderr
which means these streams are not available for passing metadata back
to the parent.

Until make and configure phases are separated into different processes,
the strategy is to choose a temporary file name ahead of time, and then
read this file in the parent to obtain the results, in the case the child
exits with code 3.

This commit also extracts some common logic from the loop that rebuilds
the build runner so that it does not run again when the build runner is
rebuilt.
2024-02-02 20:43:01 -07:00
..
compiler_rt
docs Update styles in std docs to correct display glitch 2024-01-12 16:25:55 -08:00
include
init
libc mingw-w64: remove msvcrt sources 2024-01-20 00:21:34 +00:00
libcxx
libcxxabi
libunwind
std build system: implement lazy dependencies, part 1 2024-02-02 20:43:01 -07:00
tsan
build_runner.zig zig build: avoid using stdout for communication with runner 2024-02-02 20:43:01 -07:00
c.zig
compiler_rt.zig
test_runner.zig
zig.h