This series builds the qemu SPICE code into a load module in order to remove the number of shared libraries that the main qemu binary depends on.
It is intended to be built on the work that Gerd shared recently regarding modular devices and chardev initialization. I left the patch I used in the series since Gerd may still be working on it. With these changes, the following shared libraries are no longer needed in the main binary: libspice-server.so.1 libopus.so.0 liblz4.so.1 libgstapp-1.0.so.0 libgstvideo-1.0.so.0 libgstbase-1.0.so.0 libgstreamer-1.0.so.0 libssl.so.1.1 liborc-0.4.so.0 There are still some not-so-nice changes in the makefiles, e.g. references to ../directory/foo.o. I don't want to invest too much time in fixing it the right way if Meson changes the way these things are built. Christophe de Dinechin (5): minikconf: Pass variables for modules spice: Make spice a module configuration spice: Move all the spice-related code in spice-app.so build: Add SPICE_CFLAGS and SPICE_LIBS to relevant files spice: Call qemu spice functions indirectly Gerd Hoffmann (2): spice: simplify chardev setup build: fix device module builds audio/Makefile.objs | 2 +- chardev/Makefile.objs | 2 +- chardev/spice.c | 29 ++++------------ configure | 6 ++-- dtc | 2 +- hw/display/Makefile.objs | 1 + hw/i386/pc.c | 1 - include/chardev/spice.h | 1 - include/ui/qemu-spice.h | 75 ++++++++++++++++++---------------------- monitor/Makefile.objs | 3 ++ monitor/hmp-cmds.c | 13 +++++++ monitor/misc.c | 2 +- monitor/qmp-cmds.c | 6 ++-- roms/SLOF | 2 +- roms/openbios | 2 +- roms/opensbi | 2 +- roms/seabios | 2 +- scripts/minikconf.py | 4 +-- slirp | 2 +- softmmu/Makefile.objs | 2 +- softmmu/vl.c | 35 ++++++++++++++++--- ui/Makefile.objs | 12 +++---- ui/spice-app.c | 17 ++++----- ui/spice-core.c | 35 ++++++++++++++++--- 24 files changed, 150 insertions(+), 108 deletions(-) -- 2.26.2