meson: convert ui directory to Meson

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Marc-André Lureau 2019-07-16 23:21:02 +04:00 committed by Paolo Bonzini
parent 478e943f51
commit 2b1ccdf441
7 changed files with 149 additions and 84 deletions

View File

@ -68,6 +68,11 @@ common-obj-$(CONFIG_AUDIO_OSS) += audio-oss$(DSOSUF)
common-obj-$(CONFIG_AUDIO_PA) += audio-pa$(DSOSUF)
common-obj-$(CONFIG_AUDIO_SDL) += audio-sdl$(DSOSUF)
common-obj-$(if $(CONFIG_CURSES),m) += ui-curses$(DSOSUF)
common-obj-$(if $(CONFIG_GTK),m) += ui-gtk$(DSOSUF)
common-obj-$(if $(CONFIG_SDL),m) += ui-sdl$(DSOSUF)
common-obj-$(if $(CONFIG_SPICE),m) += ui-spice-app$(DSOSUF)
common-obj-$(if $(CONFIG_CURL),m) += block-curl$(DSOSUF)
common-obj-$(if $(CONFIG_GLUSTERFS),m) += block-gluster$(DSOSUF)
common-obj-$(if $(CONFIG_LIBISCSI),m) += block-iscsi$(DSOSUF)
@ -83,9 +88,6 @@ common-obj-m += hw/
common-obj-y += replay/
common-obj-y += ui/
common-obj-m += ui/
common-obj-y += dma-helpers.o
common-obj-$(CONFIG_TPM) += tpm.o

View File

@ -167,8 +167,9 @@ LIBS := $(libs_softmmu) $(LIBS)
LIBS := $(LIBS) @../block.syms @../qemu.syms
ifneq ($(CONFIG_MODULES),y)
LIBS := $(LIBS) $(ALSA_LIBS) $(OSS_LIBS) $(PULSE_LIBS) $(SDL_LIBS)
LIBS := $(LIBS) $(GTK_LIBS) $(VTE_LIBS) $(X11_LIBS) $(CURSES_LIBS) $(ICONV_LIBS) $(GIO_LIBS)
endif
LIBS := $(LIBS) $(BRLAPI_LIBS) $(SDL_LIBS) $(SPICE_LIBS)
LIBS := $(LIBS) $(BRLAPI_LIBS) $(SDL_LIBS) $(SPICE_LIBS) $(OPENGL_LIBS)
LIBS := $(LIBS) $(COREAUDIO_LIBS) $(DSOUND_LIBS)
# Hardware support
@ -207,9 +208,8 @@ dummy := $(call fix-paths,../,, \
crypto-obj-y \
io-obj-y \
qom-obj-y)
dummy := $(call unnest-vars,.., \
common-obj-y \
common-obj-m)
dummy := $(call unnest-vars,..,common-obj-y)
all-obj-y += $(common-obj-y)
all-obj-y += $(qom-obj-y)
all-obj-$(CONFIG_SOFTMMU) += $(authz-obj-y)

6
configure vendored
View File

@ -7069,12 +7069,18 @@ fi
if test "$vnc_sasl" = "yes" ; then
echo "CONFIG_VNC_SASL=y" >> $config_host_mak
fi
echo "SASL_CFLAGS=$vnc_sasl_cflags" >> $config_host_mak
echo "SASL_LIBS=$vnc_sasl_libs" >> $config_host_mak
if test "$vnc_jpeg" = "yes" ; then
echo "CONFIG_VNC_JPEG=y" >> $config_host_mak
fi
echo "JPEG_CFLAGS=$vnc_jpeg_cflags" >> $config_host_mak
echo "JPEG_LIBS=$vnc_jpeg_libs" >> $config_host_mak
if test "$vnc_png" = "yes" ; then
echo "CONFIG_VNC_PNG=y" >> $config_host_mak
fi
echo "PNG_CFLAGS=$vnc_png_cflags" >> $config_host_mak
echo "PNG_LIBS=$vnc_png_libs" >> $config_host_mak
if test "$xkbcommon" = "yes" ; then
echo "CONFIG_XKBCOMMON=y" >> $config_host_mak
echo "XKBCOMMON_CFLAGS=$xkbcommon_cflags" >> $config_host_mak

