Skip to main content

Crate chipi_build

Crate chipi_build 

Source
Expand description

Build script helper for chipi code generation in Rust projects.

Provides builder APIs and config-driven generation for use in build.rs files.

§Config-driven usage

// build.rs
fn main() {
    chipi_build::run_config("chipi.toml")
        .expect("chipi codegen failed");
}

§Programmatic usage

// Decoder/disassembler generation
chipi_build::generate("src/dsp/gcdsp.chipi")
    .type_map("reg5", "crate::dsp::DspReg")
    .dispatch_default(chipi_build::Dispatch::FnPtrLut)
    .dispatch_for("GcDspExt", chipi_build::Dispatch::JumpTable)
    .output("src/dsp/generated/gcdsp.rs")
    .run()
    .expect("chipi codegen failed");

// Emulator dispatch LUT generation
chipi_build::lut("cpu.chipi")
    .handler_mod("crate::cpu::interpreter")
    .ctx_type("crate::Cpu")
    .output("out/cpu_lut.rs")
    .run()
    .expect("chipi lut failed");

Structs§

GenBuilder
Builder for decoder/disassembler code generation.
LutBuilder
Builder for emulator dispatch LUT generation.

Enums§

Dispatch
Dispatch strategy for code generation.

Functions§

generate
Start building a decoder/disassembler generation target.
lut
Start building an emulator dispatch LUT generation target.
run_config
Run all targets defined in a chipi.toml config file.