aboutsummaryrefslogtreecommitdiff
path: root/build.zig
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2024-07-19 01:04:59 -0400
committerAndrew Kelley <andrew@ziglang.org>2024-07-19 22:35:33 -0700
commit4f742c4cfc3c3134a0d6ebfdfc354286ae97b2c1 (patch)
treec20b44dbe98cb8cb7484b19aca727ad2957e42a2 /build.zig
parentb7e48c6bcd99457f84f0043a3f4590a6ac1f4933 (diff)
downloadzig-4f742c4cfc3c3134a0d6ebfdfc354286ae97b2c1.tar.gz
zig-4f742c4cfc3c3134a0d6ebfdfc354286ae97b2c1.zip
dev: introduce dev environments that enable compiler feature sets
Diffstat (limited to 'build.zig')
-rw-r--r--build.zig10
1 files changed, 4 insertions, 6 deletions
diff --git a/build.zig b/build.zig
index 148e374a5f..d6ba1e9330 100644
--- a/build.zig
+++ b/build.zig
@@ -8,6 +8,7 @@ const io = std.io;
const fs = std.fs;
const InstallDirectoryOptions = std.Build.InstallDirectoryOptions;
const assert = std.debug.assert;
+const DevEnv = @import("src/dev.zig").Env;
const zig_version: std.SemanticVersion = .{ .major = 0, .minor = 14, .patch = 0 };
const stack_size = 32 * 1024 * 1024;
@@ -232,8 +233,7 @@ pub fn build(b: *std.Build) !void {
exe_options.addOption(bool, "llvm_has_arc", llvm_has_arc);
exe_options.addOption(bool, "llvm_has_xtensa", llvm_has_xtensa);
exe_options.addOption(bool, "force_gpa", force_gpa);
- exe_options.addOption(bool, "only_c", only_c);
- exe_options.addOption(bool, "only_core_functionality", only_c);
+ exe_options.addOption(DevEnv, "dev", b.option(DevEnv, "dev", "Build a compiler with a reduced feature set for development of specific features") orelse if (only_c) .bootstrap else .full);
if (link_libc) {
exe.linkLibC();
@@ -393,8 +393,6 @@ pub fn build(b: *std.Build) !void {
test_cases_options.addOption(bool, "llvm_has_arc", llvm_has_arc);
test_cases_options.addOption(bool, "llvm_has_xtensa", llvm_has_xtensa);
test_cases_options.addOption(bool, "force_gpa", force_gpa);
- test_cases_options.addOption(bool, "only_c", only_c);
- test_cases_options.addOption(bool, "only_core_functionality", true);
test_cases_options.addOption(bool, "enable_qemu", b.enable_qemu);
test_cases_options.addOption(bool, "enable_wine", b.enable_wine);
test_cases_options.addOption(bool, "enable_wasmtime", b.enable_wasmtime);
@@ -406,6 +404,7 @@ pub fn build(b: *std.Build) !void {
test_cases_options.addOption([:0]const u8, "version", version);
test_cases_options.addOption(std.SemanticVersion, "semver", semver);
test_cases_options.addOption([]const []const u8, "test_filters", test_filters);
+ test_cases_options.addOption(DevEnv, "dev", if (only_c) .bootstrap else .core);
var chosen_opt_modes_buf: [4]builtin.OptimizeMode = undefined;
var chosen_mode_index: usize = 0;
@@ -575,7 +574,6 @@ fn addWasiUpdateStep(b: *std.Build, version: [:0]const u8) !void {
exe_options.addOption(u32, "mem_leak_frames", 0);
exe_options.addOption(bool, "have_llvm", false);
exe_options.addOption(bool, "force_gpa", false);
- exe_options.addOption(bool, "only_c", true);
exe_options.addOption([:0]const u8, "version", version);
exe_options.addOption(std.SemanticVersion, "semver", semver);
exe_options.addOption(bool, "enable_debug_extensions", false);
@@ -585,7 +583,7 @@ fn addWasiUpdateStep(b: *std.Build, version: [:0]const u8) !void {
exe_options.addOption(bool, "enable_tracy_callstack", false);
exe_options.addOption(bool, "enable_tracy_allocation", false);
exe_options.addOption(bool, "value_tracing", false);
- exe_options.addOption(bool, "only_core_functionality", true);
+ exe_options.addOption(DevEnv, "dev", .bootstrap);
const run_opt = b.addSystemCommand(&.{
"wasm-opt",