use wasmtime::{Config, Engine, Result, Strategy};
fn main() -> Result<()> {
let mut config = Config::new();
config.strategy(Strategy::Cranelift);
config.signals_based_traps(true);
config.memory_reservation(1 << 32);
config.memory_guard_size(1 << 32);
if CROSS_COMPILING {
unsafe {
if let Err(error) = config.target("x86_64") {
eprintln!(
"Wasmtime was not compiled with the x86_64 backend for \
Cranelift enabled: {error:?}",
);
return Ok(());
}
config.cranelift_flag_enable("has_sse41");
config.cranelift_flag_enable("has_avx");
config.cranelift_flag_enable("has_avx2");
config.cranelift_flag_enable("has_lzcnt");
}
}
let engine = match Engine::new(&config) {
Ok(engine) => engine,
Err(error) => {
eprintln!("Configuration is incompatible with this host platform: {error:?}");
return Ok(());
}
};
let _ = engine;
Ok(())
}
const CROSS_COMPILING: bool = false;