aboutsummaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-11-21 16:46:45 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-11-22 20:58:13 -0700
commit7717cacacbf86e069ff3ffebf4a1a24f1a74903f (patch)
tree4d585d073c282ac658189860a31a9439b32e4111 /src/main.zig
parent58d3ee2a08f5a1f1c66d5e3b4f215361073c6372 (diff)
downloadzig-7717cacacbf86e069ff3ffebf4a1a24f1a74903f.tar.gz
zig-7717cacacbf86e069ff3ffebf4a1a24f1a74903f.zip
CLI: resolve zig lib directory before using it
Fixes issues with trailing slashes and things like this.
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/main.zig b/src/main.zig
index 24518d743d..f5855da6b9 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -2744,11 +2744,14 @@ fn buildOutputType(
}
const self_exe_path = try introspect.findZigExePath(arena);
- var zig_lib_directory: Compilation.Directory = if (override_lib_dir) |lib_dir| .{
- .path = lib_dir,
- .handle = fs.cwd().openDir(lib_dir, .{}) catch |err| {
- fatal("unable to open zig lib directory '{s}': {s}", .{ lib_dir, @errorName(err) });
- },
+ var zig_lib_directory: Compilation.Directory = if (override_lib_dir) |unresolved_lib_dir| l: {
+ const lib_dir = try fs.path.resolve(arena, &.{unresolved_lib_dir});
+ break :l .{
+ .path = lib_dir,
+ .handle = fs.cwd().openDir(lib_dir, .{}) catch |err| {
+ fatal("unable to open zig lib directory '{s}': {s}", .{ lib_dir, @errorName(err) });
+ },
+ };
} else introspect.findZigLibDirFromSelfExe(arena, self_exe_path) catch |err| {
fatal("unable to find zig installation directory: {s}\n", .{@errorName(err)});
};