From e12a72db92164dab46023dad03d10f5047477d95 Mon Sep 17 00:00:00 2001 From: Elaine Gibson Date: Wed, 20 Mar 2024 22:14:12 +0000 Subject: [PATCH] main: set subsystem version from target windows version --- src/main.zig | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main.zig b/src/main.zig index be2083a0f8..4407ca72ce 100644 --- a/src/main.zig +++ b/src/main.zig @@ -2799,6 +2799,16 @@ fn buildOutputType( const target = main_mod.resolved_target.result; + if (target.os.tag == .windows and major_subsystem_version == null and minor_subsystem_version == null) { + major_subsystem_version, minor_subsystem_version = switch (target.os.version_range.windows.min) { + .nt4 => .{ 4, 0 }, + .win2k => .{ 5, 0 }, + .xp => if (target.cpu.arch == .x86_64) .{ 5, 2 } else .{ 5, 1 }, + .ws2003 => .{ 5, 2 }, + else => .{ null, null }, + }; + } + if (target.ofmt != .coff) { if (manifest_file != null) { fatal("manifest file is not allowed unless the target object format is coff (Windows/UEFI)", .{});