| author | |
| committer | |
| log | 71ee8ceed9dd045aa7a4bb50291fceb05257314b |
| tree | 88f4d319d8dce57ede7a9b5560f192311348384f |
| parent | 161ac7081a2b9b71800d0d5993af054efd408a34 |
when it is the first parameter after the command name.
fixes regression introduced in d4b70505551ecf568f8af7375cb0e6e5aea97cfb5 files changed, 19 insertions(+), 5 deletions(-)
CMakeLists.txt+3-1| ... | @@ -729,6 +729,8 @@ endif() | ... | @@ -729,6 +729,8 @@ endif() |
| 729 | 729 | ||
| 730 | 730 | ||
| 731 | set(ZIG_BUILD_ARGS | 731 | set(ZIG_BUILD_ARGS |
| 732 | "--zig-lib=${PROJECT_SOURCE_DIR}/lib" | ||
| 733 | |||
| 732 | "-Dversion-string=${RESOLVED_ZIG_VERSION}" | 734 | "-Dversion-string=${RESOLVED_ZIG_VERSION}" |
| 733 | "-Dtarget=${ZIG_TARGET_TRIPLE}" | 735 | "-Dtarget=${ZIG_TARGET_TRIPLE}" |
| 734 | "-Dcpu=${ZIG_TARGET_MCPU}" | 736 | "-Dcpu=${ZIG_TARGET_MCPU}" |
| ... | @@ -791,7 +793,7 @@ set(ZIG2_WORKING_DIR "${PROJECT_SOURCE_DIR}") | ... | @@ -791,7 +793,7 @@ set(ZIG2_WORKING_DIR "${PROJECT_SOURCE_DIR}") |
| 791 | 793 | ||
| 792 | add_custom_command( | 794 | add_custom_command( |
| 793 | OUTPUT "${PROJECT_BINARY_DIR}/stage3/bin/zig" | 795 | OUTPUT "${PROJECT_BINARY_DIR}/stage3/bin/zig" |
| 794 | COMMAND zig2 build --prefix "${PROJECT_BINARY_DIR}/stage3" ${ZIG_BUILD_ARGS} | 796 | COMMAND zig2 build ${ZIG_BUILD_ARGS} --prefix "${PROJECT_BINARY_DIR}/stage3" |
| 795 | COMMENT "Building stage3" | 797 | COMMENT "Building stage3" |
| 796 | WORKING_DIRECTORY "${ZIG2_WORKING_DIR}" | 798 | WORKING_DIRECTORY "${ZIG2_WORKING_DIR}" |
| 797 | ) | 799 | ) |
cmake/install.cmake+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | set(ZIG_INSTALL_ARGS build --prefix "${CMAKE_INSTALL_PREFIX}" ${ZIG_BUILD_ARGS}) | 1 | set(ZIG_INSTALL_ARGS build ${ZIG_BUILD_ARGS} --prefix "${CMAKE_INSTALL_PREFIX}") |
| 2 | execute_process( | 2 | execute_process( |
| 3 | COMMAND "${ZIG_EXECUTABLE}" ${ZIG_INSTALL_ARGS} | 3 | COMMAND "${ZIG_EXECUTABLE}" ${ZIG_INSTALL_ARGS} |
| 4 | WORKING_DIRECTORY "${ZIG2_WORKING_DIR}" | 4 | WORKING_DIRECTORY "${ZIG2_WORKING_DIR}" |
lib/compiler/Maker.zig+2| ... | @@ -316,6 +316,8 @@ pub fn main(init: process.Init.Minimal) !void { | ... | @@ -316,6 +316,8 @@ pub fn main(init: process.Init.Minimal) !void { |
| 316 | try forks.append(arena, .init(rest)); | 316 | try forks.append(arena, .init(rest)); |
| 317 | } else if (mem.eql(u8, arg, "--fork")) { | 317 | } else if (mem.eql(u8, arg, "--fork")) { |
| 318 | try forks.append(arena, .init(nextArgOrFatal(args, &arg_i))); | 318 | try forks.append(arena, .init(nextArgOrFatal(args, &arg_i))); |
| 319 | } else if (mem.startsWith(u8, arg, "--zig-lib=")) { | ||
| 320 | fatal("--zig-lib= argument is special and must be first", .{}); | ||
| 319 | } else if (mem.eql(u8, arg, "-h") or mem.eql(u8, arg, "--help")) { | 321 | } else if (mem.eql(u8, arg, "-h") or mem.eql(u8, arg, "--help")) { |
| 320 | help_menu = true; | 322 | help_menu = true; |
| 321 | } else if (mem.eql(u8, arg, "-l") or mem.eql(u8, arg, "--list-steps")) { | 323 | } else if (mem.eql(u8, arg, "-l") or mem.eql(u8, arg, "--list-steps")) { |
lib/compiler/Maker/ScannedConfig.zig+1| ... | @@ -342,6 +342,7 @@ pub fn printUsage(sc: *const ScannedConfig, graph: *Graph, w: *Writer) !void { | ... | @@ -342,6 +342,7 @@ pub fn printUsage(sc: *const ScannedConfig, graph: *Graph, w: *Writer) !void { |
| 342 | \\ --build-file [file] Override path to build.zig | 342 | \\ --build-file [file] Override path to build.zig |
| 343 | \\ --cache-dir [path] Override path to local Zig cache directory | 343 | \\ --cache-dir [path] Override path to local Zig cache directory |
| 344 | \\ --global-cache-dir [path] Override path to global Zig cache directory | 344 | \\ --global-cache-dir [path] Override path to global Zig cache directory |
| 345 | \\ --zig-lib=[arg] Override path to Zig lib directory | ||
| 345 | \\ --seed [integer] For shuffling dependency traversal order (default: random) | 346 | \\ --seed [integer] For shuffling dependency traversal order (default: random) |
| 346 | \\ --cache-poison[=mode] Override configuration caching behavior | 347 | \\ --cache-poison[=mode] Override configuration caching behavior |
| 347 | \\ pure (default) Avoid false positive cache hits | 348 | \\ pure (default) Avoid false positive cache hits |
src/main.zig+12-3| ... | @@ -4932,9 +4932,18 @@ fn jitCmdInner( | ... | @@ -4932,9 +4932,18 @@ fn jitCmdInner( |
| 4932 | else | 4932 | else |
| 4933 | options.release_mode; | 4933 | options.release_mode; |
| 4934 | const strip = optimize_mode != .Debug; | 4934 | const strip = optimize_mode != .Debug; |
| 4935 | const override_lib_dir: ?[]const u8 = EnvVar.ZIG_LIB_DIR.get(environ_map); | 4935 | var override_lib_dir: ?[]const u8 = EnvVar.ZIG_LIB_DIR.get(environ_map); |
| 4936 | const override_global_cache_dir: ?[]const u8 = EnvVar.ZIG_GLOBAL_CACHE_DIR.get(environ_map); | 4936 | const override_global_cache_dir: ?[]const u8 = EnvVar.ZIG_GLOBAL_CACHE_DIR.get(environ_map); |
| 4937 | 4937 | ||
| 4938 | // Special case: if first arg starts with --zig-lib= then it is handled here. | ||
| 4939 | var args_i: usize = 0; | ||
| 4940 | if (args.len - args_i != 0) { | ||
| 4941 | if (mem.cutPrefix(u8, args[args_i], "--zig-lib=")) |rest| { | ||
| 4942 | override_lib_dir = rest; | ||
| 4943 | args_i += 1; | ||
| 4944 | } | ||
| 4945 | } | ||
| 4946 | |||
| 4938 | const cwd_path = try std.zig.getResolvedCwd(io, arena); | 4947 | const cwd_path = try std.zig.getResolvedCwd(io, arena); |
| 4939 | 4948 | ||
| 4940 | // This `init` calls `fatal` on error. | 4949 | // This `init` calls `fatal` on error. |
| ... | @@ -4952,7 +4961,7 @@ fn jitCmdInner( | ... | @@ -4952,7 +4961,7 @@ fn jitCmdInner( |
| 4952 | defer dirs.deinit(io); | 4961 | defer dirs.deinit(io); |
| 4953 | 4962 | ||
| 4954 | var child_argv: std.ArrayList([]const u8) = .empty; | 4963 | var child_argv: std.ArrayList([]const u8) = .empty; |
| 4955 | try child_argv.ensureUnusedCapacity(arena, args.len + 6); | 4964 | try child_argv.ensureUnusedCapacity(arena, (args.len - args_i) + 6); |
| 4956 | 4965 | ||
| 4957 | // We want to release all the locks before executing the child process, so we make a nice | 4966 | // We want to release all the locks before executing the child process, so we make a nice |
| 4958 | // big block here to ensure the cleanup gets run when we extract out our argv. | 4967 | // big block here to ensure the cleanup gets run when we extract out our argv. |
| ... | @@ -5064,7 +5073,7 @@ fn jitCmdInner( | ... | @@ -5064,7 +5073,7 @@ fn jitCmdInner( |
| 5064 | if (options.prepend_seed) | 5073 | if (options.prepend_seed) |
| 5065 | child_argv.appendAssumeCapacity(try arena.print("--seed=0x{x}", .{randInt(io, u32)})); | 5074 | child_argv.appendAssumeCapacity(try arena.print("--seed=0x{x}", .{randInt(io, u32)})); |
| 5066 | 5075 | ||
| 5067 | child_argv.appendSliceAssumeCapacity(args); | 5076 | child_argv.appendSliceAssumeCapacity(args[args_i..]); |
| 5068 | 5077 | ||
| 5069 | if (EnvVar.ZIG_VERBOSE_CMD.isSet(environ_map)) { | 5078 | if (EnvVar.ZIG_VERBOSE_CMD.isSet(environ_map)) { |
| 5070 | const cmd: std.zig.SubprocessCommand = .{ | 5079 | const cmd: std.zig.SubprocessCommand = .{ |