From 4d9115b3fb17f441a3280dd7913e682157ca1dac Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Thu, 13 Jun 2024 20:40:04 +0200 Subject: [PATCH] Update stable to Rust 1.79. --- ci-nightly.sh | 1 - ci.sh | 6 ++++++ embassy-executor/build_common.rs | 4 ++++ embassy-hal-internal/build_common.rs | 4 ++++ embassy-stm32/build_common.rs | 4 ++++ embassy-sync/build_common.rs | 4 ++++ rust-toolchain.toml | 2 +- 7 files changed, 23 insertions(+), 2 deletions(-) diff --git a/ci-nightly.sh b/ci-nightly.sh index 46b19c5b7..bdb364f53 100755 --- a/ci-nightly.sh +++ b/ci-nightly.sh @@ -30,4 +30,3 @@ cargo batch \ cargo build --release --manifest-path embassy-executor/Cargo.toml --target avr-unknown-gnu-atmega328 -Z build-std=core,alloc --features nightly,arch-avr,avr-device/atmega328p cargo build --release --manifest-path embassy-executor/Cargo.toml --target avr-unknown-gnu-atmega328 -Z build-std=core,alloc --features nightly,arch-avr,integrated-timers,avr-device/atmega328p - diff --git a/ci.sh b/ci.sh index ee2f320b5..36a6dea30 100755 --- a/ci.sh +++ b/ci.sh @@ -2,6 +2,12 @@ set -eo pipefail +# check-cfg is stable on rustc 1.79 but not cargo 1.79. +# however, our cargo-batch is currently based on cargo 1.80, which does support check-cfg. +# so, force build.rs scripts to emit check-cfg commands. +# when 1.80 hits stable we can make build.rs unconditionally emit check-cfg and remove all this. +export EMBASSY_FORCE_CHECK_CFG=1 + export RUSTFLAGS=-Dwarnings export DEFMT_LOG=trace,embassy_hal_internal=debug,embassy_net_esp_hosted=debug,cyw43=info,cyw43_pio=info,smoltcp=info if [[ -z "${CARGO_TARGET_DIR}" ]]; then diff --git a/embassy-executor/build_common.rs b/embassy-executor/build_common.rs index 2c65f8529..0487eb3c5 100644 --- a/embassy-executor/build_common.rs +++ b/embassy-executor/build_common.rs @@ -70,6 +70,10 @@ impl CfgSet { } fn is_rustc_nightly() -> bool { + if env::var_os("EMBASSY_FORCE_CHECK_CFG").is_some() { + return true; + } + let rustc = env::var_os("RUSTC").unwrap_or_else(|| OsString::from("rustc")); let output = Command::new(rustc) diff --git a/embassy-hal-internal/build_common.rs b/embassy-hal-internal/build_common.rs index 2c65f8529..0487eb3c5 100644 --- a/embassy-hal-internal/build_common.rs +++ b/embassy-hal-internal/build_common.rs @@ -70,6 +70,10 @@ impl CfgSet { } fn is_rustc_nightly() -> bool { + if env::var_os("EMBASSY_FORCE_CHECK_CFG").is_some() { + return true; + } + let rustc = env::var_os("RUSTC").unwrap_or_else(|| OsString::from("rustc")); let output = Command::new(rustc) diff --git a/embassy-stm32/build_common.rs b/embassy-stm32/build_common.rs index 2c65f8529..0487eb3c5 100644 --- a/embassy-stm32/build_common.rs +++ b/embassy-stm32/build_common.rs @@ -70,6 +70,10 @@ impl CfgSet { } fn is_rustc_nightly() -> bool { + if env::var_os("EMBASSY_FORCE_CHECK_CFG").is_some() { + return true; + } + let rustc = env::var_os("RUSTC").unwrap_or_else(|| OsString::from("rustc")); let output = Command::new(rustc) diff --git a/embassy-sync/build_common.rs b/embassy-sync/build_common.rs index 2c65f8529..0487eb3c5 100644 --- a/embassy-sync/build_common.rs +++ b/embassy-sync/build_common.rs @@ -70,6 +70,10 @@ impl CfgSet { } fn is_rustc_nightly() -> bool { + if env::var_os("EMBASSY_FORCE_CHECK_CFG").is_some() { + return true; + } + let rustc = env::var_os("RUSTC").unwrap_or_else(|| OsString::from("rustc")); let output = Command::new(rustc) diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 57185e217..037fc5c6a 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -channel = "1.78" +channel = "1.79" components = [ "rust-src", "rustfmt", "llvm-tools" ] targets = [ "thumbv7em-none-eabi",