Each library domain (kernel, device, client, protocol, csv, xkeyboard-config) now owns a build.zig + build.zig.zon that wires and exports its modules, with a standalone `zig build test` per domain. The kernel package also exports abi (source stays in system/abi.zig) so every consumer names one module instance. The root build swaps its createModule calls for b.dependency(...).module(...) — no binary moves; the root is the pilot consumer (docs/build-packages-plan.md). Path dependencies deduplicate by resolved location, so the diamond (root -> device -> kernel, root -> kernel) yields a single instance of each module. Boot-image file list unchanged.
14 lines
447 B
Zig
14 lines
447 B
Zig
.{
|
|
.name = .client,
|
|
.version = "0.0.0",
|
|
.fingerprint = 0xc74404553e73d4ff, // Changing this has security and trust implications.
|
|
.minimum_zig_version = "0.16.0",
|
|
.dependencies = .{
|
|
// The clients converse over ipc with time-bounded waits.
|
|
.kernel = .{ .path = "../kernel" },
|
|
// Each client speaks its service's wire protocol.
|
|
.protocol = .{ .path = "../protocol" },
|
|
},
|
|
.paths = .{""},
|
|
}
|