build: Add PNG + Transport Skins to build system

- png.zig module with tests
- transport_skins.zig module with tests
- Integrated into zig build test pipeline

Refs: RFC-0015
This commit is contained in:
Markus Maiwald 2026-02-03 17:22:03 +01:00
parent 8e05835330
commit dbcf4734e7
1 changed files with 29 additions and 0 deletions

View File

@ -247,6 +247,33 @@ pub fn build(b: *std.Build) void {
l4_feed_tests.linkLibC(); // Required for DuckDB C API l4_feed_tests.linkLibC(); // Required for DuckDB C API
const run_l4_feed_tests = b.addRunArtifact(l4_feed_tests); const run_l4_feed_tests = b.addRunArtifact(l4_feed_tests);
// ========================================================================
// RFC-0015: Transport Skins (DPI Resistance)
// ========================================================================
const png_mod = b.createModule(.{
.root_source_file = b.path("l0-transport/png.zig"),
.target = target,
.optimize = optimize,
});
const transport_skins_mod = b.createModule(.{
.root_source_file = b.path("l0-transport/transport_skins.zig"),
.target = target,
.optimize = optimize,
});
transport_skins_mod.addImport("png", png_mod);
// Transport Skins tests
const png_tests = b.addTest(.{
.root_module = png_mod,
});
const run_png_tests = b.addRunArtifact(png_tests);
const transport_skins_tests = b.addTest(.{
.root_module = transport_skins_mod,
});
const run_transport_skins_tests = b.addRunArtifact(transport_skins_tests);
// ======================================================================== // ========================================================================
// Tests (with C FFI support for Argon2 + liboqs) // Tests (with C FFI support for Argon2 + liboqs)
// ======================================================================== // ========================================================================
@ -468,6 +495,8 @@ pub fn build(b: *std.Build) void {
test_step.dependOn(&run_l1_qvl_ffi_tests.step); test_step.dependOn(&run_l1_qvl_ffi_tests.step);
test_step.dependOn(&run_l2_policy_tests.step); test_step.dependOn(&run_l2_policy_tests.step);
test_step.dependOn(&run_l4_feed_tests.step); test_step.dependOn(&run_l4_feed_tests.step);
test_step.dependOn(&run_png_tests.step);
test_step.dependOn(&run_transport_skins_tests.step);
// ======================================================================== // ========================================================================
// Examples // Examples