593: RTIC macro expansion: Try to find target-dir r=korken89 a=AfoHT
Seems over-engineered, but for projects where
```
[build]
target-dir = "target"
```
is set to anything other than default `target` RTIC did simply not produce any `rtic-expansion.rs`.
This changes the approach to not giving up if not finding `target/` by looking at `OUT_DIR` and traversing back until `TARGET` is found.
As the `TARGET` target-triple variable is not available, approximate the `TARGET` folder (found in `target-dir`) with `s.starts_with("thumbv")`.
`target-dir` as set in `.cargo/config` will now be the parent directory of the `Path` ending with `TARGET`
## Example running with default target:
```
cortex-m-rtic on expansionoutdir [$!?] is 📦 v1.0.0 via R v1.58.0 took 4s
❯ cargo build --example spawn --target thumbv7em-none-eabihf
OUT_DIR
"/home/henrik/rust/rtic/cortex-m-rtic/target/thumbv7em-none-eabihf/debug/build/cortex-m-rtic-5bd81e8412a790d5/out"
target/ exists
Write file:
target/rtic-expansion.rs
Finished dev [unoptimized + debuginfo] target(s) in 7.20s
```
## Contrived example
With `.cargo/config` containing:
```
[build]
target-dir = "/tmp/cargothingy/../rust/./target/cargo"`
```
```
cortex-m-rtic on expansionoutdir [$!?] is 📦 v1.0.0 via R v1.58.0 took 3s
❯ cargo build --example spawn --target thumbv7em-none-eabihf
OUT_DIR
"/tmp/cargothingy/../rust/./target/cargo/thumbv7em-none-eabihf/debug/build/cortex-m-rtic-5bd81e8412a790d5/out"
"/tmp/cargothingy/../rust/./target/cargo"
Write file:
/tmp/cargothingy/../rust/./target/cargo/rtic-expansion.rs
Finished dev [unoptimized + debuginfo] target(s) in 6.42s
```
## Less extreme with relative paths
```
[build]
target-dir = "../../cargothingy/target/buildfiles/and-stuff"
```
```
OUT_DIR
"/home/henrik/rust/rtic/cortex-m-rtic/../../cargothingy/target/buildfiles/and-stuff/thumbv7em-none-eabihf/debug/build/cortex-m-rtic-5bd81e8412a790d5/out"
"/home/henrik/rust/rtic/cortex-m-rtic/../../cargothingy/target/buildfiles/and-stuff"
Write file:
/home/henrik/rust/rtic/cortex-m-rtic/../../cargothingy/target/buildfiles/and-stuff/rtic-expansion.rs
Finished dev [unoptimized + debuginfo] target(s) in 6.78s
```
Note: If the user creates a folder named target in the same directory where `Cargo.toml`/crate root is, that will be used for storing the expansion.
```
<...>
OUT_DIR
"/home/henrik/rust/rtic/cortex-m-rtic/../../cargothingy/target/buildfiles/and-stuff/thumbv7em-none-eabihf/debug/build/cortex-m-rtic-5bd81e8412a790d5/out"
target/ exists
Write file:
target/rtic-expansion.rs
Finished dev [unoptimized + debuginfo] target(s) in 6.62s
```
Co-authored-by: Henrik Tjäder <henrik@grepit.se>
595: Update tips_monotonic_impl.md r=AfoHT a=jordens
* There is no RTIC 0.6, only several RCs.
* Timers without interrupts (like the DWT cycle counter alone) will not be useful for `Monotonic` impls.
* Clarified some of the descriptions of the various implementations.
Close#597Close#594
Co-authored-by: Robert Jördens <rj@quartiq.de>
* There is no RTIC 0.6, only several RCs.
* Timers without interrupts (like the DWT cycle counter alone) will not be useful for `Monotonic` impls.
* Clarified some of the descriptions of the various implementations.
591: Fix running command examples in chapter 1.5.5 Monotonic r=AfoHT a=GreenPenguino
Run the right examples in chapter 1.5.5 in the book
Co-authored-by: Erik <erik_97@live.nl>
588: Highlight how to run examples locally r=perlindgren a=AfoHT
How examples are run never gets properly introduced before used in `by-example/resources.md`
Fixes#587
Co-authored-by: Henrik Tjäder <henrik@grepit.se>
585: Fix the locals.rs comment r=korken89 a=keadwen
I believe that is a typo s/shared/local_to_bar
Co-authored-by: Jakub Młynarczyk <jkbmlynarczyk@gmail.com>
569: README: Remove rustc badge and Requirements r=korken89 a=perlindgren
Remove rustc badge and requirements to edition 2018.
Co-authored-by: Per Lindgren <per.lindgren@ltu.se>
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
563: Docs touchup r=korken89 a=AfoHT
Unleashed some language linters on the book
Co-authored-by: Henrik Tjäder <henrik@grepit.se>
Co-authored-by: perlindgren <per.lindgren@ltu.se>