@@ -498,8 +498,8 @@ pub const Target = struct {
498498 .netbsd ,
499499 .hurd ,
500500 .haiku ,
501- = > return .gnu ,
502501 .windows ,
502+ = > return .gnu ,
503503 .uefi ,
504504 = > return .msvc ,
505505 .linux ,
@@ -1258,15 +1258,18 @@ pub const Target = struct {
12581258 return linuxTripleSimple (allocator , self .cpu .arch , self .os .tag , self .abi );
12591259 }
12601260
1261- pub fn oFileExt_cpu_arch_abi (cpu_arch : Cpu.Arch , abi : Abi ) [:0 ]const u8 {
1262- switch (abi ) {
1263- .msvc = > return ".obj" ,
1261+ pub fn oFileExt_os_abi (os_tag : Os.Tag , abi : Abi ) [:0 ]const u8 {
1262+ if (abi == .msvc ) {
1263+ return ".obj" ;
1264+ }
1265+ switch (os_tag ) {
1266+ .windows , .uefi = > return ".obj" ,
12641267 else = > return ".o" ,
12651268 }
12661269 }
12671270
12681271 pub fn oFileExt (self : Target ) [:0 ]const u8 {
1269- return oFileExt_cpu_arch_abi (self .cpu . arch , self .abi );
1272+ return oFileExt_os_abi (self .os . tag , self .abi );
12701273 }
12711274
12721275 pub fn exeFileExtSimple (cpu_arch : Cpu.Arch , os_tag : Os.Tag ) [:0 ]const u8 {
@@ -1285,30 +1288,36 @@ pub const Target = struct {
12851288 return exeFileExtSimple (self .cpu .arch , self .os .tag );
12861289 }
12871290
1288- pub fn staticLibSuffix_cpu_arch_abi (cpu_arch : Cpu.Arch , abi : Abi ) [:0 ]const u8 {
1289- switch (abi ) {
1290- .msvc = > return ".lib" ,
1291+ pub fn staticLibSuffix_os_abi (os_tag : Os.Tag , abi : Abi ) [:0 ]const u8 {
1292+ if (abi == .msvc ) {
1293+ return ".lib" ;
1294+ }
1295+ switch (os_tag ) {
1296+ .windows , .uefi = > return ".lib" ,
12911297 else = > return ".a" ,
12921298 }
12931299 }
12941300
12951301 pub fn staticLibSuffix (self : Target ) [:0 ]const u8 {
1296- return staticLibSuffix_cpu_arch_abi (self .cpu . arch , self .abi );
1302+ return staticLibSuffix_os_abi (self .os . tag , self .abi );
12971303 }
12981304
12991305 pub fn dynamicLibSuffix (self : Target ) [:0 ]const u8 {
13001306 return self .os .tag .dynamicLibSuffix ();
13011307 }
13021308
1303- pub fn libPrefix_cpu_arch_abi (cpu_arch : Cpu.Arch , abi : Abi ) [:0 ]const u8 {
1304- switch (abi ) {
1305- .msvc = > return "" ,
1309+ pub fn libPrefix_os_abi (os_tag : Os.Tag , abi : Abi ) [:0 ]const u8 {
1310+ if (abi == .msvc ) {
1311+ return "" ;
1312+ }
1313+ switch (os_tag ) {
1314+ .windows , .uefi = > return "" ,
13061315 else = > return "lib" ,
13071316 }
13081317 }
13091318
13101319 pub fn libPrefix (self : Target ) [:0 ]const u8 {
1311- return libPrefix_cpu_arch_abi (self .cpu . arch , self .abi );
1320+ return libPrefix_os_abi (self .os . tag , self .abi );
13121321 }
13131322
13141323 pub fn getObjectFormatSimple (os_tag : Os.Tag , cpu_arch : Cpu.Arch ) ObjectFormat {
0 commit comments