authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-10-16 14:55:18-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-10-23 16:27:38-07:00
log353d3023c01e6b5311a98168f15bd31aae3933b8
tree2575f33f6c22a7bcb4a52cb40a8b612a5ff66ef9
parente331e8171987a59a882c63e1156e7a3a8eb871a1

fix windows build


1 files changed, 17 insertions(+), 34 deletions(-)

src/main.zig+17-34
...@@ -3885,32 +3885,14 @@ fn createModule(...@@ -3885,32 +3885,14 @@ fn createModule(
3885 if (fs.path.isAbsolute(lib_dir_arg)) {3885 if (fs.path.isAbsolute(lib_dir_arg)) {
3886 const stripped_dir = lib_dir_arg[fs.path.diskDesignator(lib_dir_arg).len..];3886 const stripped_dir = lib_dir_arg[fs.path.diskDesignator(lib_dir_arg).len..];
3887 const full_path = try fs.path.join(arena, &[_][]const u8{ root, stripped_dir });3887 const full_path = try fs.path.join(arena, &[_][]const u8{ root, stripped_dir });
3888 create_module.lib_directories.appendAssumeCapacity(.{3888 addLibDirectoryWarn(&create_module.lib_directories, full_path);
3889 .handle = fs.cwd().openDir(full_path, .{}) catch |err| {
3890 warn("unable to open library directory {s}: {s}", .{ full_path, @errorName(err) });
3891 continue;
3892 },
3893 .path = full_path,
3894 });
3895 } else {3889 } else {
3896 create_module.lib_directories.appendAssumeCapacity(.{3890 addLibDirectoryWarn(&create_module.lib_directories, lib_dir_arg);
3897 .handle = fs.cwd().openDir(lib_dir_arg, .{}) catch |err| {
3898 warn("unable to open library directory {s}: {s}", .{ lib_dir_arg, @errorName(err) });
3899 continue;
3900 },
3901 .path = lib_dir_arg,
3902 });
3903 }3891 }
3904 }3892 }
3905 } else {3893 } else {
3906 for (create_module.lib_dir_args.items) |lib_dir_arg| {3894 for (create_module.lib_dir_args.items) |lib_dir_arg| {
3907 create_module.lib_directories.appendAssumeCapacity(.{3895 addLibDirectoryWarn(&create_module.lib_directories, lib_dir_arg);
3908 .handle = fs.cwd().openDir(lib_dir_arg, .{}) catch |err| {
3909 warn("unable to open library directory {s}: {s}", .{ lib_dir_arg, @errorName(err) });
3910 continue;
3911 },
3912 .path = lib_dir_arg,
3913 });
3914 }3896 }
3915 }3897 }
3916 create_module.lib_dir_args = undefined; // From here we use lib_directories instead.3898 create_module.lib_dir_args = undefined; // From here we use lib_directories instead.
...@@ -3946,15 +3928,7 @@ fn createModule(...@@ -3946,15 +3928,7 @@ fn createModule(
3946 try create_module.rpath_list.appendSlice(arena, paths.rpaths.items);3928 try create_module.rpath_list.appendSlice(arena, paths.rpaths.items);
39473929
3948 try create_module.lib_directories.ensureUnusedCapacity(arena, paths.lib_dirs.items.len);3930 try create_module.lib_directories.ensureUnusedCapacity(arena, paths.lib_dirs.items.len);
3949 for (paths.lib_dirs.items) |lib_dir| {3931 for (paths.lib_dirs.items) |path| addLibDirectoryWarn(&create_module.lib_directories, path);
3950 create_module.lib_directories.appendAssumeCapacity(.{
3951 .handle = fs.cwd().openDir(lib_dir, .{}) catch |err| {
3952 warn("unable to open library directory {s}: {s}", .{ lib_dir, @errorName(err) });
3953 continue;
3954 },
3955 .path = lib_dir,
3956 });
3957 }
3958 }3932 }
39593933
3960 if (create_module.libc_paths_file) |paths_file| {3934 if (create_module.libc_paths_file) |paths_file| {
...@@ -3977,10 +3951,9 @@ fn createModule(...@@ -3977,10 +3951,9 @@ fn createModule(
3977 fatal("unable to find native libc installation: {s}", .{@errorName(err)});3951 fatal("unable to find native libc installation: {s}", .{@errorName(err)});
3978 };3952 };
39793953
3980 try create_module.lib_directories.appendSlice(arena, &.{3954 try create_module.lib_directories.ensureUnusedCapacity(arena, 2);
3981 create_module.libc_installation.?.msvc_lib_dir.?,3955 addLibDirectoryWarn(&create_module.lib_directories, create_module.libc_installation.?.msvc_lib_dir.?);
3982 create_module.libc_installation.?.kernel32_lib_dir.?,3956 addLibDirectoryWarn(&create_module.lib_directories, create_module.libc_installation.?.kernel32_lib_dir.?);
3983 });
3984 }3957 }
3985 }3958 }
39863959
...@@ -7504,3 +7477,13 @@ fn anyObjectLinkInputs(link_inputs: []const link.UnresolvedInput) bool {...@@ -7504,3 +7477,13 @@ fn anyObjectLinkInputs(link_inputs: []const link.UnresolvedInput) bool {
7504 };7477 };
7505 return false;7478 return false;
7506}7479}
7480
7481fn addLibDirectoryWarn(lib_directories: *std.ArrayListUnmanaged(Directory), path: []const u8) void {
7482 lib_directories.appendAssumeCapacity(.{
7483 .handle = fs.cwd().openDir(path, .{}) catch |err| {
7484 warn("unable to open library directory '{s}': {s}", .{ path, @errorName(err) });
7485 return;
7486 },
7487 .path = path,
7488 });
7489}