[PATCH 0/7] Make SPICE a load module

Christophe de Dinechin posted 7 patches 3 years, 9 months ago
Test docker-quick@centos7 failed
Test docker-mingw@fedora failed
Test checkpatch failed
Test FreeBSD failed
Failed in applying to current master (apply log)
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(-)
[PATCH 0/7] Make SPICE a load module
Posted by Christophe de Dinechin 3 years, 9 months ago
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