diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2018-12-01 01:21:59 -0500 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2018-12-01 01:21:59 -0500 |
| commit | a9eab69b588176508d027f96eed298134433cd6e (patch) | |
| tree | ad4de8856733db2412c1f0c578e287cd4318e200 /std/build.zig | |
| parent | 823969a5a47e054842056e3380b3987058ccd2dd (diff) | |
| download | zig-a9eab69b588176508d027f96eed298134433cd6e.tar.gz zig-a9eab69b588176508d027f96eed298134433cd6e.zip | |
zig build: addStaticExecutable
Diffstat (limited to 'std/build.zig')
| -rw-r--r-- | std/build.zig | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/std/build.zig b/std/build.zig index 5d894eeeb1..034e3ce324 100644 --- a/std/build.zig +++ b/std/build.zig @@ -150,7 +150,11 @@ pub const Builder = struct { } pub fn addExecutable(self: *Builder, name: []const u8, root_src: ?[]const u8) *LibExeObjStep { - return LibExeObjStep.createExecutable(self, name, root_src); + return LibExeObjStep.createExecutable(self, name, root_src, false); + } + + pub fn addStaticExecutable(self: *Builder, name: []const u8, root_src: ?[]const u8) *LibExeObjStep { + return LibExeObjStep.createExecutable(self, name, root_src, true); } pub fn addObject(self: *Builder, name: []const u8, root_src: []const u8) *LibExeObjStep { @@ -891,8 +895,8 @@ pub const LibExeObjStep = struct { return self; } - pub fn createExecutable(builder: *Builder, name: []const u8, root_src: ?[]const u8) *LibExeObjStep { - const self = builder.allocator.create(initExtraArgs(builder, name, root_src, Kind.Exe, false, builder.version(0, 0, 0))) catch unreachable; + pub fn createExecutable(builder: *Builder, name: []const u8, root_src: ?[]const u8, static: bool) *LibExeObjStep { + const self = builder.allocator.create(initExtraArgs(builder, name, root_src, Kind.Exe, static, builder.version(0, 0, 0))) catch unreachable; return self; } @@ -1270,6 +1274,9 @@ pub const LibExeObjStep = struct { zig_args.append("--ver-patch") catch unreachable; zig_args.append(builder.fmt("{}", self.version.patch)) catch unreachable; } + if (self.kind == Kind.Exe and self.static) { + zig_args.append("--static") catch unreachable; + } switch (self.target) { Target.Native => {}, |
