This patch series adds a registry for user interfaces (aka displays),
adds support for user interface modules and allows to build sdl, gtk
and curses as modules. Especially gtk cuts down the number of shared
libraries qemu links against by a significant amount.
Note one: Modules are disabled by default, so configure with
--enable-modules to test this.
Note two: Qemu build system doesn't rebuild object files when
the compiler flags change. You might see build failures
when enabling modules without "make clean" because of this,
due to non-modular object files being built without -fPIC.
Gerd Hoffmann (12):
console: add qemu display registry, add gtk
sdl: switch over to new display registry
cocoa: switch over to new display registry
curses: switch over to new display registry
egl-headless: switch over to new display registry
console: add and use qemu_display_find_default
console: add ui module loading support
configure: add X11 vars to config-host.mak
configure: opengl doesn't depend on x11
sdl: build as ui module
gtk: build as ui module
curses: build as ui module
configure | 29 +++++++++++---------
Makefile.objs | 1 +
include/qemu/module.h | 1 +
include/ui/console.h | 75 ++++++++-------------------------------------------
ui/console.c | 59 ++++++++++++++++++++++++++++++++++++++++
ui/curses.c | 14 +++++++++-
ui/egl-headless.c | 20 +++++++++++++-
ui/gtk.c | 17 ++++++++++--
ui/sdl.c | 24 +++++++++--------
ui/sdl2.c | 17 ++++++++++--
vl.c | 74 ++++++++------------------------------------------
ui/Makefile.objs | 31 +++++++++++++--------
ui/cocoa.m | 14 +++++++++-
13 files changed, 208 insertions(+), 168 deletions(-)
--
2.9.3