mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-10-28 10:45:48 +08:00
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:
1 parent
161ac7081a
commit
71ee8ceed9
5 files changed
+19
-5
No files matched your search
+3
-1
@@ -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
@@ -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}"
|
||||
|
||||
@@ -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")) {
|
||||
|
||||
@@ -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
@@ -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 = .{
|
||||
|
||||
Reference in new issue
Block a user