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