const std = @import("std"); const microzig = @import("microzig"); const MicroBuild = microzig.MicroBuild(.{ .rp2xxx = true, }); pub fn build(b: *std.Build) void { const mz_dep = b.dependency("microzig", .{}); const mb = MicroBuild.init(b, mz_dep) orelse return; // build options const opt_board = b.option(Board, "board", "BoardConfig to use") orelse .pico; const opt_uart = b.option(bool, "uart", "Enable UART logging") orelse true; const options = b.addOptions(); options.addOption(Board, "board", opt_board); options.addOption(bool, "uart", opt_uart); const opt_module = options.createModule(); const firmware = mb.add_firmware(.{ .name = "RP2040Decoder", .target = mb.ports.rp2xxx.boards.raspberrypi.pico, .optimize = .ReleaseSmall, .root_source_file = b.path("src/main.zig"), }); firmware.app_mod.addImport("build_options", opt_module); mb.install_firmware(firmware, .{}); } const Board = enum { pico, gabk, };