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.
12 lines
331 B
Zig
12 lines
331 B
Zig
.{
|
|
.name = .kernel,
|
|
.version = "0.0.0",
|
|
.fingerprint = 0x5dd29aab36503453, // Changing this has security and trust implications.
|
|
.minimum_zig_version = "0.16.0",
|
|
.dependencies = .{
|
|
// file-system speaks the VFS wire protocol.
|
|
.protocol = .{ .path = "../protocol" },
|
|
},
|
|
.paths = .{""},
|
|
}
|