authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-05-17 15:43:15-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-05-17 15:43:15-07:00
logfea615710268582f488b894e4276938c5e385636
tree64af53fec74ff3b913fa7eb98881187393635d69
parentad20236e977cf6e55f2da1340952e521e2507786

zig2.c: omit non-essential subcommands

When producing zig2.c, don't waste time emitting C code for subcommands that won't be used, such as objcopy. This takes zig2.c down from 111M to 109M, and sidesteps some unfortunate warnings that are currently emitted by GCC.

1 files changed, 10 insertions(+), 8 deletions(-)

src/main.zig+10-8
......@@ -281,12 +281,8 @@ pub fn mainArgs(gpa: Allocator, arena: Allocator, args: []const []const u8) !voi
281281 mem.eql(u8, cmd, "ar"))
282282 {
283283 return process.exit(try llvmArMain(arena, args));
284 } else if (mem.eql(u8, cmd, "cc")) {
285 return buildOutputType(gpa, arena, args, .cc);
286 } else if (mem.eql(u8, cmd, "c++")) {
287 return buildOutputType(gpa, arena, args, .cpp);
288 } else if (mem.eql(u8, cmd, "translate-c")) {
289 return buildOutputType(gpa, arena, args, .translate_c);
284 } else if (mem.eql(u8, cmd, "build")) {
285 return cmdBuild(gpa, arena, cmd_args);
290286 } else if (mem.eql(u8, cmd, "clang") or
291287 mem.eql(u8, cmd, "-cc1") or mem.eql(u8, cmd, "-cc1as"))
292288 {
......@@ -296,8 +292,14 @@ pub fn mainArgs(gpa: Allocator, arena: Allocator, args: []const []const u8) !voi
296292 mem.eql(u8, cmd, "wasm-ld"))
297293 {
298294 return process.exit(try lldMain(arena, args, true));
299 } else if (mem.eql(u8, cmd, "build")) {
300 return cmdBuild(gpa, arena, cmd_args);
295 } else if (build_options.omit_pkg_fetching_code) {
296 @panic("only a few subcommands are supported in a zig2.c build");
297 } else if (mem.eql(u8, cmd, "cc")) {
298 return buildOutputType(gpa, arena, args, .cc);
299 } else if (mem.eql(u8, cmd, "c++")) {
300 return buildOutputType(gpa, arena, args, .cpp);
301 } else if (mem.eql(u8, cmd, "translate-c")) {
302 return buildOutputType(gpa, arena, args, .translate_c);
301303 } else if (mem.eql(u8, cmd, "fmt")) {
302304 return cmdFmt(gpa, arena, cmd_args);
303305 } else if (mem.eql(u8, cmd, "objcopy")) {