| ... | ... | @@ -4,7 +4,7 @@ const Dir = std.Io.Dir; |
| 4 | 4 | const Allocator = std.mem.Allocator; |
| 5 | 5 | const Cache = std.Build.Cache; |
| 6 | 6 | |
| 7 | | const usage = "usage: incr-check <zig binary path> <input file> [--zig-lib-dir lib] [--debug-zcu] [--debug-dwarf] [--debug-link] [--preserve-tmp] [--zig-cc-binary /path/to/zig]"; |
| 7 | const usage = "usage: incr-check <zig binary path> <input file> [--zig-lib-dir lib] [--debug-log foo] [--preserve-tmp] [--zig-cc-binary /path/to/zig]"; |
| 8 | 8 | |
| 9 | 9 | pub fn main() !void { |
| 10 | 10 | const fatal = std.process.fatal; |
| ... | ... | @@ -23,27 +23,25 @@ pub fn main() !void { |
| 23 | 23 | var opt_input_file_name: ?[]const u8 = null; |
| 24 | 24 | var opt_lib_dir: ?[]const u8 = null; |
| 25 | 25 | var opt_cc_zig: ?[]const u8 = null; |
| 26 | | var debug_zcu = false; |
| 27 | | var debug_dwarf = false; |
| 28 | | var debug_link = false; |
| 29 | 26 | var preserve_tmp = false; |
| 30 | 27 | var enable_qemu: bool = false; |
| 31 | 28 | var enable_wine: bool = false; |
| 32 | 29 | var enable_wasmtime: bool = false; |
| 33 | 30 | var enable_darling: bool = false; |
| 34 | 31 | |
| 32 | var debug_log_args: std.ArrayList([]const u8) = .empty; |
| 33 | |
| 35 | 34 | var arg_it = try std.process.argsWithAllocator(arena); |
| 36 | 35 | _ = arg_it.skip(); |
| 37 | 36 | while (arg_it.next()) |arg| { |
| 38 | 37 | if (arg.len > 0 and arg[0] == '-') { |
| 39 | 38 | if (std.mem.eql(u8, arg, "--zig-lib-dir")) { |
| 40 | | opt_lib_dir = arg_it.next() orelse fatal("expected arg after '--zig-lib-dir'\n{s}", .{usage}); |
| 41 | | } else if (std.mem.eql(u8, arg, "--debug-zcu")) { |
| 42 | | debug_zcu = true; |
| 43 | | } else if (std.mem.eql(u8, arg, "--debug-dwarf")) { |
| 44 | | debug_dwarf = true; |
| 45 | | } else if (std.mem.eql(u8, arg, "--debug-link")) { |
| 46 | | debug_link = true; |
| 39 | opt_lib_dir = arg_it.next() orelse fatal("expected arg after --zig-lib-dir\n{s}", .{usage}); |
| 40 | } else if (std.mem.eql(u8, arg, "--debug-log")) { |
| 41 | try debug_log_args.append( |
| 42 | arena, |
| 43 | arg_it.next() orelse fatal("expected arg after --debug-log\n{s}", .{usage}), |
| 44 | ); |
| 47 | 45 | } else if (std.mem.eql(u8, arg, "--preserve-tmp")) { |
| 48 | 46 | preserve_tmp = true; |
| 49 | 47 | } else if (std.mem.eql(u8, arg, "-fqemu")) { |
| ... | ... | @@ -55,7 +53,7 @@ pub fn main() !void { |
| 55 | 53 | } else if (std.mem.eql(u8, arg, "-fdarling")) { |
| 56 | 54 | enable_darling = true; |
| 57 | 55 | } else if (std.mem.eql(u8, arg, "--zig-cc-binary")) { |
| 58 | | opt_cc_zig = arg_it.next() orelse fatal("expect arg after '--zig-cc-binary'\n{s}", .{usage}); |
| 56 | opt_cc_zig = arg_it.next() orelse fatal("expected arg after --zig-cc-binary\n{s}", .{usage}); |
| 59 | 57 | } else { |
| 60 | 58 | fatal("unknown option '{s}'\n{s}", .{ arg, usage }); |
| 61 | 59 | } |
| ... | ... | @@ -108,7 +106,7 @@ pub fn main() !void { |
| 108 | 106 | |
| 109 | 107 | const host = try std.zig.system.resolveTargetQuery(io, .{}); |
| 110 | 108 | |
| 111 | | const debug_log_verbose = debug_zcu or debug_dwarf or debug_link; |
| 109 | const debug_log_verbose = debug_log_args.items.len != 0; |
| 112 | 110 | |
| 113 | 111 | for (case.targets) |target| { |
| 114 | 112 | const target_prog_node = node: { |
| ... | ... | @@ -146,14 +144,8 @@ pub fn main() !void { |
| 146 | 144 | .llvm => try child_args.appendSlice(arena, &.{ "-fllvm", "-flld" }), |
| 147 | 145 | .cbe => try child_args.appendSlice(arena, &.{ "-ofmt=c", "-lc" }), |
| 148 | 146 | } |
| 149 | | if (debug_zcu) { |
| 150 | | try child_args.appendSlice(arena, &.{ "--debug-log", "zcu" }); |
| 151 | | } |
| 152 | | if (debug_dwarf) { |
| 153 | | try child_args.appendSlice(arena, &.{ "--debug-log", "dwarf" }); |
| 154 | | } |
| 155 | | if (debug_link) { |
| 156 | | try child_args.appendSlice(arena, &.{ "--debug-log", "link", "--debug-log", "link_state", "--debug-log", "link_relocs" }); |
| 147 | for (debug_log_args.items) |arg| { |
| 148 | try child_args.appendSlice(arena, &.{ "--debug-log", arg }); |
| 157 | 149 | } |
| 158 | 150 | for (case.modules) |mod| { |
| 159 | 151 | try child_args.appendSlice(arena, &.{ "--dep", mod.name }); |