posish 0.15.1

Safe Rust bindings to POSIX-ish libc APIs and syscalls
Documentation
use cc::Build;
use std::env::var;

fn main() {
    if var("CARGO_CFG_LINUX_RAW").is_err() {
        println!("cargo:rustc-cfg=libc");
    } else {
        if let rustc_version::Channel::Nightly = rustc_version::version_meta()
            .expect("query rustc release channel")
            .channel
        {
            println!("cargo:rustc-cfg=linux_raw_inline_asm");
        } else {
            let asm = format!(
                "src/imp/linux_raw/arch/{}.S",
                var("CARGO_CFG_TARGET_ARCH").unwrap()
            );
            Build::new().file(&asm).compile("asm");
            println!("cargo:rerun-if-changed={}", asm);
            println!("cargo:cargo:rerun-if-env-changed=CARGO_CFG_TARGET_ARCH");
        }
    }
    println!("cargo:cargo:rerun-if-env-changed=CARGO_CFG_LINUX_RAW");
}