toku-mac opened a new pull request, #3484:
URL: https://github.com/apache/nuttx-apps/pull/3484

   ## Summary
   
   Add `DEPENDS` to ensure staticlib rebuilds when Rust-related files change.
   
   ## Impact
   
   * Impact on build: Rebuilding with CMake for rust-related changes
   
   ## Testing
   
   I confirm that changes are verified on local setup and works as intended:
   * Build Host(s): OS (macOS 26.5), CPU(Apple M1), compiler(Apple clang 
version 21.0.0)
   * Target(s): arch(thumbv8m)
   * Ensure your PATH environment variable is properly configured to allow 
execution of: menuconfig, olddefconfig, savedefconfig, and setconfig.
   * Use the Rust toolchain version prior to nightly-2026-04-29 to avoid errors 
related to 
lib/rustlib/src/rust/library/std/src/sys/net/connection/socket/unix.rs.
   
   Configuration:
   
   ```
   ❯ make distclean
   NuttX has not been configured!
   To configure the project:
     tools/configure.sh <config>
   For a list of available configurations:
     tools/configure.sh -L
   
   ❯ cmake -S . -B build-debug -DBOARD_CONFIG=nucleo-h563zi:nsh -GNinja
   -- nuttx_add_subdirectory: Skipping cxx-oot-build
   -- Initializing NuttX
   Loaded configuration 
'/Users/toku/nuttxspace/nuttx/build-debug/.config.compressed'
   Minimal configuration saved to 
'/Users/toku/nuttxspace/nuttx/build-debug/defconfig.tmp'
     Select HOST_MACOS=y
   --   CMake:  4.3.2
   --   Ninja:  1.13.2
   --   Board:  nucleo-h563zi
   --   Config: nsh
   --   Appdir: /Users/toku/nuttxspace/apps
   -- The C compiler identification is AppleClang 21.0.0.21000101
   -- Detecting C compiler ABI info
   -- Detecting C compiler ABI info - done
   -- Check for working C compiler: /usr/bin/cc - skipped
   -- Detecting C compile features
   -- Detecting C compile features - done
   -- NuttX Host Tools
   -- CMake C compiler: AppleClang
   -- CMake system name: Darwin
   -- CMake host system processor: arm64
      TOOLS_DIR path is "/Users/toku/nuttxspace/nuttx"
      HOST = Darwin
   -- Configuring done (0.3s)
   -- Generating done (0.0s)
   -- Build files have been written to: 
/Users/toku/nuttxspace/nuttx/build-debug/bin_host
   -- The C compiler identification is GNU 14.3.1
   -- The CXX compiler identification is GNU 14.3.1
   -- The ASM compiler identification is GNU
   -- Found assembler: 
/Applications/ArmGNUToolchain/14.3.rel1/arm-none-eabi/bin/arm-none-eabi-gcc
   -- Detecting C compiler ABI info
   -- Detecting C compiler ABI info - done
   -- Check for working C compiler: 
/Applications/ArmGNUToolchain/14.3.rel1/arm-none-eabi/bin/arm-none-eabi-gcc - 
skipped
   -- Detecting C compile features
   -- Detecting C compile features - done
   -- Detecting CXX compiler ABI info
   -- Detecting CXX compiler ABI info - done
   -- Check for working CXX compiler: 
/Applications/ArmGNUToolchain/14.3.rel1/arm-none-eabi/bin/arm-none-eabi-g++ - 
skipped
   -- Detecting CXX compile features
   -- Detecting CXX compile features - done
   -- nuttx_add_subdirectory: Skipping cxx-oot-build
   -- Configuring done (4.2s)
   -- Generating done (0.5s)
   -- Build files have been written to: /Users/toku/nuttxspace/nuttx/build-debug
   
   ❯ printf "CONFIG_SYSTEM_TIME64=y
   CONFIG_FS_LARGEFILE=y
   CONFIG_TLS_NELEM=16
   CONFIG_DEV_URANDOM=y
   CONFIG_EXAMPLES_HELLO_RUST_CARGO=y
   CONFIG_EXAMPLES_HELLO_RUST_CARGO_STACKSIZE=8192
   " >> build-debug/.config
   
   ❯ cmake --build build-debug -t olddefconfig
   [0/1] Re-running CMake...
   -- NuttX Host Tools
   -- CMake C compiler: AppleClang
   -- CMake system name: Darwin
   -- CMake host system processor: arm64
      TOOLS_DIR path is "/Users/toku/nuttxspace/nuttx"
      HOST = Darwin
   -- Configuring done (0.0s)
   -- Generating done (0.0s)
   -- Build files have been written to: 
/Users/toku/nuttxspace/nuttx/build-debug/bin_host
   -- nuttx_add_subdirectory: Skipping cxx-oot-build
   -- Configuring done (0.5s)
   -- Generating done (0.4s)
   -- Build files have been written to: /Users/toku/nuttxspace/nuttx/build-debug
   [0/3] Re-checking globbed directories...
   [1/3] cd /Users/toku/nuttxspace/nuttx && /opt/homebrew/...ke -E touch 
/Users/toku/nuttxspace/nuttx/CMakeLists.tx
   /Users/toku/nuttxspace/nuttx/build-debug/.config:2014: warning: 
SYSTEM_TIME64 (defined at sched/Kconfig:170) set more than once. Old value "n", 
new value "y".
   /Users/toku/nuttxspace/nuttx/build-debug/.config:2015: warning: FS_LARGEFILE 
(defined at fs/Kconfig:20) set more than once. Old value "n", new value "y".
   /Users/toku/nuttxspace/nuttx/build-debug/.config:2016: warning: TLS_NELEM 
(defined at libs/libc/tls/Kconfig:45) set more than once. Old value "0", new 
value "16".
   /Users/toku/nuttxspace/nuttx/build-debug/.config:2017: warning: DEV_URANDOM 
(defined at drivers/crypto/Kconfig:16) set more than once. Old value "n", new 
value "y".
   /Users/toku/nuttxspace/nuttx/build-debug/.config:2018: warning: 
EXAMPLES_HELLO_RUST_CARGO (defined at 
/Users/toku/nuttxspace/apps/examples/rust/hello/Kconfig:6) set more than once. 
Old value "n", new value "y".
   Loaded configuration '/Users/toku/nuttxspace/nuttx/build-debug/.config'
   Configuration saved to '/Users/toku/nuttxspace/nuttx/build-debug/.config'
   ```
   
   Build:
   
   ```
   
   ❯ cmake --build build-debug
   [0/2] Re-checking globbed directories...
   [1/2] Re-running CMake...
   -- NuttX Host Tools
   -- CMake C compiler: AppleClang
   -- CMake system name: Darwin
   -- CMake host system processor: arm64
      TOOLS_DIR path is "/Users/toku/nuttxspace/nuttx"
      HOST = Darwin
   -- Configuring done (0.0s)
   -- Generating done (0.0s)
   -- Build files have been written to: 
/Users/toku/nuttxspace/nuttx/build-debug/bin_host
   -- nuttx_add_subdirectory: Skipping cxx-oot-build
   -- Configuring done (0.5s)
   -- Generating done (0.4s)
   -- Build files have been written to: /Users/toku/nuttxspace/nuttx/build-debug
   [0/4] Re-checking globbed directories...
   [1156/1162] Building Rust crate hello
      Compiling compiler_builtins v0.1.160 
(/Users/toku/.rustup/toolchains/nightly-2026-04-29-aarch64-apple-darwin/lib/rustlib/src/rust/library/compiler-builtins/compiler-builtins)
      Compiling core v0.0.0 
(/Users/toku/.rustup/toolchains/nightly-2026-04-29-aarch64-apple-darwin/lib/rustlib/src/rust/library/core)
      Compiling libc v0.2.185
      Compiling object v0.37.3
      Compiling std v0.0.0 
(/Users/toku/.rustup/toolchains/nightly-2026-04-29-aarch64-apple-darwin/lib/rustlib/src/rust/library/std)
      Compiling proc-macro2 v1.0.106
      Compiling quote v1.0.45
      Compiling unicode-ident v1.0.24
      Compiling serde_core v1.0.228
      Compiling zmij v1.0.21
      Compiling serde_json v1.0.149
      Compiling serde v1.0.228
      Compiling syn v2.0.117
      Compiling serde_derive v1.0.228
      Compiling rustc-std-workspace-core v1.99.0 
(/Users/toku/.rustup/toolchains/nightly-2026-04-29-aarch64-apple-darwin/lib/rustlib/src/rust/library/rustc-std-workspace-core)
      Compiling alloc v0.0.0 
(/Users/toku/.rustup/toolchains/nightly-2026-04-29-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc)
      Compiling memchr v2.7.6
      Compiling adler2 v2.0.1
      Compiling rustc-demangle v0.1.27
      Compiling cfg-if v1.0.4
      Compiling panic_abort v0.0.0 
(/Users/toku/.rustup/toolchains/nightly-2026-04-29-aarch64-apple-darwin/lib/rustlib/src/rust/library/panic_abort)
      Compiling rustc-literal-escaper v0.0.7
      Compiling unwind v0.0.0 
(/Users/toku/.rustup/toolchains/nightly-2026-04-29-aarch64-apple-darwin/lib/rustlib/src/rust/library/unwind)
      Compiling rustc-std-workspace-alloc v1.99.0 
(/Users/toku/.rustup/toolchains/nightly-2026-04-29-aarch64-apple-darwin/lib/rustlib/src/rust/library/rustc-std-workspace-alloc)
      Compiling panic_unwind v0.0.0 
(/Users/toku/.rustup/toolchains/nightly-2026-04-29-aarch64-apple-darwin/lib/rustlib/src/rust/library/panic_unwind)
      Compiling gimli v0.32.3
      Compiling hashbrown v0.17.0
      Compiling miniz_oxide v0.8.9
      Compiling std_detect v0.1.5 
(/Users/toku/.rustup/toolchains/nightly-2026-04-29-aarch64-apple-darwin/lib/rustlib/src/rust/library/std_detect)
      Compiling addr2line v0.25.1
      Compiling proc_macro v0.0.0 
(/Users/toku/.rustup/toolchains/nightly-2026-04-29-aarch64-apple-darwin/lib/rustlib/src/rust/library/proc_macro)
      Compiling pin-project-lite v0.2.17
      Compiling itoa v1.0.18
      Compiling memchr v2.8.0
      Compiling tokio v1.52.3
      Compiling hello v0.1.0 (/Users/toku/nuttxspace/apps/examples/rust/hello)
       Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.59s
   [1157/1162] Linking CXX executable nuttx
   
/Applications/ArmGNUToolchain/14.3.rel1/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld:
 warning: umm_mallinfo.c.o: missing .note.GNU-stack section implies executable 
stack
   
/Applications/ArmGNUToolchain/14.3.rel1/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld:
 NOTE: This behaviour is deprecated and will be removed in a future version of 
the linker
   Memory region         Used Size  Region Size  %age Used
              flash:     1267368 B         2 MB     60.43%
               sram:       11576 B       256 KB      4.42%
   [1159/1162] Generating System.map
   ```
   
   ## PR verification Self-Check
   
   * [x] My PR adheres to Contributing 
[Guidelines](https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md) and 
[Documentation](https://nuttx.apache.org/docs/latest/contributing/index.html) 
(git commit title and message, coding standard, etc).
   * [x] My PR is ready for review and can be safely merged into a codebase.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to