From 4641e9556d1343e95e4676e2f1e3024173db9962 Mon Sep 17 00:00:00 2001 From: Alex Rønne Petersen Date: Thu, 29 May 2025 18:22:37 +0200 Subject: mingw: Link to ucrtbased.dll instead of API set DLLs in Debug mode. By using the debug UCRT, we get access to functions like _CrtDbgReport. Closes #23983. --- src/Compilation.zig | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/Compilation.zig') diff --git a/src/Compilation.zig b/src/Compilation.zig index 8f986a5cdf..0e74cff502 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -2352,8 +2352,12 @@ pub fn create(gpa: Allocator, arena: Allocator, options: CreateOptions) !*Compil comp.remaining_prelink_tasks += 2; // When linking mingw-w64 there are some import libs we always need. - try comp.windows_libs.ensureUnusedCapacity(gpa, mingw.always_link_libs.len); - for (mingw.always_link_libs) |name| comp.windows_libs.putAssumeCapacity(name, {}); + const always_link_libs: []const []const u8 = switch (comp.root_mod.optimize_mode) { + .Debug => &mingw.always_link_libs_debug, + .ReleaseSafe, .ReleaseFast, .ReleaseSmall => &mingw.always_link_libs_release, + }; + try comp.windows_libs.ensureUnusedCapacity(gpa, always_link_libs.len); + for (always_link_libs) |name| comp.windows_libs.putAssumeCapacity(name, {}); } else { return error.LibCUnavailable; } -- cgit v1.2.3