Rust-Programming-Cookbook/Chapter07/bindgen/rust-tinyexpr/build.rs

24 wiersze
665 B
Rust

extern crate bindgen;
use std::env;
use std::env::var;
use std::path::PathBuf;
const HEADER_FILE_NAME: &'static str = "../tinyexpr/tinyexpr.h";
fn main() {
let project_dir = var("CARGO_MANIFEST_DIR").unwrap();
println!("cargo:rustc-link-search={}/../tinyexpr/", project_dir);
println!("cargo:rustc-link-lib=static=tinyexpr");
let bindings = bindgen::Builder::default()
.header(HEADER_FILE_NAME)
.generate()
.expect("Error generating bindings");
let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
bindings
.write_to_file(out_path.join("bindings.rs"))
.expect("Error writing bindings");
}