1 use std::env; 2 use std::fs::File; 3 use std::io::Write; 4 use std::path::{Path, PathBuf}; 5 main()6fn main() { 7 let out_dir = PathBuf::from(env::var("OUT_DIR").unwrap()); 8 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(); 13 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 ); 29 } 30