From 99d2de65405b7d2a7fcdd3d5091a91b2428eab94 Mon Sep 17 00:00:00 2001 From: Huang Qi Date: Wed, 5 Mar 2025 19:57:11 +0800 Subject: [PATCH] tools: Export NUTTX_INCLUDE_DIR for Rust builds Set NUTTX_INCLUDE_DIR in the Rust build commands to include the necessary directories for proper compilation. * Ensured correct include paths for Rust projects * Improved build reliability for Rust components Signed-off-by: Huang Qi --- cmake/nuttx_add_rust.cmake | 2 ++ tools/Rust.mk | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/cmake/nuttx_add_rust.cmake b/cmake/nuttx_add_rust.cmake index 742bc3be5..97ecdcec7 100644 --- a/cmake/nuttx_add_rust.cmake +++ b/cmake/nuttx_add_rust.cmake @@ -150,6 +150,8 @@ function(nuttx_add_rust) add_custom_command( OUTPUT ${RUST_LIB_PATH} 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} diff --git a/tools/Rust.mk b/tools/Rust.mk index 337d323dd..9a77ae57b 100644 --- a/tools/Rust.mk +++ b/tools/Rust.mk @@ -89,7 +89,8 @@ endef ifeq ($(CONFIG_DEBUG_FULLOPT),y) define RUST_CARGO_BUILD - cargo build --release -Zbuild-std=std,panic_abort \ + NUTTX_INCLUDE_DIR=$(TOPDIR)/include:$(TOPDIR)/include/arch \ + 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) @@ -97,7 +98,8 @@ endef else define RUST_CARGO_BUILD @echo "Building Rust code with cargo..." - cargo build -Zbuild-std=std,panic_abort \ + NUTTX_INCLUDE_DIR=$(TOPDIR)/include:$(TOPDIR)/include/arch \ + cargo build -Zbuild-std=std,panic_abort \ --manifest-path $(2)/$(1)/Cargo.toml \ --target $(call RUST_TARGET_TRIPLE) endef