1b3e94a20d
From release 0.1.0 pre-patched archive. This includes all Red Bear modifications previously maintained as patches in local/patches/relibc/.
31 lines
816 B
Rust
31 lines
816 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");
|
|
let target = env::var("TARGET").unwrap();
|
|
|
|
println!("cargo:rerun-if-changed=src/c");
|
|
|
|
let mut cc_builder = &mut cc::Build::new();
|
|
|
|
cc_builder = cc_builder.flag("-nostdinc").flag("-nostdlib");
|
|
|
|
if target.starts_with("aarch64") {
|
|
cc_builder = cc_builder.flag("-mno-outline-atomics")
|
|
}
|
|
|
|
cc_builder
|
|
.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");
|
|
}
|