use std::env;
use std::path::PathBuf;
fn main() {
println!("cargo:rerun-if-changed=build.rs");
println!("cargo:rerun-if-changed=mjs/mjs.c");
println!("cargo:rerun-if-changed=mjs/mjs.h");
#[cfg(feature = "platform-custom")]
let platform = Some("0");
#[cfg(feature = "platform-unix")]
let platform = Some("1");
#[cfg(feature = "platform-windows")]
let platform = Some("2");
#[cfg(feature = "platform-esp32")]
let platform = Some("15");
#[cfg(feature = "platform-esp8266")]
let platform = Some("3");
#[cfg(feature = "platform-cc3100")]
let platform = Some("6");
#[cfg(feature = "platform-cc3200")]
let platform = Some("4");
#[cfg(feature = "platform-cc3220")]
let platform = Some("17");
#[cfg(feature = "platform-msp432")]
let platform = Some("5");
#[cfg(feature = "platform-tm4c129")]
let platform = Some("14");
#[cfg(feature = "platform-mbed")]
let platform = Some("7");
#[cfg(feature = "platform-wince")]
let platform = Some("8");
#[cfg(feature = "platform-nxp_lpc")]
let platform = Some("13");
#[cfg(feature = "platform-nxp_kinetis")]
let platform = Some("9");
#[cfg(feature = "platform-nrf51")]
let platform = Some("12");
#[cfg(feature = "platform-nrf52")]
let platform = Some("10");
#[cfg(feature = "platform-pic32")]
let platform = Some("11");
#[cfg(feature = "platform-rs14100")]
let platform = Some("18");
#[cfg(feature = "platform-stm32")]
let platform = Some("16");
cc::Build::new()
.file("mjs/mjs.c")
.include("mjs/")
.define("CS_PLATFORM", platform)
.define("CS_ENABLE_STDIO", Some("0")) .compile("mjs");
let bindings = bindgen::Builder::default()
.header("mjs/mjs.h")
.use_core()
.ctypes_prefix("cty")
.parse_callbacks(Box::new(bindgen::CargoCallbacks))
.generate()
.expect("Unable to generate bindings");
let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
bindings
.write_to_file(out_path.join("mjs.rs"))
.expect("Couldn't write bindings");
}