tasign-kernel-shim 0.1.0

Kernel-side C shims for tasign/mbedTLS (strstr, snprintf).
Documentation
//! Build tiny C shims (`strstr`, `snprintf`) for mbedTLS on bare-metal targets.

fn main() {
    let mut build = cc::Build::new();
    build
        .include("c/mpaland")
        .define("PRINTF_DISABLE_SUPPORT_FLOAT", None)
        .define("PRINTF_DISABLE_SUPPORT_EXPONENTIAL", None)
        .file("c/mpaland/printf.c")
        .file("c/mbedtls_kernel_libc.c");

    if build.get_compiler().is_like_clang() || build.get_compiler().is_like_gnu() {
        build.flag_if_supported("-ffunction-sections");
        build.flag_if_supported("-fdata-sections");
    }

    build.compile("tasign_kernel_shim");

    println!("cargo:rerun-if-changed=c/mbedtls_kernel_libc.c");
    println!("cargo:rerun-if-changed=c/mpaland/printf.c");
    println!("cargo:rerun-if-changed=c/mpaland/printf.h");
}