On 9/27/25 19:17, Alex Bennée wrote:
[email protected] writes:
From: Marc-André Lureau <[email protected]>
Hi,
This patch series fixes a number of issues with the build system and CI and
enable Rust for many of our jobs, getting us closer to enable Rust by default.
emscripten is difficult to enable, help welcome.
Also I think:
https://gitlab.com/stsquad/qemu/-/pipelines/2065603411
And the:
debian-armhf-cross
debian-i686-cross
debian-mipsel-cross
debian-mips64el-cross
debian-ppc64el-cross
debian-riscv64-cross
I'll test 1-21+26 and see what breaks with that subset.
Paolo
cross builds fail.
v2:
- add a rust-to-clang-target-test.sh configure script
- drop "RFC: configure: use the same machine as the host triple"
- replace "tests: move mips to debian-legacy-test-cross" with "RFC: build-sys:
deprecate mips host"
- start tackling emscripten
- fix mis-placed submodule update
- other minor changes, commit message tweaks, bz links
- add r-b tags
Marc-André Lureau (27):
build-sys: require -lrt when no shm_open() in std libs
gitlab-ci: fix 'needs' property type must be array
scripts/archive-source: speed up downloading subprojects
scripts/archive-source: silence subprojects downloads
scripts/archive-source: use a bash array
configure: fix rust meson configuration
configure: set the bindgen cross target
tests/docker/common: print errors to stderr
tests/docker: use fully qualified image name for emsdk
tests/docker/common: print meson log on configure failure
build-sys: cfi_debug and safe_stack are not compatible
lcitool: update, switch to f41
lcitool/qemu: include libclang-rt for TSAN
lcitool/alpine: workaround bindgen issue
tests/lcitool: add missing rust-std dep
tests/lcitool: update to debian13
tests/docker: add ENABLE_RUST environment
tests/lcitool: enable rust & refresh
configure: set the meson executable suffix/ext
tests/freebsd: enable Rust
meson: rust-bindgen limit allowlist-file to srcdir/include
RFC: tests/docker: add rust to debian-legacy-test-cross
WIP: gitlab-ci: enable rust for msys2-64bit
WIP: cirrus/macos: enable Rust
RFC: build-sys: deprecate mips host
build-sys: pass -fvisibility=default for wasm bindgen
WIP: enable rust for wasm/emscripten
docs/about/build-platforms.rst | 2 -
docs/about/deprecated.rst | 9 +--
configure | 27 +++++++-
meson.build | 34 +++++++---
.gitlab-ci.d/buildtest-template.yml | 2 +-
.gitlab-ci.d/buildtest.yml | 66 +++++++++----------
.gitlab-ci.d/cirrus.yml | 4 +-
.gitlab-ci.d/crossbuilds.yml | 46 ++++++-------
.gitlab-ci.d/static_checks.yml | 6 +-
.gitlab-ci.d/windows.yml | 8 ++-
rust/bql/meson.build | 1 +
rust/chardev/meson.build | 1 +
rust/hw/char/pl011/meson.build | 1 +
rust/hw/core/meson.build | 1 +
rust/migration/meson.build | 3 +-
rust/qom/meson.build | 1 +
rust/system/meson.build | 1 +
rust/util/meson.build | 1 +
scripts/archive-source.sh | 33 +++++++---
.../ci/setup/ubuntu/ubuntu-2204-aarch64.yaml | 5 +-
.../ci/setup/ubuntu/ubuntu-2204-s390x.yaml | 5 +-
scripts/rust-to-clang-target-test.sh | 43 ++++++++++++
scripts/rust-to-clang-target.sh | 62 +++++++++++++++++
tests/docker/common.rc | 11 +++-
tests/docker/dockerfiles/alpine.docker | 6 +-
tests/docker/dockerfiles/centos9.docker | 4 ++
.../dockerfiles/debian-amd64-cross.docker | 18 +++--
.../dockerfiles/debian-arm64-cross.docker | 18 +++--
.../dockerfiles/debian-armhf-cross.docker | 21 +++---
.../dockerfiles/debian-i686-cross.docker | 20 ++++--
.../debian-legacy-test-cross.docker | 9 ++-
.../dockerfiles/debian-mips64el-cross.docker | 9 ++-
.../dockerfiles/debian-mipsel-cross.docker | 9 ++-
.../dockerfiles/debian-ppc64el-cross.docker | 18 +++--
.../dockerfiles/debian-riscv64-cross.docker | 10 ++-
.../dockerfiles/debian-s390x-cross.docker | 18 +++--
tests/docker/dockerfiles/debian.docker | 18 +++--
.../dockerfiles/emsdk-wasm32-cross.docker | 29 +++++++-
.../dockerfiles/fedora-rust-nightly.docker | 18 +++--
.../dockerfiles/fedora-win64-cross.docker | 15 +++--
tests/docker/dockerfiles/fedora.docker | 18 +++--
tests/docker/dockerfiles/opensuse-leap.docker | 7 +-
tests/docker/dockerfiles/ubuntu2204.docker | 7 +-
tests/docker/test-wasm | 12 ++++
tests/lcitool/libvirt-ci | 2 +-
tests/lcitool/projects/qemu.yml | 3 +-
tests/lcitool/refresh | 48 +++++++++-----
tests/vm/freebsd | 4 +-
48 files changed, 531 insertions(+), 183 deletions(-)
create mode 100755 scripts/rust-to-clang-target-test.sh
create mode 100644 scripts/rust-to-clang-target.sh
create mode 100755 tests/docker/test-wasm