View File

@ -243,6 +243,56 @@ coreaudio = not_found
if 'CONFIG_AUDIO_COREAUDIO' in config_host
coreaudio = declare_dependency(link_args: config_host['COREAUDIO_LIBS'].split())
endif
opengl = not_found
if 'CONFIG_OPENGL' in config_host
opengl = declare_dependency(link_args: config_host['OPENGL_LIBS'].split())
else
endif
gtk = not_found
if 'CONFIG_GTK' in config_host
gtk = declare_dependency(compile_args: config_host['GTK_CFLAGS'].split(),
link_args: config_host['GTK_LIBS'].split())
endif
vte = not_found
if 'CONFIG_VTE' in config_host
vte = declare_dependency(compile_args: config_host['VTE_CFLAGS'].split(),
link_args: config_host['VTE_LIBS'].split())
endif
x11 = not_found
if 'CONFIG_X11' in config_host
x11 = declare_dependency(compile_args: config_host['X11_CFLAGS'].split(),
link_args: config_host['X11_LIBS'].split())
endif
curses = not_found
if 'CONFIG_CURSES' in config_host
curses = declare_dependency(compile_args: config_host['CURSES_CFLAGS'].split(),
link_args: config_host['CURSES_LIBS'].split())
endif
iconv = not_found
if 'CONFIG_ICONV' in config_host
iconv = declare_dependency(compile_args: config_host['ICONV_CFLAGS'].split(),
link_args: config_host['ICONV_LIBS'].split())
endif
gio = not_found
if 'CONFIG_GIO' in config_host
gio = declare_dependency(compile_args: config_host['GIO_CFLAGS'].split(),
link_args: config_host['GIO_LIBS'].split())
endif
png = not_found
if 'CONFIG_VNC_PNG' in config_host
png = declare_dependency(compile_args: config_host['PNG_CFLAGS'].split(),
link_args: config_host['PNG_LIBS'].split())
endif
jpeg = not_found
if 'CONFIG_VNC_JPEG' in config_host
jpeg = declare_dependency(compile_args: config_host['JPEG_CFLAGS'].split(),
link_args: config_host['JPEG_LIBS'].split())
endif
sasl = not_found
if 'CONFIG_VNC_SASL' in config_host
sasl = declare_dependency(compile_args: config_host['SASL_CFLAGS'].split(),
link_args: config_host['SASL_LIBS'].split())
endif
create_config = find_program('scripts/create_config')
minikconf = find_program('scripts/minikconf.py')

View File

@ -1,73 +0,0 @@
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-y += input-barrier.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
ifneq (,$(findstring m,$(CONFIG_SDL)$(CONFIG_GTK)))
common-obj-$(CONFIG_WIN32) += win32-kbd-hook.o
endif
# 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) $(ICONV_CFLAGS)
curses.mo-libs := $(CURSES_LIBS) $(ICONV_LIBS)
ifeq ($(CONFIG_GIO)$(CONFIG_SPICE),yy)
common-obj-$(if $(CONFIG_MODULES),m,y) += spice-app.mo
endif
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)

View File

