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()7fn 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