Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zephyr 3.7 support. Drop older 3.x #54

Merged
merged 1 commit into from
Sep 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 4 additions & 16 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,36 +12,24 @@ jobs:
strategy:
fail-fast: false
matrix:
zephyr_version: [3.6.0, 3.5.0, 3.4.0, 2.7.3, 2.3.0]
zephyr_version: [3.7.0, 2.7.3, 2.3.0]
board: [qemu_x86, qemu_cortex_m3, qemu_cortex_r5, nucleo_l552ze_q, native_posix, qemu_riscv32, qemu_riscv64]
test: [samples/rust-app, samples/no_std, samples/serial]
exclude:
- board: qemu_riscv32
zephyr_version: 2.3.0
- board: qemu_riscv64
zephyr_version: 2.3.0
- board: qemu_riscv32
zephyr_version: 2.4.0
- board: qemu_riscv64
zephyr_version: 2.4.0
- board: qemu_riscv32
zephyr_version: 2.5.0
- board: qemu_riscv64
zephyr_version: 2.5.0
- board: qemu_riscv32
zephyr_version: 2.6.0
- board: qemu_riscv64
zephyr_version: 2.6.0
- board: qemu_riscv32
zephyr_version: 2.7.3
- board: qemu_riscv64
zephyr_version: 2.7.3
# serial/uart does not exist on posix
- board: native_posix
test: samples/serial
# posix has header issues on Zephyr 3.x
- board: native_posix
zephyr_version: 3.5.0
- board: native_posix
zephyr_version: 3.6.0
zephyr_version: 3.7.0
include:
- fails: false
- run: false
Expand Down
18 changes: 16 additions & 2 deletions Kconfig
Original file line number Diff line number Diff line change
@@ -1,12 +1,26 @@
menuconfig RUST
bool "Rust"
select THREAD_CUSTOM_DATA
select CPLUSPLUS
select PICOLIBC_USE_MODULE if PICOLIBC
# Static initializers for Zephyr >=3.7
select STATIC_INIT_GNU if TOOLCHAIN_SUPPORTS_STATIC_INIT_GNU
# Static initializers for Zephyr 2.x
select CPLUSPLUS if !TOOLCHAIN_SUPPORTS_STATIC_INIT_GNU
help
Rust language support.

if RUST

# Define this choice to use PICOLIBC_USE_MODULE on 3.7 and be compatible with 2.x
# This breaks older 3.x versions because PICOLIBC_SOURCE is not a choice there
# It is not possible to use 'select' with a 'choice'
choice PICOLIBC_SOURCE
prompt "Source of Picolibc"
default PICOLIBC_USE_MODULE

config PICOLIBC_USE_MODULE
bool "Picolibc from module"
endchoice

choice RUST_GLOBAL_ALLOCATOR
prompt "Rust global allocator"
default RUST_ALLOC_POOL if USERSPACE
Expand Down
Loading