zig/lib/std/Build
Andrew Kelley b29e3fa2cd std.Build: enhancements to ConfigHeaderStep
Breaking API change to std.Build.addConfigHeader. It now uses an options
struct.

Introduce std.Build.CompileStep.installConfigHeader which also accepts
an options struct. This is used to add a generated config file into the
set of installed header files for a particular compilation artifact.

std.Build.ConfigHeaderStep now additionally supports a "blank" style
where a header is generated from scratch. It no longer exposes
`output_dir`. Instead it exposes a FileSource via `output_file`.
It now additionally accepts an `include_path` option which affects the
include path of CompileStep when using the `#include` directive, as well
as affecting the default installation subdirectory for header
installation purposes.

The hash used for the directory to store the generated config file now
includes the contents of the generated file. This fixes possible race
conditions when generating multiple header files simultaneously.

The values hash table is now an array hash map, to preserve order for
the "blank" use case.

I also took the opportunity to remove output_dir from TranslateCStep and
WriteFileStep. This is technically a breaking change, but it was always
naughty to access these fields.
2023-02-05 06:26:30 -07:00
..
CheckFileStep.zig std.Build: avoid use of catch unreachable 2023-01-31 15:09:35 -07:00
CheckObjectStep.zig std.Build: avoid use of catch unreachable 2023-01-31 15:09:35 -07:00
CompileStep.zig std.Build: enhancements to ConfigHeaderStep 2023-02-05 06:26:30 -07:00
ConfigHeaderStep.zig std.Build: enhancements to ConfigHeaderStep 2023-02-05 06:26:30 -07:00
EmulatableRunStep.zig std.Build: avoid use of catch unreachable 2023-01-31 15:09:35 -07:00
FmtStep.zig std.Build: avoid use of catch unreachable 2023-01-31 15:09:35 -07:00
InstallArtifactStep.zig remove reference to removed addTestExe 2023-02-01 22:52:32 -05:00
InstallDirStep.zig combine std.build and std.build.Builder into std.Build 2023-01-31 15:09:35 -07:00
InstallFileStep.zig combine std.build and std.build.Builder into std.Build 2023-01-31 15:09:35 -07:00
InstallRawStep.zig std.Build: avoid use of catch unreachable 2023-01-31 15:09:35 -07:00
LogStep.zig combine std.build and std.build.Builder into std.Build 2023-01-31 15:09:35 -07:00
OptionsStep.zig std.Build: support exposing and depending on zig modules 2023-02-04 01:55:39 -05:00
RemoveDirStep.zig combine std.build and std.build.Builder into std.Build 2023-01-31 15:09:35 -07:00
RunStep.zig std.Build: avoid use of catch unreachable 2023-01-31 15:09:35 -07:00
Step.zig std.Build: avoid use of catch unreachable 2023-01-31 15:09:35 -07:00
TranslateCStep.zig std.Build: enhancements to ConfigHeaderStep 2023-02-05 06:26:30 -07:00
WriteFileStep.zig std.Build: enhancements to ConfigHeaderStep 2023-02-05 06:26:30 -07:00