ruspiro-boot 0.1.1

The crate provides baremetal boot code for the Raspberry Pi 3 to conviniently start your custom kernel within the Rust environment without the need to dangle with all the initial setup like stack pointers, getting MMU setup or getting all cores kicked off for processing.
/*********************************************************************************************************************** 
 * Copyright (c) 2019 by the authors
 * 
 * Author: André Borrmann 
 * License: Apache License 2.0
 **********************************************************************************************************************/
//! Build script to pre-compile the assembly files containing the majority of the boot up and initial configuration
//! code
//! 

extern crate cc;
use std::env;

fn main() {
    let build_pi3 = env::var_os("CARGO_FEATURE_RUSPIRO_PI3").is_some();
    if build_pi3 {
        cc::Build::new()
            .file("src/asm/boot.s")
            .flag("-march=armv8-a")
            .flag("-mfpu=neon-fp-armv8")
            .flag("-mfloat-abi=hard")
            .compile("boot");

        cc::Build::new()
            .file("src/asm/irqtrampoline.s")
            .flag("-march=armv8-a")
            .flag("-mfpu=neon-fp-armv8")
            .flag("-mfloat-abi=hard")
            .compile("irqtrampoline");
        
        cc::Build::new()
            .file("src/asm/mmu.s")
            .flag("-march=armv8-a")
            .flag("-mfpu=neon-fp-armv8")
            .flag("-mfloat-abi=hard")
            .compile("mmu");
    }
}