tcreate-expert-smart 0.1.0

A tool to read health data from TeamGroup T-CREATE SMART Expert microSD cards
fn main() {
    if cfg!(target_os = "linux") {
        linux_bindings();
    }
}

#[cfg(target_os = "linux")]
fn linux_bindings() {
    println!("cargo:rerun-if-changed=/usr/include/scsi/sg.h");

    let bindings = bindgen::Builder::default()
        .header("/usr/include/scsi/sg.h")
        .derive_default(true)
        .allowlist_type("sg_io_hdr")
        .allowlist_var("SG_IO")
        .allowlist_var("SG_DXFER_.*")
        .generate()
        .expect("bindgen failed to generate SCSI bindings");

    let out_path = std::path::PathBuf::from(std::env::var("OUT_DIR").expect("OUT_DIR not set"));
    bindings
        .write_to_file(out_path.join("sg_bindings.rs"))
        .expect("failed to write SCSI bindings");
}

#[cfg(not(target_os = "linux"))]
fn linux_bindings() {
    return;
}