use sim_kernel::{AbiVersion, Cx, Lib, LibManifest, LibTarget, Linker, Result, Symbol, Version};
#[cfg(feature = "cookbook")]
mod cookbook;
#[cfg(feature = "cookbook")]
pub use cookbook::RECIPES;
pub struct SerialMusicCookbookLib;
impl Lib for SerialMusicCookbookLib {
fn manifest(&self) -> LibManifest {
LibManifest {
id: serial_music_manifest_symbol(),
version: Version(env!("CARGO_PKG_VERSION").to_owned()),
abi: AbiVersion { major: 0, minor: 1 },
target: LibTarget::HostRegistered,
requires: Vec::new(),
capabilities: Vec::new(),
exports: Vec::new(),
}
}
fn load(&self, _cx: &mut sim_kernel::LoadCx, _linker: &mut Linker<'_>) -> Result<()> {
Ok(())
}
}
pub fn install_serial_music_stack(cx: &mut Cx) -> Result<()> {
sim_lib_core::install_once(cx, &SerialMusicCookbookLib)?;
Ok(())
}
pub fn serial_music_manifest_symbol() -> Symbol {
Symbol::qualified("sdk", "serial-music")
}