diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2025-05-29 18:22:37 +0200 |
|---|---|---|
| committer | Alex Rønne Petersen <alex@alexrp.com> | 2025-05-30 02:11:36 +0200 |
| commit | 4641e9556d1343e95e4676e2f1e3024173db9962 (patch) | |
| tree | 9e3eb60c8b4cb0412a0ada4d3d6defa6396397fe /src/Compilation.zig | |
| parent | 0cbff2ff7ff175a40c452bb5ca4a32a282a77088 (diff) | |
| download | zig-4641e9556d1343e95e4676e2f1e3024173db9962.tar.gz zig-4641e9556d1343e95e4676e2f1e3024173db9962.zip | |
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.
Diffstat (limited to 'src/Compilation.zig')
| -rw-r--r-- | src/Compilation.zig | 8 |
1 files changed, 6 insertions, 2 deletions
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; } |