@ -1,3 +1,82 @@
softmmu_ss.add(files(
'console.c',
'cursor.c',
'input-keymap.c',
'input-legacy.c',
'input-barrier.c',
'input.c',
'kbd-state.c',
'keymaps.c',
'qemu-pixman.c',
))
softmmu_ss.add(pixman)
softmmu_ss.add(when: 'CONFIG_LINUX', if_true: files('input-linux.c'))
softmmu_ss.add(when: 'CONFIG_SPICE', if_true: files('spice-core.c', 'spice-input.c', 'spice-display.c'))
softmmu_ss.add(when: [cocoa, 'CONFIG_COCOA'], if_true: files('cocoa.m'))
vnc_ss = ss.source_set()
vnc_ss.add(files(
'vnc.c',
'vnc-enc-zlib.c',
'vnc-enc-hextile.c',
'vnc-enc-tight.c',
'vnc-palette.c',
'vnc-enc-zrle.c',
'vnc-auth-vencrypt.c',
'vnc-ws.c',
'vnc-jobs.c',
))
vnc_ss.add(zlib)
vnc_ss.add(when: 'CONFIG_VNC_SASL', if_true: [files('vnc-auth-sasl.c'), sasl])
softmmu_ss.add_all(when: 'CONFIG_VNC', if_true: vnc_ss)
softmmu_ss.add(when: 'CONFIG_VNC', if_false: files('vnc-stubs.c'))
softmmu_ss.add(when: [opengl, 'CONFIG_OPENGL'], if_true: files('shader.c', 'console-gl.c', 'egl-helpers.c', 'egl-context.c'))
softmmu_ss.add(when: [opengl, 'CONFIG_OPENGL_DMABUF'], if_true: files('egl-headless.c'))
softmmu_ss.add(when: 'CONFIG_VNC_PNG', if_true: png)
softmmu_ss.add(when: 'CONFIG_VNC_JPEG', if_true: jpeg)
ui_modules = {}
if config_host.has_key('CONFIG_CURSES')
curses_ss = ss.source_set()
curses_ss.add(when: [curses, iconv], if_true: files('curses.c'))
ui_modules += {'curses' : curses_ss}
endif
if config_host.has_key('CONFIG_GTK') and config_host.has_key('CONFIG_VTE')
softmmu_ss.add(when: 'CONFIG_WIN32', if_true: files('win32-kbd-hook.c'))
gtk_ss = ss.source_set()
gtk_ss.add(gtk, vte, files('gtk.c'))
gtk_ss.add(when: [x11, 'CONFIG_X11'], if_true: files('x_keymap.c'))
gtk_ss.add(when: [opengl, 'CONFIG_OPENGL'], if_true: files('gtk-egl.c'))
gtk_ss.add(when: [opengl, 'CONFIG_GTK_GL'], if_true: files('gtk-gl-area.c'))
ui_modules += {'gtk' : gtk_ss}
endif
if config_host.has_key('CONFIG_SDL')
softmmu_ss.add(when: 'CONFIG_WIN32', if_true: files('win32-kbd-hook.c'))
sdl_ss = ss.source_set()
sdl_ss.add(pixman, glib, files(
'sdl2-2d.c',
'sdl2-input.c',
'sdl2.c',
))
sdl_ss.add(when: [opengl, 'CONFIG_OPENGL'], if_true: files('sdl2-gl.c'))
sdl_ss.add(when: [x11, 'CONFIG_X11'], if_true: files('x_keymap.c'))
ui_modules += {'sdl' : sdl_ss}
endif
if config_host.has_key('CONFIG_SPICE') and config_host.has_key('CONFIG_GIO')
spice_ss = ss.source_set()
spice_ss.add(spice, gio, files('spice-app.c'))
ui_modules += {'spice-app': spice_ss}
endif
keymap_gen = find_program('keycodemapdb/tools/keymap-gen')
keymaps = [
['atset1', 'qcode'],
['linux', 'qcode'],
@ -24,7 +103,6 @@ if have_system
genh += custom_target(output,
output: output,
capture: true,
build_by_default: true, # to be removed when added to a target
input: files('keycodemapdb/data/keymaps.csv'),
command: [python.full_path(), files('keycodemapdb/tools/keymap-gen'),
'--lang', 'glib2',
@ -34,3 +112,5 @@ if have_system
endif
subdir('shader')
modules += {'ui': ui_modules}

View File

@ -27,9 +27,9 @@
#include "qemu/osdep.h"
#include "ui/shader.h"
#include "shader/texture-blit-vert.h"
#include "shader/texture-blit-flip-vert.h"
#include "shader/texture-blit-frag.h"
#include "ui/shader/texture-blit-vert.h"
#include "ui/shader/texture-blit-flip-vert.h"
#include "ui/shader/texture-blit-frag.h"
struct QemuGLShader {
GLint texture_blit_prog;