minicbor 0.25.1

A small CBOR codec suitable for no_std environments.
Documentation
/// Targets with max. atomic width = 32:
const ATOMIC32: &[&str] = &[
    "arm",
    "mips",
    "powerpc",
    "riscv32imac-unknown-none-elf",
    "riscv32imc-unknown-none-elf",
    "thumbv7em-none-eabi",
    "thumbv7m-none-eabi",
    "thumbv8m.base-none-eabi",
    "thumbv8m.main-none-eabi"
];

/// Targets with max. atomic width = 64:
const ATOMIC64: &[&str] = &[
    "x86_64",
    "aarch64",
    "arm-unknown-linux-gnueabi",
    "arm-unknown-linux-musleabi",
    "armv7-linux-androideabi",
    "armv7-unknown-linux-gnueabi",
    "armv7-unknown-linux-musleabi",
    "armv7a-none-eabi",
    "armv7r-none-eabi",
    "asmjs-unknown-emscripten",
    "i586",
    "i686",
    "mips64",
    "mips64el",
    "nvptx64-nvidia-cuda",
    "powerpc64",
    "powerpc64le",
    "riscv64",
    "s390x",
    "sparc64",
    "thumbv7neon-linux-androideabi",
    "thumbv7neon-unknown-linux-gnueabihf",
    "wasm32"
];

fn main() {
    let target = std::env::var("TARGET").unwrap();

    println!("cargo::rustc-check-cfg=cfg(atomic64, atomic32)");

    if ATOMIC64.iter().any(|a| target.starts_with(a)) {
        println!("cargo::rustc-cfg=atomic64");
    } else if ATOMIC32.iter().any(|a| target.starts_with(a)) {
        println!("cargo::rustc-cfg=atomic32");
    }
}