fn add_file<'a>(build: &'a mut cc::Build, name: &'a str) -> &'a mut cc::Build { println!("cargo:rerun-if-changed={}", name); build.file(name) } fn main() { println!("cargo:rerun-if-changed=libm/private.h"); let mut build = cc::Build::new(); build .compiler("clang") .flag("-ffreestanding") .flag("-nostdlib"); add_file(&mut build, "libm/s_truncf.c"); add_file(&mut build, "libm/s_ceilf.c"); add_file(&mut build, "libm/s_floorf.c"); add_file(&mut build, "libm/s_fabsf.c"); add_file(&mut build, "libm/s_scalbnf.c"); add_file(&mut build, "libm/s_copysignf.c"); add_file(&mut build, "libm/e_powf.c"); add_file(&mut build, "libm/e_sqrtf.c"); add_file(&mut build, "libm/e_hypotf.c"); add_file(&mut build, "libm/e_fmodf.c"); add_file(&mut build, "libm/w_powf.c"); add_file(&mut build, "libm/w_hypotf.c"); add_file(&mut build, "libm/w_fmodf.c"); build.compile("m"); }