Skip to content
Snippets Groups Projects
build.rs 612 B
Newer Older
use std::{env, fs};
Jeremy Soller's avatar
Jeremy Soller committed
    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))
Jeremy Soller's avatar
Jeremy Soller committed
        .flag("-fno-stack-protector")
        .flag("-Wno-expansion-to-defined")
jD91mZM2's avatar
jD91mZM2 committed
        .files(
            fs::read_dir("src/c")
                .expect("src/c directory missing")
                .map(|res| res.expect("read_dir error").path()),
        )
Jeremy Soller's avatar
Jeremy Soller committed
        .compile("relibc_c");

    println!("cargo:rustc-link-lib=static=relibc_c");
}