#[allow(unused)]
struct CModule {
name: &'static str,
src: &'static [&'static str],
}
impl CModule {
#[cfg(feature = "cc")]
#[allow(unused)]
fn build(&self) {
use cc::Build;
let mut cc = Build::new();
cc.include("include")
.warnings(true)
.extra_warnings(true)
.warnings_into_errors(true)
.files(self.src)
.compile(self.name);
}
}
fn main() {
#[cfg(feature = "nstd_os_unix_alloc")]
{
use build_target::{Arch, Family};
if build_target::target_family() == Ok(Family::Unix) {
let nstd_os_unix_alloc = CModule {
name: "nstd_os_unix_alloc_c",
src: &["src/os/unix/alloc.c"],
};
if build_target::target_arch() == Ok(Arch::X86_64) {
#[cfg(not(feature = "asm"))]
{
nstd_os_unix_alloc.build();
}
} else {
nstd_os_unix_alloc.build();
}
}
}
}