diff --git a/lib/std/build.zig b/lib/std/build.zig index 6cd50e7dd8..e11402e493 100644 --- a/lib/std/build.zig +++ b/lib/std/build.zig @@ -1421,6 +1421,8 @@ pub const LibExeObjStep = struct { /// Overrides the default stack size stack_size: ?u64 = null, + want_lto: ?bool = null, + const LinkObject = union(enum) { StaticPath: []const u8, OtherStep: *LibExeObjStep, @@ -2589,6 +2591,14 @@ pub const LibExeObjStep = struct { } } + if (self.want_lto) |lto| { + if (lto) { + try zig_args.append("-flto"); + } else { + try zig_args.append("-fno-lto"); + } + } + if (self.subsystem) |subsystem| { try zig_args.append("--subsystem"); try zig_args.append(switch (subsystem) {