mirror of
https://github.com/apache/nuttx-apps.git
synced 2026-08-01 20:29:00 +00:00
cmake/tools: Fix panic_immediate_abort deprecation in Rust build
Replace deprecated -Zbuild-std-features=panic_immediate_abort with -Cpanic=immediate-abort compiler flag via RUSTFLAGS. The panic_immediate_abort feature has been stabilized as a real panic strategy in recent Rust nightly versions. The old method of enabling it via -Zbuild-std-features is no longer supported and triggers a compile error in core/src/panicking.rs. Changes: * cmake/nuttx_add_rust.cmake: Use RUSTFLAGS with -Cpanic=immediate-abort * tools/Rust.mk: Use RUSTFLAGS with -Cpanic=immediate-abort Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
This commit is contained in:
parent
8579459bb0
commit
b5d151f73f
2 changed files with 6 additions and 6 deletions
|
|
@ -128,10 +128,10 @@ function(nuttx_add_rust)
|
|||
# Determine build profile based on CONFIG_DEBUG_FULLOPT
|
||||
if(CONFIG_DEBUG_FULLOPT)
|
||||
set(RUST_PROFILE "release")
|
||||
set(RUST_DEBUG_FLAGS "-Zbuild-std-features=panic_immediate_abort")
|
||||
set(RUST_PANIC_FLAGS "-Zunstable-options -Cpanic=immediate-abort")
|
||||
else()
|
||||
set(RUST_PROFILE "debug")
|
||||
set(RUST_DEBUG_FLAGS "")
|
||||
set(RUST_PANIC_FLAGS "")
|
||||
endif()
|
||||
|
||||
# Get the Rust target triple
|
||||
|
|
@ -152,9 +152,9 @@ function(nuttx_add_rust)
|
|||
COMMAND
|
||||
${CMAKE_COMMAND} -E env
|
||||
NUTTX_INCLUDE_DIR=${PROJECT_SOURCE_DIR}/include:${CMAKE_BINARY_DIR}/include:${CMAKE_BINARY_DIR}/include/arch
|
||||
cargo build --${RUST_PROFILE} -Zbuild-std=std,panic_abort
|
||||
${RUST_DEBUG_FLAGS} --manifest-path ${CRATE_PATH}/Cargo.toml --target
|
||||
${RUST_TARGET} --target-dir ${RUST_BUILD_DIR}
|
||||
RUSTFLAGS=${RUST_PANIC_FLAGS} cargo build --${RUST_PROFILE}
|
||||
-Zbuild-std=std,panic_abort --manifest-path ${CRATE_PATH}/Cargo.toml
|
||||
--target ${RUST_TARGET} --target-dir ${RUST_BUILD_DIR}
|
||||
COMMENT "Building Rust crate ${CRATE_NAME}"
|
||||
VERBATIM)
|
||||
|
||||
|
|
|
|||
|
|
@ -90,8 +90,8 @@ endef
|
|||
ifeq ($(CONFIG_DEBUG_FULLOPT),y)
|
||||
define RUST_CARGO_BUILD
|
||||
NUTTX_INCLUDE_DIR=$(TOPDIR)/include:$(TOPDIR)/include/arch \
|
||||
RUSTFLAGS="-Zunstable-options -Cpanic=immediate-abort" \
|
||||
cargo build --release -Zbuild-std=std,panic_abort \
|
||||
-Zbuild-std-features=panic_immediate_abort \
|
||||
--manifest-path $(2)/$(1)/Cargo.toml \
|
||||
--target $(call RUST_TARGET_TRIPLE)
|
||||
endef
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue