externcratear;usestd::{env,path::PathBuf,process::Command};usear::Builder;usestd::fs::File;fnmain(){letout_dir=env::var("OUT_DIR").unwrap();letoutput=Command::new(concat!(env!("CARGO_MANIFEST_DIR"),"/src/build_test_lib.py")).arg(&out_dir).output().expect("Failed to execute command");ifoutput.stderr.len()>0{panic!(String::from_utf8(output.stderr).unwrap());}letin_path:PathBuf=[&out_dir,"test.o"].iter().collect();letout_path:PathBuf=[&out_dir,"libtest.a"].iter().collect();letmutbuilder=Builder::new(File::create(out_path.to_str().unwrap()).unwrap());builder.append_path(in_path.to_str().unwrap()).unwrap();println!("cargo:rustc-link-lib=static=test");println!("cargo:rustc-link-search=native={}",out_dir);}