compiler: jit commands support --zig-lib=[path]

when it is the first parameter after the command name.

fixes regression introduced in d4b7050555
This commit is contained in:
Andrew Kelley committed 2026-07-01 20:16:23 -07:00
1 parent 161ac7081a
commit 71ee8ceed9
5 files changed
+19 -5

No files matched your search

+3 -1
View File
@@ -729,6 +729,8 @@ endif()
set(ZIG_BUILD_ARGS
"--zig-lib=${PROJECT_SOURCE_DIR}/lib"
"-Dversion-string=${RESOLVED_ZIG_VERSION}"
"-Dtarget=${ZIG_TARGET_TRIPLE}"
"-Dcpu=${ZIG_TARGET_MCPU}"
@@ -791,7 +793,7 @@ set(ZIG2_WORKING_DIR "${PROJECT_SOURCE_DIR}")
add_custom_command(
OUTPUT "${PROJECT_BINARY_DIR}/stage3/bin/zig"
COMMAND zig2 build --prefix "${PROJECT_BINARY_DIR}/stage3" ${ZIG_BUILD_ARGS}
COMMAND zig2 build ${ZIG_BUILD_ARGS} --prefix "${PROJECT_BINARY_DIR}/stage3"
COMMENT "Building stage3"
WORKING_DIRECTORY "${ZIG2_WORKING_DIR}"
)
+1 -1
View File
@@ -1,4 +1,4 @@
set(ZIG_INSTALL_ARGS build --prefix "${CMAKE_INSTALL_PREFIX}" ${ZIG_BUILD_ARGS})
set(ZIG_INSTALL_ARGS build ${ZIG_BUILD_ARGS} --prefix "${CMAKE_INSTALL_PREFIX}")
execute_process(
COMMAND "${ZIG_EXECUTABLE}" ${ZIG_INSTALL_ARGS}
WORKING_DIRECTORY "${ZIG2_WORKING_DIR}"
+2
View File
@@ -316,6 +316,8 @@ pub fn main(init: process.Init.Minimal) !void {
try forks.append(arena, .init(rest));
} else if (mem.eql(u8, arg, "--fork")) {
try forks.append(arena, .init(nextArgOrFatal(args, &arg_i)));
} else if (mem.startsWith(u8, arg, "--zig-lib=")) {
fatal("--zig-lib= argument is special and must be first", .{});
} else if (mem.eql(u8, arg, "-h") or mem.eql(u8, arg, "--help")) {
help_menu = true;
} else if (mem.eql(u8, arg, "-l") or mem.eql(u8, arg, "--list-steps")) {
+1
View File
@@ -342,6 +342,7 @@ pub fn printUsage(sc: *const ScannedConfig, graph: *Graph, w: *Writer) !void {
\\ --build-file [file] Override path to build.zig
\\ --cache-dir [path] Override path to local Zig cache directory
\\ --global-cache-dir [path] Override path to global Zig cache directory
\\ --zig-lib=[arg] Override path to Zig lib directory
\\ --seed [integer] For shuffling dependency traversal order (default: random)
\\ --cache-poison[=mode] Override configuration caching behavior
\\ pure (default) Avoid false positive cache hits
+12 -3
View File
@@ -4932,9 +4932,18 @@ fn jitCmdInner(
else
options.release_mode;
const strip = optimize_mode != .Debug;
const override_lib_dir: ?[]const u8 = EnvVar.ZIG_LIB_DIR.get(environ_map);
var override_lib_dir: ?[]const u8 = EnvVar.ZIG_LIB_DIR.get(environ_map);
const override_global_cache_dir: ?[]const u8 = EnvVar.ZIG_GLOBAL_CACHE_DIR.get(environ_map);
// Special case: if first arg starts with --zig-lib= then it is handled here.
var args_i: usize = 0;
if (args.len - args_i != 0) {
if (mem.cutPrefix(u8, args[args_i], "--zig-lib=")) |rest| {
override_lib_dir = rest;
args_i += 1;
}
}
const cwd_path = try std.zig.getResolvedCwd(io, arena);
// This `init` calls `fatal` on error.
@@ -4952,7 +4961,7 @@ fn jitCmdInner(
defer dirs.deinit(io);
var child_argv: std.ArrayList([]const u8) = .empty;
try child_argv.ensureUnusedCapacity(arena, args.len + 6);
try child_argv.ensureUnusedCapacity(arena, (args.len - args_i) + 6);
// We want to release all the locks before executing the child process, so we make a nice
// big block here to ensure the cleanup gets run when we extract out our argv.
@@ -5064,7 +5073,7 @@ fn jitCmdInner(
if (options.prepend_seed)
child_argv.appendAssumeCapacity(try arena.print("--seed=0x{x}", .{randInt(io, u32)}));
child_argv.appendSliceAssumeCapacity(args);
child_argv.appendSliceAssumeCapacity(args[args_i..]);
if (EnvVar.ZIG_VERBOSE_CMD.isSet(environ_map)) {
const cmd: std.zig.SubprocessCommand = .{