const std = @import("std"); const build_helpers = @import("build_helpers"); pub fn build(b: *std.Build) void { const arch = b.option(build_helpers.Architecture, "arch", "The target root_server architecture") orelse .amd64; const number = b.option(usize, "number", "The syscall number to use") orelse 0x69; // set CPU features based on the architecture const target = b.resolveTargetQuery(.{ .cpu_arch = arch.get(), .os_tag = .freestanding, .abi = .none, }); const optimize = b.standardOptimizeOption(.{}); const main_mod = b.createModule(.{ .root_source_file = b.path("src/main.zig"), .target = target, .optimize = optimize, }); const config = b.addOptions(); config.addOption(build_helpers.Architecture, "arch", arch); config.addOption(usize, "number", number); const build_helpers_dep = b.dependency("build_helpers", .{}); main_mod.addImport("config", config.createModule()); main_mod.addImport("build_helpers", build_helpers_dep.module("build_helpers")); const exe = b.addExecutable(.{ .name = "root_server", .root_module = main_mod, }); b.installArtifact(exe); }