summaryrefslogtreecommitdiff
path: root/nix-test/build.rs
diff options
context:
space:
mode:
authorCarl Lerche <me@carllerche.com>2015-02-19 13:35:45 -0800
committerCarl Lerche <me@carllerche.com>2015-02-19 19:30:19 -0800
commitfd45c22f40cc6a0073f791acdd92779a80f33d9b (patch)
tree336530c67cadc946d198cd609fa1d115f11bb6fe /nix-test/build.rs
parent62040df28f8b677f0202bc95af61286adf833776 (diff)
downloadnix-fd45c22f40cc6a0073f791acdd92779a80f33d9b.zip
Test errno defines
Diffstat (limited to 'nix-test/build.rs')
-rw-r--r--nix-test/build.rs32
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);
+}