diff --git a/build.zig b/build.zig index 68115ed032..8fa7590ebb 100644 --- a/build.zig +++ b/build.zig @@ -102,9 +102,12 @@ pub fn build(b: *std.Build) !void { } } if (!system_integration_options.uv) { - if (b.lazyDependency("libuv", .{ .target = target, .optimize = optimize })) |dep| { + // NOTE: libuv on Windows depends on Windows SDK when compiled with .Debug mode + // https://github.com/neovim/neovim/issues/36889 + const optimize_uv = if (optimize == .Debug and target.result.os.tag == .windows) .ReleaseSafe else optimize; + if (b.lazyDependency("libuv", .{ .target = target, .optimize = optimize_uv })) |dep| { libuv = dep.artifact("uv"); - libluv = try build_lua.build_libluv(b, target, optimize, lua, libuv.?, use_luajit); + libluv = try build_lua.build_libluv(b, target, optimize_uv, lua, libuv.?, use_luajit); libluv_host = if (cross_compiling) libluv_host: { const libuv_dep_host = b.lazyDependency("libuv", .{