authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-01-04 23:20:02-08:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-01-05 00:19:16-08:00
log36044a0e81702954e0ad5d5bd14a8b23929e7db8
treebfaeaabd5241e09aa21895bb93a23157f495dac0
parent75f417108c20f6bf8403202b6ec177f69497bcd8

test-standalone: explicitly link to advapi32 sometimes

Now, nearly every object produced by zig has a dependency on advapi32.dll due to the dependency on RtlGenRandom due to the implementation of dirCreateFileAtomic which is now analyzed whether or not it is used.

3 files changed, 3 insertions(+), 0 deletions(-)

test/standalone/issue_5825/build.zig+1
......@@ -32,6 +32,7 @@ pub fn build(b: *std.Build) void {
3232 }),
3333 });
3434 exe.subsystem = .console;
35 exe.root_module.linkSystemLibrary("advapi32", .{}); // for RtlGenRandom
3536 exe.root_module.linkSystemLibrary("kernel32", .{});
3637 exe.root_module.linkSystemLibrary("ntdll", .{});
3738 exe.root_module.addObject(obj);
test/standalone/test_obj_link_run/build.zig+1
......@@ -12,6 +12,7 @@ pub fn build(b: *std.Build) void {
1212 test_obj.root_module.linkSystemLibrary("ntdll", .{});
1313 test_obj.root_module.linkSystemLibrary("kernel32", .{});
1414 test_obj.root_module.linkSystemLibrary("ws2_32", .{});
15 test_obj.root_module.linkSystemLibrary("advapi32", .{}); // for RtlGenRandom
1516 }
1617
1718 const test_exe_mod = b.createModule(.{
test/standalone/windows_argv/build.zig+1
......@@ -86,6 +86,7 @@ pub fn build(b: *std.Build) !void {
8686 .optimize = optimize,
8787 }),
8888 });
89 lib_msvc.root_module.linkSystemLibrary("advapi32", .{}); // for RtlGenRandom
8990 const verify_msvc = b.addExecutable(.{
9091 .name = "verify-msvc",
9192 .root_module = b.createModule(.{