authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-01-07 22:16:00-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-01-08 11:52:38-07:00
log99922c2708bbbda4fcdc16a45a5d3071dd1495c0
tree589ade28a4210ecd142ebc5497e2e7d846b49ca4
parent089ebeb8736e9186c14d8228fa5594c518dcdb4b

Compilation: only add __MSVCRT_VERSION__ for -lc

prevents it from being defined twice when building mingw-w64 libs.

1 files changed, 13 insertions(+), 9 deletions(-)

src/Compilation.zig+13-9
......@@ -5086,12 +5086,17 @@ pub fn addCCArgs(
50865086 try argv.append(libunwind_include_path);
50875087 }
50885088
5089 if (comp.config.link_libc and target.isGnuLibC()) {
5090 const target_version = target.os.version_range.linux.glibc;
5091 const glibc_minor_define = try std.fmt.allocPrint(arena, "-D__GLIBC_MINOR__={d}", .{
5092 target_version.minor,
5093 });
5094 try argv.append(glibc_minor_define);
5089 if (comp.config.link_libc) {
5090 if (target.isGnuLibC()) {
5091 const target_version = target.os.version_range.linux.glibc;
5092 const glibc_minor_define = try std.fmt.allocPrint(arena, "-D__GLIBC_MINOR__={d}", .{
5093 target_version.minor,
5094 });
5095 try argv.append(glibc_minor_define);
5096 } else if (target.isMinGW()) {
5097 try argv.append("-D__MSVCRT_VERSION__=0xE00"); // use ucrt
5098
5099 }
50955100 }
50965101
50975102 const llvm_triple = try @import("codegen/llvm.zig").targetTriple(arena, target);
......@@ -5100,10 +5105,9 @@ pub fn addCCArgs(
51005105 if (target.os.tag == .windows) switch (ext) {
51015106 .c, .cpp, .m, .mm, .h, .cu, .rc, .assembly, .assembly_with_cpp => {
51025107 const minver: u16 = @truncate(@intFromEnum(target.os.getVersionRange().windows.min) >> 16);
5103 try argv.appendSlice(&.{
5108 try argv.append(
51045109 try std.fmt.allocPrint(arena, "-D_WIN32_WINNT=0x{x:0>4}", .{minver}),
5105 "-D__MSVCRT_VERSION__=0xE00", // use ucrt
5106 });
5110 );
51075111 },
51085112 else => {},
51095113 };