Merge mozilla-central to autoland. a=merge CLOSED TREE
[gecko.git] / third_party / rust / bindgen / build.rs
blob8407ceae8f0291070d5ac4d361bb74daf2b58e5c
1 use std::env;
2 use std::fs::File;
3 use std::io::Write;
4 use std::path::{Path, PathBuf};
6 fn main() {
7     let out_dir = PathBuf::from(env::var("OUT_DIR").unwrap());
9     let mut dst =
10         File::create(Path::new(&out_dir).join("host-target.txt")).unwrap();
11     dst.write_all(env::var("TARGET").unwrap().as_bytes())
12         .unwrap();
14     // On behalf of clang_sys, rebuild ourselves if important configuration
15     // variables change, to ensure that bindings get rebuilt if the
16     // underlying libclang changes.
17     println!("cargo:rerun-if-env-changed=LLVM_CONFIG_PATH");
18     println!("cargo:rerun-if-env-changed=LIBCLANG_PATH");
19     println!("cargo:rerun-if-env-changed=LIBCLANG_STATIC_PATH");
20     println!("cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS");
21     println!(
22         "cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS_{}",
23         std::env::var("TARGET").unwrap()
24     );
25     println!(
26         "cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS_{}",
27         std::env::var("TARGET").unwrap().replace('-', "_")
28     );