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.tomlconfig file.