307: Use build.rs for conditional compilation r=korken89 a=AfoHT

Extend the current test suite to allow for running tests on newer rustc-versions than current MSRV.

Required by #306 to add special tests for future MSRV.

To exclude an example from the regular non-nightly testing:

```
#![no_main]
#![no_std]

#[cfg(rustc_is_nightly)]
mod example {

    use panic_halt as _;

    #[rtfm::app(device = lm3s6965)]
    const APP: () = {
    <more code>
    }
}
```

Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
This commit is contained in:
bors[bot] 2020-04-21 20:02:28 +00:00 committed by GitHub
commit bb59606b7c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 0 deletions

View file

@ -53,6 +53,9 @@ rtfm-core = "0.3.0"
cortex-m-rt = "0.6.9"
heapless = "0.5.0"
[build-dependencies]
version_check = "0.9"
[dependencies.microamp]
optional = true
version = "0.1.0-alpha.2"

View file

@ -1,8 +1,13 @@
use std::env;
use version_check;
fn main() {
let target = env::var("TARGET").unwrap();
if version_check::Channel::read().unwrap().is_nightly() {
println!("cargo:rustc-cfg=rustc_is_nightly")
}
if target.starts_with("thumbv6m") {
println!("cargo:rustc-cfg=armv6m")
}

View file

@ -44,6 +44,13 @@ main() {
fi
if [ $TRAVIS_RUST_VERSION = nightly ]; then
# Tests where required MSRV > 1.36
#local exs=(
#)
#for ex in ${exs[@]}; do
# cargo check --example $ex --target $T
#done
# multi-core compile-pass tests
pushd heterogeneous
local exs=(