]> gitweb.unchartedbackwaters.co.uk Git - francis/winuae.git/commit
cmake: own the qemu-uae plugin provisioning
authorStefan Reinauer <stefan.reinauer@coreboot.org>
Fri, 12 Jun 2026 05:57:19 +0000 (22:57 -0700)
committerStefan Reinauer <stefan.reinauer@coreboot.org>
Tue, 7 Jul 2026 20:59:15 +0000 (13:59 -0700)
commite29606e2e31d2a3a5613f4decfce12bd1afd1bf5
tree09866d93cbab48dc7e8dabe66efca2bb17775a2e
parent3fa6d248242a9b65b9e3d5f15a54c7de58f5821d
cmake: own the qemu-uae plugin provisioning

The mandatory qemu-uae.so plugin was only buildable from a sibling
qemu-uae source tree; distro builds without one configured fine, built
fine, and then failed at install time when the install rule referenced
the never-built plugin (GitHub issue #6). Both CI workflows carried
their own duplicated checkout/build/strip plumbing for the
uae-ppc-plugin builder instead.

Resolve the plugin at configure time, in order: prebuilt
WINUAE_QEMU_UAE_PLUGIN_FILE, the sibling qemu-uae source tree, an
uae-ppc-plugin builder checkout (WINUAE_QEMU_UAE_BUILDER_DIR, default
sibling; WINUAE_QEMU_UAE_QEMU_TARBALL feeds it a local QEMU tarball for
offline distribution builds), or a build-time clone of the builder
(WINUAE_QEMU_UAE_BUILDER_FETCH, default ON). When nothing applies the
configure fails with the list of options. On Linux the plugin target is
part of the default build so plain build+install flows always bundle
the plugin.

Drive the builder through an OUTPUT-based custom command so repeated
`all` builds and CPack preinstall do not rerun the external builder once
qemu-uae.so is already present.

The Ubuntu and macOS workflows drop their manual plugin build steps and
pass the builder checkout to CMake; stripping moved into the builder
wrapper script.
CMakeLists.txt
README_unix.md
tools/build-qemu-uae-via-builder.sh [new file with mode: 0755]