wpilib 0.1.0

FRC's WPILib written in Rust.
Documentation
extern crate bindgen;
use std::env;
use std::path::*;

fn output() -> PathBuf {
    PathBuf::from(env::var("OUT_DIR").unwrap())
}

fn main() {
    for lib in [
        "FRC_NetworkCommunication",
        "NiFpga",
        "NiFpgaLv",
        "niriodevenum",
        "niriosession",
        "NiRioSrv",
        "RoboRIO_FRC_ChipObject",
        "visa",
        "wpiHal",
        "wpiutil",
    ].iter()
    {
        println!("cargo:rustc-link-lib=dylib={}", lib);
    }

    let path = env::current_dir().unwrap();
    // println!("{:?} {:?}", path, env::current_dir().unwrap());
    println!("cargo:rustc-link-search=native={}/HAL/lib", path.display());

    let bindings = bindgen::Builder::default()
        .derive_default(true)
        .rustfmt_bindings(false)
        .header("HAL/include/HAL/HAL.h")
        .clang_arg("-I./HAL/include")
        .generate()
        .expect("Unable to generate bindings");

    bindings
        .write_to_file(output().join("hal_bindings.rs"))
        .expect("Couldn't write bindings!");
}