diff options
Diffstat (limited to 'nix-test/build.rs')
-rw-r--r-- | nix-test/build.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/nix-test/build.rs b/nix-test/build.rs new file mode 100644 index 00000000..cb9cae9b --- /dev/null +++ b/nix-test/build.rs @@ -0,0 +1,32 @@ +#![feature(env, process)] + +use std::env; +use std::process::Command; + +pub fn main() { + let root = env::var("CARGO_MANIFEST_DIR").unwrap(); + let make = root.clone() + "/Makefile"; + let src = root.clone() + "/src"; + let out = env::var("OUT_DIR").unwrap(); + let target = env::var("TARGET").unwrap(); + + let os = if target.contains("linux") { + "LINUX" + } else if target.contains("darwin") { + "DARWIN" + } else { + "UNKNOWN" + }; + + let res = Command::new("make") + .arg("-f").arg(&make) + .current_dir(&out) + .env("VPATH", &src) + .env("OS", os) + .spawn().unwrap() + .wait().unwrap(); + + assert!(res.success()); + + println!("cargo:rustc-flags=-L {}/", out); +} |