authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-05-17 23:28:35-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2023-05-17 23:28:35-07:00
log378264d404e71da878f9e6934c045ad64193877f
tree5d5de307a2fee8888b2b6e972f8f62c65263474b
parent6e05620117e4bae98dc5fac2fbc1b81aa7ad17c4
parentf52189834c8554f6358244471c789e2233c260f0
signaturebadge-question-mark Signed by PGP key 4AEE18F83AFDEB23

Merge pull request #15750 from ziglang/zig2.c

zig2.c: omit non-essential subcommands

4 files changed, 19 insertions(+), 17 deletions(-)

build.zig+3-3
......@@ -197,7 +197,7 @@ pub fn build(b: *std.Build) !void {
197197 exe_options.addOption(bool, "llvm_has_xtensa", llvm_has_xtensa);
198198 exe_options.addOption(bool, "force_gpa", force_gpa);
199199 exe_options.addOption(bool, "only_c", only_c);
200 exe_options.addOption(bool, "omit_pkg_fetching_code", only_c);
200 exe_options.addOption(bool, "only_core_functionality", only_c);
201201
202202 if (link_libc) {
203203 exe.linkLibC();
......@@ -353,7 +353,7 @@ pub fn build(b: *std.Build) !void {
353353 test_cases_options.addOption(bool, "llvm_has_xtensa", llvm_has_xtensa);
354354 test_cases_options.addOption(bool, "force_gpa", force_gpa);
355355 test_cases_options.addOption(bool, "only_c", only_c);
356 test_cases_options.addOption(bool, "omit_pkg_fetching_code", true);
356 test_cases_options.addOption(bool, "only_core_functionality", true);
357357 test_cases_options.addOption(bool, "enable_qemu", b.enable_qemu);
358358 test_cases_options.addOption(bool, "enable_wine", b.enable_wine);
359359 test_cases_options.addOption(bool, "enable_wasmtime", b.enable_wasmtime);
......@@ -505,7 +505,7 @@ fn addWasiUpdateStep(b: *std.Build, version: [:0]const u8) !void {
505505 exe_options.addOption(bool, "enable_tracy_callstack", false);
506506 exe_options.addOption(bool, "enable_tracy_allocation", false);
507507 exe_options.addOption(bool, "value_tracing", false);
508 exe_options.addOption(bool, "omit_pkg_fetching_code", true);
508 exe_options.addOption(bool, "only_core_functionality", true);
509509
510510 const run_opt = b.addSystemCommand(&.{
511511 "wasm-opt",
src/Compilation.zig+1-1
......@@ -2056,7 +2056,7 @@ pub fn update(comp: *Compilation, main_progress_node: *std.Progress.Node) !void
20562056 return;
20572057 }
20582058
2059 if (!build_options.only_c and !build_options.omit_pkg_fetching_code) {
2059 if (!build_options.only_c and !build_options.only_core_functionality) {
20602060 if (comp.emit_docs) |doc_location| {
20612061 if (comp.bin_file.options.module) |module| {
20622062 var autodoc = Autodoc.init(module, doc_location);
src/main.zig+14-12
......@@ -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.only_core_functionality) {
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")) {
......@@ -678,7 +680,7 @@ const ArgMode = union(enum) {
678680
679681/// Avoid dragging networking into zig2.c because it adds dependencies on some
680682/// linker symbols that are annoying to satisfy while bootstrapping.
681const Ip4Address = if (build_options.omit_pkg_fetching_code) void else std.net.Ip4Address;
683const Ip4Address = if (build_options.only_core_functionality) void else std.net.Ip4Address;
682684
683685const Listen = union(enum) {
684686 none,
......@@ -1177,7 +1179,7 @@ fn buildOutputType(
11771179 if (mem.eql(u8, next_arg, "-")) {
11781180 listen = .stdio;
11791181 } else {
1180 if (build_options.omit_pkg_fetching_code) unreachable;
1182 if (build_options.only_core_functionality) unreachable;
11811183 // example: --listen 127.0.0.1:9000
11821184 var it = std.mem.split(u8, next_arg, ":");
11831185 const host = it.next().?;
......@@ -3266,7 +3268,7 @@ fn buildOutputType(
32663268 return cleanExit();
32673269 },
32683270 .ip4 => |ip4_addr| {
3269 if (build_options.omit_pkg_fetching_code) unreachable;
3271 if (build_options.only_core_functionality) unreachable;
32703272
32713273 var server = std.net.StreamServer.init(.{
32723274 .reuse_address = true,
......@@ -4413,7 +4415,7 @@ pub fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !voi
44134415 .root_src_directory = build_directory,
44144416 .root_src_path = build_zig_basename,
44154417 };
4416 if (!build_options.omit_pkg_fetching_code) {
4418 if (!build_options.only_core_functionality) {
44174419 var http_client: std.http.Client = .{ .allocator = gpa };
44184420 defer http_client.deinit();
44194421
stage1/config.zig.in+1-1
......@@ -13,4 +13,4 @@ pub const have_stage1 = false;
1313pub const skip_non_native = false;
1414pub const only_c = false;
1515pub const force_gpa = false;
16pub const omit_pkg_fetching_code = true;
16pub const only_core_functionality = true;