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...@@ -281,12 +281,8 @@ pub fn mainArgs(gpa: Allocator, arena: Allocator, args: []const []const u8) !voi
281 mem.eql(u8, cmd, "ar"))281 mem.eql(u8, cmd, "ar"))
282 {282 {
283 return process.exit(try llvmArMain(arena, args));283 return process.exit(try llvmArMain(arena, args));
284 } else if (mem.eql(u8, cmd, "cc")) {284 } else if (mem.eql(u8, cmd, "build")) {
285 return buildOutputType(gpa, arena, args, .cc);285 return cmdBuild(gpa, arena, cmd_args);
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);
290 } else if (mem.eql(u8, cmd, "clang") or286 } else if (mem.eql(u8, cmd, "clang") or
291 mem.eql(u8, cmd, "-cc1") or mem.eql(u8, cmd, "-cc1as"))287 mem.eql(u8, cmd, "-cc1") or mem.eql(u8, cmd, "-cc1as"))
292 {288 {
...@@ -296,8 +292,14 @@ pub fn mainArgs(gpa: Allocator, arena: Allocator, args: []const []const u8) !voi...@@ -296,8 +292,14 @@ pub fn mainArgs(gpa: Allocator, arena: Allocator, args: []const []const u8) !voi
296 mem.eql(u8, cmd, "wasm-ld"))292 mem.eql(u8, cmd, "wasm-ld"))
297 {293 {
298 return process.exit(try lldMain(arena, args, true));294 return process.exit(try lldMain(arena, args, true));
299 } else if (mem.eql(u8, cmd, "build")) {295 } else if (build_options.omit_pkg_fetching_code) {
300 return cmdBuild(gpa, arena, cmd_args);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);
301 } else if (mem.eql(u8, cmd, "fmt")) {303 } else if (mem.eql(u8, cmd, "fmt")) {
302 return cmdFmt(gpa, arena, cmd_args);304 return cmdFmt(gpa, arena, cmd_args);
303 } else if (mem.eql(u8, cmd, "objcopy")) {305 } else if (mem.eql(u8, cmd, "objcopy")) {