aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/std/build.zig3
-rw-r--r--lib/std/process.zig13
-rw-r--r--lib/std/special/build_runner.zig12
3 files changed, 20 insertions, 8 deletions
diff --git a/lib/std/build.zig b/lib/std/build.zig
index 69f44bad32..6f8c44ccd3 100644
--- a/lib/std/build.zig
+++ b/lib/std/build.zig
@@ -2294,8 +2294,7 @@ pub const LibExeObjStep = struct {
if (self.kind == Kind.Test) {
try builder.spawnChild(zig_args.span());
} else {
- try zig_args.append("--cache");
- try zig_args.append("on");
+ try zig_args.append("--enable-cache");
const output_dir_nl = try builder.execFromStep(zig_args.span(), &self.step);
const build_output_dir = mem.trimRight(u8, output_dir_nl, "\r\n");
diff --git a/lib/std/process.zig b/lib/std/process.zig
index 2813d8cbab..5303ada94b 100644
--- a/lib/std/process.zig
+++ b/lib/std/process.zig
@@ -19,6 +19,19 @@ pub const exit = os.exit;
pub const changeCurDir = os.chdir;
pub const changeCurDirC = os.chdirC;
+/// Indicate that we are now terminating with a successful exit code.
+/// In debug builds, this is a no-op, so that the calling code's
+/// cleanup mechanisms are tested and so that external tools that
+/// check for resource leaks can be accurate. In release builds, this
+/// calls exit(0), and does not return.
+pub fn cleanExit() void {
+ if (builtin.mode == .Debug) {
+ return;
+ } else {
+ exit(0);
+ }
+}
+
/// The result is a slice of `out_buffer`, from index `0`.
pub fn getCwd(out_buffer: []u8) ![]u8 {
return os.getcwd(out_buffer);
diff --git a/lib/std/special/build_runner.zig b/lib/std/special/build_runner.zig
index 3c4916a566..43d6b96536 100644
--- a/lib/std/special/build_runner.zig
+++ b/lib/std/special/build_runner.zig
@@ -161,16 +161,16 @@ fn usage(builder: *Builder, already_ran_build: bool, out_stream: anytype) !void
try fmt.allocPrint(allocator, "{} (default)", .{top_level_step.step.name})
else
top_level_step.step.name;
- try out_stream.print(" {s:22} {}\n", .{ name, top_level_step.description });
+ try out_stream.print(" {s:<27} {}\n", .{ name, top_level_step.description });
}
try out_stream.writeAll(
\\
\\General Options:
- \\ --help Print this help and exit
- \\ --verbose Print commands before executing them
- \\ --prefix [path] Override default install prefix
- \\ --search-prefix [path] Add a path to look for binaries, libraries, headers
+ \\ --help Print this help and exit
+ \\ --verbose Print commands before executing them
+ \\ --prefix [path] Override default install prefix
+ \\ --search-prefix [path] Add a path to look for binaries, libraries, headers
\\
\\Project-Specific Options:
\\
@@ -185,7 +185,7 @@ fn usage(builder: *Builder, already_ran_build: bool, out_stream: anytype) !void
Builder.typeIdName(option.type_id),
});
defer allocator.free(name);
- try out_stream.print("{s:32} {}\n", .{ name, option.description });
+ try out_stream.print("{s:<29} {}\n", .{ name, option.description });
}
}