From 2bb3353672bde4dc34f4c1af82ff9c303dd18292 Mon Sep 17 00:00:00 2001 From: Jan200101 Date: Sun, 29 Dec 2024 22:06:30 +0100 Subject: [PATCH 1/4] add option to strip build regardless of optimization --- build.zig | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/build.zig b/build.zig index c9ab5dd8f7..eb34788bfc 100644 --- a/build.zig +++ b/build.zig @@ -158,6 +158,12 @@ pub fn build(b: *std.Build) !void { "Build a Position Independent Executable. Default true for system packages.", ) orelse system_package; + const strip = b.option( + bool, + "strip", + "Build the website data for the website.", + ) orelse null; + const conformance = b.option( []const u8, "conformance", @@ -342,7 +348,7 @@ pub fn build(b: *std.Build) !void { .root_source_file = b.path("src/main.zig"), .target = target, .optimize = optimize, - .strip = switch (optimize) { + .strip = strip orelse switch (optimize) { .Debug => false, .ReleaseSafe => false, .ReleaseFast, .ReleaseSmall => true, From c87e3e98a3414b105cc89762927b15e070311ad6 Mon Sep 17 00:00:00 2001 From: Jan200101 Date: Mon, 30 Dec 2024 18:37:59 +0100 Subject: [PATCH 2/4] give strip option a proper description --- build.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.zig b/build.zig index eb34788bfc..2f34a6667f 100644 --- a/build.zig +++ b/build.zig @@ -161,7 +161,7 @@ pub fn build(b: *std.Build) !void { const strip = b.option( bool, "strip", - "Build the website data for the website.", + "Strip the final executable. Default true for fast and small releases", ) orelse null; const conformance = b.option( From 061a730dd37188c6b6aca7eac66f8d0a9bc108b3 Mon Sep 17 00:00:00 2001 From: Jan200101 Date: Tue, 31 Dec 2024 12:06:45 +0100 Subject: [PATCH 3/4] move strip switch behind option --- build.zig | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/build.zig b/build.zig index 2f34a6667f..dffaa88829 100644 --- a/build.zig +++ b/build.zig @@ -162,7 +162,11 @@ pub fn build(b: *std.Build) !void { bool, "strip", "Strip the final executable. Default true for fast and small releases", - ) orelse null; + ) orelse switch (optimize) { + .Debug => false, + .ReleaseSafe => false, + .ReleaseFast, .ReleaseSmall => true, + }; const conformance = b.option( []const u8, @@ -348,11 +352,7 @@ pub fn build(b: *std.Build) !void { .root_source_file = b.path("src/main.zig"), .target = target, .optimize = optimize, - .strip = strip orelse switch (optimize) { - .Debug => false, - .ReleaseSafe => false, - .ReleaseFast, .ReleaseSmall => true, - }, + .strip = strip, }) else null; // Exe From 6a8b31571bd3a56a0406250bd4e746b0fa5602e5 Mon Sep 17 00:00:00 2001 From: Jan200101 Date: Tue, 31 Dec 2024 12:09:11 +0100 Subject: [PATCH 4/4] reuse strip option for libraries --- build.zig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build.zig b/build.zig index dffaa88829..05750589bf 100644 --- a/build.zig +++ b/build.zig @@ -690,6 +690,7 @@ pub fn build(b: *std.Build) !void { .root_source_file = b.path("src/main_c.zig"), .optimize = optimize, .target = target, + .strip = strip, }); _ = try addDeps(b, lib, config); @@ -707,6 +708,7 @@ pub fn build(b: *std.Build) !void { .root_source_file = b.path("src/main_c.zig"), .optimize = optimize, .target = target, + .strip = strip, }); _ = try addDeps(b, lib, config);