@@ -13,6 +13,12 @@ const targets: []const std.Target.Query = &.{
13
13
pub fn build (b : * std.Build ) ! void {
14
14
const optimize = b .standardOptimizeOption (.{});
15
15
16
+ const tarball = b .option (
17
+ bool ,
18
+ "tarball" ,
19
+ "Generate tarball with signature" ,
20
+ ) orelse false ;
21
+
16
22
for (targets ) | t | {
17
23
const triple = try t .zigTriple (b .allocator );
18
24
const target = b .resolveTargetQuery (t );
@@ -49,36 +55,38 @@ pub fn build(b: *std.Build) !void {
49
55
});
50
56
b .getInstallStep ().dependOn (& out .step );
51
57
52
- // Archive executable
53
- const tar_name = try std .mem .concat (b .allocator , u8 , &.{ name , "-" , triple , ".tar.gz" });
54
- const tar = b .addSystemCommand (&.{"tar" });
55
- tar .setCwd (exe_dir );
56
- tar .addArgs (&.{"-czf" });
57
- tar .addArg (tar_name );
58
- tar .addArg (exe .out_filename );
59
- tar .step .dependOn (& out .step );
58
+ if (tarball ) {
59
+ // Archive executable
60
+ const tar_name = try std .mem .concat (b .allocator , u8 , &.{ name , "-" , triple , ".tar.gz" });
61
+ const tar = b .addSystemCommand (&.{"tar" });
62
+ tar .setCwd (exe_dir );
63
+ tar .addArgs (&.{"-czf" });
64
+ tar .addArg (tar_name );
65
+ tar .addArg (exe .out_filename );
66
+ tar .step .dependOn (& out .step );
60
67
61
- // Sign archive file
62
- const sign_name = try std .mem .concat (b .allocator , u8 , &.{ tar_name , ".minisig" });
63
- const sign = b .addSystemCommand (&.{"minisign" });
64
- sign .addPrefixedFileArg ("-Sm" , exe_dir .path (b , tar_name ));
65
- sign .addPrefixedFileArg ("-x" , exe_dir .path (b , sign_name ));
66
- sign .addPrefixedFileArg ("-s" , b .path ("minisign.key" ));
67
- sign .step .dependOn (& tar .step );
68
+ // Sign archive file
69
+ const sign_name = try std .mem .concat (b .allocator , u8 , &.{ tar_name , ".minisig" });
70
+ const sign = b .addSystemCommand (&.{"minisign" });
71
+ sign .addPrefixedFileArg ("-Sm" , exe_dir .path (b , tar_name ));
72
+ sign .addPrefixedFileArg ("-x" , exe_dir .path (b , sign_name ));
73
+ sign .addPrefixedFileArg ("-s" , b .path ("minisign.key" ));
74
+ sign .step .dependOn (& tar .step );
68
75
69
- const install_tar = b .addInstallFile (
70
- exe_dir .path (b , tar_name ),
71
- b .pathJoin (&.{ triple , tar_name }),
72
- );
73
- install_tar .step .dependOn (& tar .step );
74
- b .getInstallStep ().dependOn (& install_tar .step );
76
+ const install_tar = b .addInstallFile (
77
+ exe_dir .path (b , tar_name ),
78
+ b .pathJoin (&.{ triple , tar_name }),
79
+ );
80
+ install_tar .step .dependOn (& tar .step );
81
+ b .getInstallStep ().dependOn (& install_tar .step );
75
82
76
- const install_sign = b .addInstallFile (
77
- exe_dir .path (b , sign_name ),
78
- b .pathJoin (&.{ triple , sign_name }),
79
- );
80
- install_sign .step .dependOn (& sign .step );
81
- b .getInstallStep ().dependOn (& install_sign .step );
83
+ const install_sign = b .addInstallFile (
84
+ exe_dir .path (b , sign_name ),
85
+ b .pathJoin (&.{ triple , sign_name }),
86
+ );
87
+ install_sign .step .dependOn (& sign .step );
88
+ b .getInstallStep ().dependOn (& install_sign .step );
89
+ }
82
90
83
91
// Use `zig build run` for debug
84
92
if (optimize == .Debug and t .os_tag == .macos ) {
0 commit comments