d8aec9d9f1
Add a new display backend that will configure Spice to allow a remote client to control QEMU in a similar fashion as other QEMU display backend/UI like GTK. For this to work, it will set up Spice server with a unix socket, and register a VC chardev that will be exposed as Spice ports. A QMP monitor is also exposed as a Spice port, this allows the remote client fuller qemu control and state handling. - doesn't handle VC set_echo() - this doesn't seem a strong requirement, very few front-end use it - spice options can be tweaked with other -spice arguments - Windows support shouldn't be hard to do, but will probably use a TCP port instead - we may want to watch the child process to quit automatically if it crashed Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Tested-by: Victor Toso <victortoso@redhat.com> Message-id: 20190221110703.5775-12-marcandre.lureau@redhat.com [ kraxel: squash incremental fix ] Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
68 lines
2.0 KiB
Makefile
68 lines
2.0 KiB
Makefile
vnc-obj-y += vnc.o
|
|
vnc-obj-y += vnc-enc-zlib.o vnc-enc-hextile.o
|
|
vnc-obj-y += vnc-enc-tight.o vnc-palette.o
|
|
vnc-obj-y += vnc-enc-zrle.o
|
|
vnc-obj-y += vnc-auth-vencrypt.o
|
|
vnc-obj-$(CONFIG_VNC_SASL) += vnc-auth-sasl.o
|
|
vnc-obj-y += vnc-ws.o
|
|
vnc-obj-y += vnc-jobs.o
|
|
|
|
common-obj-y += keymaps.o console.o cursor.o qemu-pixman.o
|
|
common-obj-y += input.o input-keymap.o input-legacy.o kbd-state.o
|
|
common-obj-$(CONFIG_LINUX) += input-linux.o
|
|
common-obj-$(CONFIG_SPICE) += spice-core.o spice-input.o spice-display.o
|
|
common-obj-$(CONFIG_COCOA) += cocoa.o
|
|
common-obj-$(CONFIG_VNC) += $(vnc-obj-y)
|
|
common-obj-$(call lnot,$(CONFIG_VNC)) += vnc-stubs.o
|
|
|
|
# ui-sdl module
|
|
common-obj-$(CONFIG_SDL) += sdl.mo
|
|
sdl.mo-objs := sdl2.o sdl2-input.o sdl2-2d.o
|
|
ifeq ($(CONFIG_OPENGL),y)
|
|
sdl.mo-objs += sdl2-gl.o
|
|
endif
|
|
sdl.mo-cflags := $(SDL_CFLAGS)
|
|
sdl.mo-libs := $(SDL_LIBS)
|
|
|
|
# ui-gtk module
|
|
common-obj-$(CONFIG_GTK) += gtk.mo
|
|
gtk.mo-objs := gtk.o
|
|
gtk.mo-cflags := $(GTK_CFLAGS) $(VTE_CFLAGS)
|
|
gtk.mo-libs := $(GTK_LIBS) $(VTE_LIBS)
|
|
ifeq ($(CONFIG_OPENGL),y)
|
|
gtk.mo-objs += gtk-egl.o
|
|
gtk.mo-libs += $(OPENGL_LIBS)
|
|
ifeq ($(CONFIG_GTK_GL),y)
|
|
gtk.mo-objs += gtk-gl-area.o
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(CONFIG_X11),y)
|
|
sdl.mo-objs += x_keymap.o
|
|
gtk.mo-objs += x_keymap.o
|
|
x_keymap.o-cflags := $(X11_CFLAGS)
|
|
x_keymap.o-libs := $(X11_LIBS)
|
|
endif
|
|
|
|
common-obj-$(CONFIG_CURSES) += curses.mo
|
|
curses.mo-objs := curses.o
|
|
curses.mo-cflags := $(CURSES_CFLAGS)
|
|
curses.mo-libs := $(CURSES_LIBS)
|
|
|
|
common-obj-$(call land,$(CONFIG_SPICE),$(CONFIG_GIO)) += spice-app.mo
|
|
spice-app.mo-objs := spice-app.o
|
|
spice-app.mo-cflags := $(GIO_CFLAGS)
|
|
spice-app.mo-libs := $(GIO_LIBS)
|
|
|
|
common-obj-$(CONFIG_OPENGL) += shader.o
|
|
common-obj-$(CONFIG_OPENGL) += console-gl.o
|
|
common-obj-$(CONFIG_OPENGL) += egl-helpers.o
|
|
common-obj-$(CONFIG_OPENGL) += egl-context.o
|
|
common-obj-$(CONFIG_OPENGL_DMABUF) += egl-headless.o
|
|
|
|
shader.o-libs += $(OPENGL_LIBS)
|
|
console-gl.o-libs += $(OPENGL_LIBS)
|
|
egl-helpers.o-libs += $(OPENGL_LIBS)
|
|
egl-context.o-libs += $(OPENGL_LIBS)
|
|
egl-headless.o-libs += $(OPENGL_LIBS)
|