QEMU TCG tests head for Meson, spark cross-compiler debate
A 98-patch series would retire the TCG Makefile stack, but dropping host --cross-cc options has maintainers split on containers versus local toolchains.
Pierrick Bouvier has posted a fifth revision of a large series that moves QEMU's TCG guest tests off hand-written Makefiles and into Meson, aligning them with the rest of the project's test infrastructure.
The change covers user-mode, system-mode, and multiarch tests across every architecture QEMU already exercises. Bouvier's stated aims are long-term readability and maintainability, plus benefits that fall out of Meson integration: complete dependency tracking for scripts, headers, reference data and plugins; declaration errors caught at configure time rather than at test run; and typed configuration instead of Make string expansion. Familiar entry points such as make check-tcg and per-target variants remain, with Ninja and meson test also usable directly.
The series has drawn review and testing acknowledgements, including from Alex Bennée and Philippe Mathieu-Daudé. The sticking point is not Meson itself but a late patch that removes the configure --cross-cc-* knobs, leaving container images as the supported way to obtain cross compilers.
Bennée objected that local cross compilers should stay first-class, with containers as fallback. Without that, he argued, developers cannot easily try bleeding-edge compilers, binary-only niche toolchains, or hosts that do not run containers at all; macOS CI today depends on Homebrew compilers. Bouvier countered that ad-hoc --cross-cc setups are undocumented and unreproducible, and that requiring Dockerfile updates forces shared, reviewable toolchains. He offered compiler name lists in the Meson files as a middle path, still without restore of the old configure flags.
Mohamed Mediouni added that some targets and hosts (non-Linux guests, macOS and other non-Linux builders) will keep needing an explicit opt-out from a containers-only policy. The Meson migration itself appears broadly welcome; whether host cross-compiler overrides survive is still unresolved.