Skip to content

Commit bf9f7e3

Browse files
committed
Always build picolibc from source
Zephyr 3.5 switches to picolibc by default and can use a binary from the SDK or build from source. Clang, invoked by zephyr-bindgen from zephyr-sys's build.rs, cannot find the SDK's picolibc include path, resulting in this error: > zephyr/include/zephyr/posix/time.h:55:12: fatal error: 'sys/timespec.h' file not found This is because when using the SDK version, it picks up the include path from a spec file. if(NOT CONFIG_PICOLIBC_USE_MODULE) zephyr_compile_options(--specs=picolibc.specs) We don't pass zephyr_compile_options for bindgen because it contains many GCC-specific options that fail under clang, and in this case the spec file won't work with clang anyway. Build from source so the include path is added in the normal way.
1 parent f6b248d commit bf9f7e3

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ menuconfig RUST
22
bool "Rust"
33
select THREAD_CUSTOM_DATA
44
select CPLUSPLUS
5+
select PICOLIBC_USE_MODULE if PICOLIBC
56
help
67
Rust language support.
78

0 commit comments

Comments
 (0)