From fea615710268582f488b894e4276938c5e385636 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 17 May 2023 15:43:15 -0700 Subject: [PATCH] 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. --- src/main.zig | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main.zig b/src/main.zig index 4e64c06aa9..2771b64622 100644 --- a/src/main.zig +++ b/src/main.zig @@ -281,12 +281,8 @@ pub fn mainArgs(gpa: Allocator, arena: Allocator, args: []const []const u8) !voi mem.eql(u8, cmd, "ar")) { return process.exit(try llvmArMain(arena, args)); - } else if (mem.eql(u8, cmd, "cc")) { - return buildOutputType(gpa, arena, args, .cc); - } else if (mem.eql(u8, cmd, "c++")) { - return buildOutputType(gpa, arena, args, .cpp); - } else if (mem.eql(u8, cmd, "translate-c")) { - return buildOutputType(gpa, arena, args, .translate_c); + } else if (mem.eql(u8, cmd, "build")) { + return cmdBuild(gpa, arena, cmd_args); } else if (mem.eql(u8, cmd, "clang") or mem.eql(u8, cmd, "-cc1") or mem.eql(u8, cmd, "-cc1as")) { @@ -296,8 +292,14 @@ pub fn mainArgs(gpa: Allocator, arena: Allocator, args: []const []const u8) !voi mem.eql(u8, cmd, "wasm-ld")) { return process.exit(try lldMain(arena, args, true)); - } else if (mem.eql(u8, cmd, "build")) { - return cmdBuild(gpa, arena, cmd_args); + } else if (build_options.omit_pkg_fetching_code) { + @panic("only a few subcommands are supported in a zig2.c build"); + } else if (mem.eql(u8, cmd, "cc")) { + return buildOutputType(gpa, arena, args, .cc); + } else if (mem.eql(u8, cmd, "c++")) { + return buildOutputType(gpa, arena, args, .cpp); + } else if (mem.eql(u8, cmd, "translate-c")) { + return buildOutputType(gpa, arena, args, .translate_c); } else if (mem.eql(u8, cmd, "fmt")) { return cmdFmt(gpa, arena, cmd_args); } else if (mem.eql(u8, cmd, "objcopy")) {