23 lines
612 B
Rust
23 lines
612 B
Rust
extern crate cc;
|
|
|
|
use std::{env, fs};
|
|
|
|
fn main() {
|
|
let crate_dir = env::var("CARGO_MANIFEST_DIR").expect("CARGO_MANIFEST_DIR not set");
|
|
|
|
cc::Build::new()
|
|
.flag("-nostdinc")
|
|
.flag("-nostdlib")
|
|
.include(&format!("{}/include", crate_dir))
|
|
.flag("-fno-stack-protector")
|
|
.flag("-Wno-expansion-to-defined")
|
|
.files(
|
|
fs::read_dir("src/c")
|
|
.expect("src/c directory missing")
|
|
.map(|res| res.expect("read_dir error").path()),
|
|
)
|
|
.compile("relibc_c");
|
|
|
|
println!("cargo:rustc-link-lib=static=relibc_c");
|
|
}
|