exfat: the service + build wiring (S4 step 4)
exfat.zig is a near-clone of fat.zig — the reuse the architecture promised, now real: same IpcBlock DMA-bounce wrapper, same acquire-volume-by-hello to the volume manager, same content-conditional boot rewrites (resolve /system/configuration to decide the system volume), all differences confined to the engine it wraps. That the harness's Server(engine.FileSystem) compiles is the proof the exFAT engine meets the same pub-fn contract as FAT — a comptime check, not a hope. The exfat package (build.zig + build.zig.zon) mirrors fat's: it ships in production_ship, its on-disk + engine host tests run through the root test aggregate (replacing the temporary standalone entry), and the root zon declares it. build + zig build test + bounds all green.
This commit is contained in:
@@ -122,6 +122,7 @@ fn driverArtifact(comptime package: []const u8, comptime artifact: []const u8) S
|
||||
/// (docs/build-packages-plan.md).
|
||||
const production_ship = [_]ShipRow{
|
||||
service("fat"),
|
||||
service("exfat"),
|
||||
service("display"),
|
||||
service("display-demo"),
|
||||
service("device-manager"),
|
||||
@@ -422,10 +423,6 @@ pub fn build(b: *std.Build) void {
|
||||
"system/boot-handoff.zig",
|
||||
"system/abi.zig",
|
||||
"system/initial-ramdisk.zig", // v2 path-named entries: find/basename/magic
|
||||
// The exFAT engine (S4), std-only, before its package exists — the
|
||||
// engine imports on-disk.zig, so this one entry runs both files' tests.
|
||||
// Moves into the `exfat` package's own test step once that lands (step 4).
|
||||
"system/services/exfat/engine.zig",
|
||||
}) |root| {
|
||||
const mod_tests = b.addTest(.{
|
||||
.root_module = b.createModule(.{
|
||||
@@ -451,6 +448,7 @@ pub fn build(b: *std.Build) void {
|
||||
csv_library,
|
||||
xkeyboard_config_library,
|
||||
b.dependency("fat", .{}),
|
||||
b.dependency("exfat", .{}),
|
||||
b.dependency("volume-manager", .{}),
|
||||
b.dependency("display", .{}),
|
||||
b.dependency("ps2-bus", .{}),
|
||||
|
||||
Reference in New Issue
Block a user