xref: /relibc/build.rs (revision b8c50c7c6421d1868a95e57ac1553557cb2314b1)
1 extern crate cc;
2 
3 use std::{env, fs};
4 
5 fn main() {
6     let crate_dir = env::var("CARGO_MANIFEST_DIR").expect("CARGO_MANIFEST_DIR not set");
7 
8     cc::Build::new()
9         .flag("-nostdinc")
10         .flag("-nostdlib")
11         .include(&format!("{}/include", crate_dir))
12         .flag("-fno-stack-protector")
13         .flag("-Wno-expansion-to-defined")
14         .files(
15             fs::read_dir("src/c")
16                 .expect("src/c directory missing")
17                 .map(|res| res.expect("read_dir error").path()),
18         )
19         .compile("relibc_c");
20 
21     println!("cargo:rustc-link-lib=static=relibc_c");
22 }
23