1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

Merge pull request #18839 from chrysn-pull-requests/rust-use-stable

rust: Use stable Rust
This commit is contained in:
Marian Buschsieweke 2022-11-24 20:41:51 +01:00 committed by GitHub
commit 26d5b7ca0b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 17 deletions

View File

@ -106,26 +106,21 @@ Toolchain {#toolchain}
To install the necessary Rust components, it is easiest use [**rustup**, installed as described on its website].
Using Rust on RIOT needs the latest stable or nightly version of Rust,
depending on the precise example used.
(Currently, it's mainly the CoAP parts that use nightly features, and some native builds;
until stable is universally available, only tests are run on stable by default).
Using Rust on RIOT needs the latest stable version of Rust.
Make sure you have both the nightly and stable **toolchains**
Make sure you have the stable **toolchain**
and the core library for the CPU (**target**) of your choice available:
```
$ rustup toolchain add nightly
$ rustup toolchain add stable
$ rustup target add thumbv7m-none-eabi --toolchain nightly
$ rustup target add thumbv7m-none-eabi --toolchain stable
```
Substitute thumbv7m-none-eabi with the value of `RUST_TARGET`
in the output of `make info-build` of an application that has your current board selected,
or just add it later whenever the Rust compiler complains about not finding the core library for a given target).
Installing only nightly will work just as well,
but you may need to remove the `CARGO_CHANNEL = stable` line to run tests.
in the output of `make info-build` of an application that has your current board selected
(or just add it later whenever the Rust compiler complains about not finding the core library for a given target).
Using a beta or nightly will work just as well,
but you may need to set `CARGO_CHANNEL=nightly` on your shell or in your Makefiles.
While Rust comes with its own [cargo] dependency tracker for any Rust code,

View File

@ -41,8 +41,7 @@ BASELIBS += $(APPLICATION_RUST_MODULE).module
FEATURES_REQUIRED += rust_target
# This example requires a nightly version because of the CoAP dependencies
CARGO_CHANNEL ?= ${CARGO_CHANNEL_NIGHTLY}
CARGO_CHANNEL ?= stable
# Currently unknown, something related to the LED_PORT definition that doesn't
# pass C2Rust's transpilation

View File

@ -21,10 +21,10 @@ BASELIBS += $(APPLICATION_RUST_MODULE).module
FEATURES_REQUIRED += rust_target
# While this example can be built with stable Rust on many platforms, the
# nightly channel is selected to smoothly transition from running this example
# to experimenting with it (which might easily lead into nightly territory).
CARGO_CHANNEL ?= $(CARGO_CHANNEL_NIGHTLY)
# All Rust components RIOT uses work on stable Rust. If any extra libraries
# were to require a more recent version, switch to `CARGO_CHANNEL =
# $(CARGO_CHANNEL_NIGHTLY)` to use whichever nightly version is available.
CARGO_CHANNEL ?= stable
# Currently unknown, something related to the LED_PORT definition that doesn't
# pass C2Rust's transpilation