| ... | @@ -51,6 +51,7 @@ pub fn main() !void { | ... | @@ -51,6 +51,7 @@ pub fn main() !void { |
| 51 | defer builder.destroy(); | 51 | defer builder.destroy(); |
| 52 | | 52 | |
| 53 | var targets = ArrayList([]const u8).init(allocator); | 53 | var targets = ArrayList([]const u8).init(allocator); |
| | 54 | var debug_log_scopes = ArrayList([]const u8).init(allocator); |
| 54 | | 55 | |
| 55 | const stderr_stream = io.getStdErr().writer(); | 56 | const stderr_stream = io.getStdErr().writer(); |
| 56 | const stdout_stream = io.getStdOut().writer(); | 57 | const stdout_stream = io.getStdOut().writer(); |
| ... | @@ -136,6 +137,12 @@ pub fn main() !void { | ... | @@ -136,6 +137,12 @@ pub fn main() !void { |
| 136 | warn("Expected argument after --zig-lib-dir\n\n", .{}); | 137 | warn("Expected argument after --zig-lib-dir\n\n", .{}); |
| 137 | return usageAndErr(builder, false, stderr_stream); | 138 | return usageAndErr(builder, false, stderr_stream); |
| 138 | }; | 139 | }; |
| | 140 | } else if (mem.eql(u8, arg, "--debug-log")) { |
| | 141 | const next_arg = nextArg(args, &arg_idx) orelse { |
| | 142 | warn("Expected argument after {s}\n\n", .{arg}); |
| | 143 | return usageAndErr(builder, false, stderr_stream); |
| | 144 | }; |
| | 145 | try debug_log_scopes.append(next_arg); |
| 139 | } else if (mem.eql(u8, arg, "--verbose-tokenize")) { | 146 | } else if (mem.eql(u8, arg, "--verbose-tokenize")) { |
| 140 | builder.verbose_tokenize = true; | 147 | builder.verbose_tokenize = true; |
| 141 | } else if (mem.eql(u8, arg, "--verbose-ast")) { | 148 | } else if (mem.eql(u8, arg, "--verbose-ast")) { |
| ... | @@ -166,6 +173,7 @@ pub fn main() !void { | ... | @@ -166,6 +173,7 @@ pub fn main() !void { |
| 166 | } | 173 | } |
| 167 | } | 174 | } |
| 168 | | 175 | |
| | 176 | builder.debug_log_scopes = debug_log_scopes.items; |
| 169 | builder.resolveInstallPrefix(install_prefix, dir_list); | 177 | builder.resolveInstallPrefix(install_prefix, dir_list); |
| 170 | try runBuild(builder); | 178 | try runBuild(builder); |
| 171 | | 179 | |
| ... | @@ -261,6 +269,7 @@ fn usage(builder: *Builder, already_ran_build: bool, out_stream: anytype) !void | ... | @@ -261,6 +269,7 @@ fn usage(builder: *Builder, already_ran_build: bool, out_stream: anytype) !void |
| 261 | \\ --build-file [file] Override path to build.zig | 269 | \\ --build-file [file] Override path to build.zig |
| 262 | \\ --cache-dir [path] Override path to zig cache directory | 270 | \\ --cache-dir [path] Override path to zig cache directory |
| 263 | \\ --zig-lib-dir [arg] Override path to Zig lib directory | 271 | \\ --zig-lib-dir [arg] Override path to Zig lib directory |
| | 272 | \\ --debug-log [scope] Enable debugging the compiler |
| 264 | \\ --verbose-tokenize Enable compiler debug output for tokenization | 273 | \\ --verbose-tokenize Enable compiler debug output for tokenization |
| 265 | \\ --verbose-ast Enable compiler debug output for parsing into an AST | 274 | \\ --verbose-ast Enable compiler debug output for parsing into an AST |
| 266 | \\ --verbose-link Enable compiler debug output for linking | 275 | \\ --verbose-link Enable compiler debug output for linking |