//! The acpi discovery service as a binary package (docs/build-packages-plan.md, //! phase 2). The artifact is named "discovery": one swappable process per //! firmware fills the ramdisk's neutral `discovery` slot (docs/discovery.md), //! so the device manager never learns which firmware it is on. The root //! build's -Ddiscovery picks this package or `fdt`. const std = @import("std"); const build_support = @import("build-support"); pub fn build(b: *std.Build) void { const exe = build_support.userBinary(b, .{ .name = "discovery", .root_source_file = b.path("acpi.zig"), .domains = build_support.domains(b), }); const protocol = b.dependency("protocol", .{}); // The shared AML interpreter (the same parser the kernel runs), the // device-manager report channel, and the power protocol (the SCI/power // button path, docs/power.md). build_support.programModule(exe).addImport("aml", b.dependency("device", .{}).module("aml")); build_support.programModule(exe).addImport("device-manager-protocol", protocol.module("device-manager-protocol")); build_support.programModule(exe).addImport("power-protocol", protocol.module("power-protocol")); b.installArtifact(exe); }