1 use cranelift_assembler_x64_meta as meta;
2 use std::env;
3 use std::fs::File;
4 use std::io::Write;
5 use std::path::Path;
6 
main()7 fn main() {
8     println!("cargo:rerun-if-changed=build.rs");
9 
10     let out_dir = env::var("OUT_DIR").expect("The OUT_DIR environment variable must be set");
11     let out_dir = Path::new(&out_dir);
12     let built_files = [meta::generate_rust_assembler(out_dir, "assembler.rs")];
13 
14     // Generating this additional bit of Rust is necessary for listing the
15     // generated files.
16     let mut vec_of_built_files = File::create(out_dir.join("generated-files.rs")).unwrap();
17     writeln!(vec_of_built_files, "vec![").unwrap();
18     for file in &built_files {
19         writeln!(vec_of_built_files, "  {:?}.into(),", file.display()).unwrap();
20     }
21     writeln!(vec_of_built_files, "]").unwrap();
22 }
23