pub const Style = union(enum) autoconf_undef: std.Build.LazyPathA configure format supported by autotools that uses #undef foo to mark lines that can be substituted with different values.
autoconf_at: std.Build.LazyPathA configure format supported by autotools that uses @FOO@ output variables.
cmake: std.Build.LazyPathThe configure format supported by CMake. It uses @FOO@, ${} and #cmakedefine for template substitution.
meson: std.Build.LazyPathThe configure format supported by Meson. It uses @FOO@, and #mesondefine for template substitution.
blank: blankInstead of starting with an input file, start with nothing.
nasm: nasmStart with nothing, like blank, and output a nasm .asm file.
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44pub const Style = union(enum) {
/// A configure format supported by autotools that uses `#undef foo` to
/// mark lines that can be substituted with different values.
autoconf_undef: std.Build.LazyPath,
/// A configure format supported by autotools that uses `@FOO@` output variables.
autoconf_at: std.Build.LazyPath,
/// The configure format supported by CMake. It uses `@FOO@`, `${}` and
/// `#cmakedefine` for template substitution.
cmake: std.Build.LazyPath,
/// The configure format supported by Meson. It uses `@FOO@`, and
/// `#mesondefine` for template substitution.
meson: std.Build.LazyPath,
/// Instead of starting with an input file, start with nothing.
blank,
/// Start with nothing, like blank, and output a nasm .asm file.
nasm,
pub fn getPath(style: Style) ?std.Build.LazyPath {
switch (style) {
.autoconf_undef, .autoconf_at, .cmake, .meson => |s| return s,
.blank, .nasm => return null,
}
}
}