| ... | @@ -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); |
| 3947 | | 3929 | |
| 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 | } |
| 3959 | | 3933 | |
| 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 | }; |
| 3979 | | 3953 | |
| 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 | } |
| 3986 | | 3959 | |
| ... | @@ -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 | |
| | 7481 | fn 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 | } |