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 {...@@ -197,7 +197,7 @@ pub fn build(b: *std.Build) !void {
197 exe_options.addOption(bool, "llvm_has_xtensa", llvm_has_xtensa);197 exe_options.addOption(bool, "llvm_has_xtensa", llvm_has_xtensa);
198 exe_options.addOption(bool, "force_gpa", force_gpa);198 exe_options.addOption(bool, "force_gpa", force_gpa);
199 exe_options.addOption(bool, "only_c", only_c);199 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
202 if (link_libc) {202 if (link_libc) {
203 exe.linkLibC();203 exe.linkLibC();
...@@ -353,7 +353,7 @@ pub fn build(b: *std.Build) !void {...@@ -353,7 +353,7 @@ pub fn build(b: *std.Build) !void {
353 test_cases_options.addOption(bool, "llvm_has_xtensa", llvm_has_xtensa);353 test_cases_options.addOption(bool, "llvm_has_xtensa", llvm_has_xtensa);
354 test_cases_options.addOption(bool, "force_gpa", force_gpa);354 test_cases_options.addOption(bool, "force_gpa", force_gpa);
355 test_cases_options.addOption(bool, "only_c", only_c);355 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);
357 test_cases_options.addOption(bool, "enable_qemu", b.enable_qemu);357 test_cases_options.addOption(bool, "enable_qemu", b.enable_qemu);
358 test_cases_options.addOption(bool, "enable_wine", b.enable_wine);358 test_cases_options.addOption(bool, "enable_wine", b.enable_wine);
359 test_cases_options.addOption(bool, "enable_wasmtime", b.enable_wasmtime);359 test_cases_options.addOption(bool, "enable_wasmtime", b.enable_wasmtime);
...@@ -505,7 +505,7 @@ fn addWasiUpdateStep(b: *std.Build, version: [:0]const u8) !void {...@@ -505,7 +505,7 @@ fn addWasiUpdateStep(b: *std.Build, version: [:0]const u8) !void {
505 exe_options.addOption(bool, "enable_tracy_callstack", false);505 exe_options.addOption(bool, "enable_tracy_callstack", false);
506 exe_options.addOption(bool, "enable_tracy_allocation", false);506 exe_options.addOption(bool, "enable_tracy_allocation", false);
507 exe_options.addOption(bool, "value_tracing", false);507 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
510 const run_opt = b.addSystemCommand(&.{510 const run_opt = b.addSystemCommand(&.{
511 "wasm-opt",511 "wasm-opt",
src/Compilation.zig+1-1
...@@ -2056,7 +2056,7 @@ pub fn update(comp: *Compilation, main_progress_node: *std.Progress.Node) !void...@@ -2056,7 +2056,7 @@ pub fn update(comp: *Compilation, main_progress_node: *std.Progress.Node) !void
2056 return;2056 return;
2057 }2057 }
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) {
2060 if (comp.emit_docs) |doc_location| {2060 if (comp.emit_docs) |doc_location| {
2061 if (comp.bin_file.options.module) |module| {2061 if (comp.bin_file.options.module) |module| {
2062 var autodoc = Autodoc.init(module, doc_location);2062 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...@@ -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.only_core_functionality) {
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")) {
...@@ -678,7 +680,7 @@ const ArgMode = union(enum) {...@@ -678,7 +680,7 @@ const ArgMode = union(enum) {
678680
679/// Avoid dragging networking into zig2.c because it adds dependencies on some681/// Avoid dragging networking into zig2.c because it adds dependencies on some
680/// linker symbols that are annoying to satisfy while bootstrapping.682/// 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
683const Listen = union(enum) {685const Listen = union(enum) {
684 none,686 none,
...@@ -1177,7 +1179,7 @@ fn buildOutputType(...@@ -1177,7 +1179,7 @@ fn buildOutputType(
1177 if (mem.eql(u8, next_arg, "-")) {1179 if (mem.eql(u8, next_arg, "-")) {
1178 listen = .stdio;1180 listen = .stdio;
1179 } else {1181 } else {
1180 if (build_options.omit_pkg_fetching_code) unreachable;1182 if (build_options.only_core_functionality) unreachable;
1181 // example: --listen 127.0.0.1:90001183 // example: --listen 127.0.0.1:9000
1182 var it = std.mem.split(u8, next_arg, ":");1184 var it = std.mem.split(u8, next_arg, ":");
1183 const host = it.next().?;1185 const host = it.next().?;
...@@ -3266,7 +3268,7 @@ fn buildOutputType(...@@ -3266,7 +3268,7 @@ fn buildOutputType(
3266 return cleanExit();3268 return cleanExit();
3267 },3269 },
3268 .ip4 => |ip4_addr| {3270 .ip4 => |ip4_addr| {
3269 if (build_options.omit_pkg_fetching_code) unreachable;3271 if (build_options.only_core_functionality) unreachable;
32703272
3271 var server = std.net.StreamServer.init(.{3273 var server = std.net.StreamServer.init(.{
3272 .reuse_address = true,3274 .reuse_address = true,
...@@ -4413,7 +4415,7 @@ pub fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !voi...@@ -4413,7 +4415,7 @@ pub fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !voi
4413 .root_src_directory = build_directory,4415 .root_src_directory = build_directory,
4414 .root_src_path = build_zig_basename,4416 .root_src_path = build_zig_basename,
4415 };4417 };
4416 if (!build_options.omit_pkg_fetching_code) {4418 if (!build_options.only_core_functionality) {
4417 var http_client: std.http.Client = .{ .allocator = gpa };4419 var http_client: std.http.Client = .{ .allocator = gpa };
4418 defer http_client.deinit();4420 defer http_client.deinit();
44194421
stage1/config.zig.in+1-1
...@@ -13,4 +13,4 @@ pub const have_stage1 = false;...@@ -13,4 +13,4 @@ pub const have_stage1 = false;
13pub const skip_non_native = false;13pub const skip_non_native = false;
14pub const only_c = false;14pub const only_c = false;
15pub const force_gpa = false;15pub const force_gpa = false;
16pub const omit_pkg_fetching_code = true;16pub const only_core_functionality = true;