From nobody Tue Feb 10 17:31:17 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1580236749336918.9012723652019; Tue, 28 Jan 2020 10:39:09 -0800 (PST) Received: from localhost ([::1]:35316 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwVlS-0008C9-FK for importer@patchew.org; Tue, 28 Jan 2020 13:39:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:60780) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwV5j-0000bN-Ve for qemu-devel@nongnu.org; Tue, 28 Jan 2020 12:56:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iwV5h-00038J-UY for qemu-devel@nongnu.org; Tue, 28 Jan 2020 12:55:59 -0500 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:41010) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iwV5h-00036F-Lb for qemu-devel@nongnu.org; Tue, 28 Jan 2020 12:55:57 -0500 Received: by mail-wr1-x441.google.com with SMTP id c9so17105256wrw.8 for ; Tue, 28 Jan 2020 09:55:57 -0800 (PST) Received: from localhost.localdomain (93-36-56-206.ip58.fastwebnet.it. [93.36.56.206]) by smtp.gmail.com with ESMTPSA id o4sm27046968wrx.25.2020.01.28.09.55.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jan 2020 09:55:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=WF3vmzZwKpjUlVEK4MzWD8XjLu3RcG5SfaH1ELKlW2o=; b=jcrRAFzUGz+LL3IjuMXkY5aaBkz82gOnMfWmEb68RiaVj3XWuJ24PWPa/j/ofb5kgb 3XA/6wwHku8ixOHc5fda48WyyWbMTVEc9v3jCde2vTMc1OFvEgdJrXymV9jRFC2E1ohG fJSNiyzGjSGWpmtJZAlshTQ7QwsIojoYUJ+OgaqMtpd4JeoXSnHWjilki66ZRJU9Ma0R bG+Zn/1RnGR4rOw33N4xI9+X8cLvlApvs7F/vZSyezVmImjJ0qChLnP1B5pxg9/1fziY KpU/0uLxhDiVCDH65HkwWDnGozSGrzHstOiq7Th7oD4EkRT9KECPDpxRLeHxTc2n1I5N dYLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=WF3vmzZwKpjUlVEK4MzWD8XjLu3RcG5SfaH1ELKlW2o=; b=Q2kBUbvwWARkkqecVaBRNGDwPSm5uahFjiC5QFYTYQ+yX5wUPAXiqjByhd7OELZLOi m1zKlq2i7r8GPac+q57fLU10S6RmfsgFNz1S/IBoDvwnIZiWXmod4ddmr/6/umItHzlp 7p8EXZ3729yRImBxZ3Ta11olU3L9qpLVcdEzU3LCou0VRY+Q/jTKFg/OL1M1dtQDWQXr 6bVqpGG+dUyL35SKxlqacl7fG42ZX4YesdFFuYqwkYK5w+ZLnVmrH03qGGkoWNqLoCIP zwoynklRGVNk4QsFucaQfxsZuJhf5jAPdjZQzdi12jiGovldVRUq7ILXzqKBtORV65q5 /Smw== X-Gm-Message-State: APjAAAVvJpTefw8DXPdjX6idbxtqw/zmh/DDFbSs55GhPs3HRnp8sZ1g uKmnq2UbE1RhnOl9bBJpMDb3LXhZ X-Google-Smtp-Source: APXvYqwNZTRtUDKWOGklTndcauZXS0waLMXiXJ3c2if8pDqw7ddXh4ZuOZOZVzYHLsLWqr5vD8xfEA== X-Received: by 2002:adf:f244:: with SMTP id b4mr28613963wrp.88.1580234156421; Tue, 28 Jan 2020 09:55:56 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH 054/142] meson: convert ui directory to Meson Date: Tue, 28 Jan 2020 18:52:14 +0100 Message-Id: <20200128175342.9066-55-pbonzini@redhat.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20200128175342.9066-1-pbonzini@redhat.com> References: <20200128175342.9066-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::441 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Marc-Andr=C3=A9 Lureau Signed-off-by: Marc-Andr=C3=A9 Lureau Signed-off-by: Paolo Bonzini --- Makefile | 4 +-- Makefile.objs | 8 +++-- Makefile.target | 8 ++--- configure | 6 ++++ meson.build | 50 +++++++++++++++++++++++++++++++ ui/Makefile.objs | 70 -------------------------------------------- ui/meson.build | 76 ++++++++++++++++++++++++++++++++++++++++++++++++ ui/shader.c | 6 ++-- 8 files changed, 145 insertions(+), 83 deletions(-) delete mode 100644 ui/Makefile.objs diff --git a/Makefile b/Makefile index 25eb7336cc..3706b6d142 100644 --- a/Makefile +++ b/Makefile @@ -157,9 +157,7 @@ ifneq ($(wildcard config-host.mak),) include $(SRC_PATH)/Makefile.objs endif =20 -dummy :=3D $(call unnest-vars,, \ - common-obj-y \ - common-obj-m) +dummy :=3D $(call unnest-vars,, common-obj-y) =20 include $(SRC_PATH)/tests/Makefile.include =20 diff --git a/Makefile.objs b/Makefile.objs index 68bb44f875..5081994123 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -56,6 +56,11 @@ common-obj-$(CONFIG_AUDIO_OSS) +=3D audio-oss$(DSOSUF) common-obj-$(CONFIG_AUDIO_PA) +=3D audio-pa$(DSOSUF) common-obj-$(CONFIG_AUDIO_SDL) +=3D audio-sdl$(DSOSUF) =20 +common-obj-$(if $(CONFIG_CURSES),m) +=3D ui-curses$(DSOSUF) +common-obj-$(if $(CONFIG_GTK),m) +=3D ui-gtk$(DSOSUF) +common-obj-$(if $(CONFIG_SDL),m) +=3D ui-sdl$(DSOSUF) +common-obj-$(if $(CONFIG_SPICE),m) +=3D ui-spice-app$(DSOSUF) + common-obj-$(if $(CONFIG_CURL),m) +=3D block-curl$(DSOSUF) common-obj-$(if $(CONFIG_GLUSTERFS),m) +=3D block-gluster$(DSOSUF) common-obj-$(if $(CONFIG_LIBISCSI),m) +=3D block-iscsi$(DSOSUF) @@ -70,9 +75,6 @@ common-obj-y +=3D hw/ =20 common-obj-y +=3D replay/ =20 -common-obj-y +=3D ui/ -common-obj-m +=3D ui/ - common-obj-y +=3D dma-helpers.o common-obj-y +=3D vl.o vl.o-cflags :=3D $(GPROF_CFLAGS) $(SDL_CFLAGS) diff --git a/Makefile.target b/Makefile.target index 15157c7684..ae4e494ec6 100644 --- a/Makefile.target +++ b/Makefile.target @@ -168,8 +168,9 @@ LIBS :=3D $(libs_softmmu) $(LIBS) LIBS :=3D $(LIBS) @../block.syms @../qemu.syms ifneq ($(CONFIG_MODULES),y) LIBS :=3D $(LIBS) $(ALSA_LIBS) $(OSS_LIBS) $(PULSE_LIBS) $(SDL_LIBS) +LIBS :=3D $(LIBS) $(GTK_LIBS) $(VTE_LIBS) $(X11_LIBS) $(CURSES_LIBS) $(ICO= NV_LIBS) $(GIO_LIBS) endif -LIBS :=3D $(LIBS) $(BRLAPI_LIBS) $(SDL_LIBS) $(SPICE_LIBS) +LIBS :=3D $(LIBS) $(BRLAPI_LIBS) $(SDL_LIBS) $(SPICE_LIBS) $(OPENGL_LIBS) LIBS :=3D $(LIBS) $(COREAUDIO_LIBS) $(DSOUND_LIBS) =20 # Hardware support @@ -194,9 +195,8 @@ dummy :=3D $(call fix-paths,../,, \ crypto-obj-y \ io-obj-y \ qom-obj-y) -dummy :=3D $(call unnest-vars,.., \ - common-obj-y \ - common-obj-m) +dummy :=3D $(call unnest-vars,..,common-obj-y) + all-obj-y +=3D $(common-obj-y) all-obj-y +=3D $(qom-obj-y) all-obj-$(CONFIG_SOFTMMU) +=3D $(authz-obj-y) diff --git a/configure b/configure index 434c24f0f0..80a7c0f069 100755 --- a/configure +++ b/configure @@ -6788,12 +6788,18 @@ fi if test "$vnc_sasl" =3D "yes" ; then echo "CONFIG_VNC_SASL=3Dy" >> $config_host_mak fi +echo "SASL_CFLAGS=3D$vnc_sasl_cflags" >> $config_host_mak +echo "SASL_LIBS=3D$vnc_sasl_libs" >> $config_host_mak if test "$vnc_jpeg" =3D "yes" ; then echo "CONFIG_VNC_JPEG=3Dy" >> $config_host_mak fi +echo "JPEG_CFLAGS=3D$vnc_jpeg_cflags" >> $config_host_mak +echo "JPEG_LIBS=3D$vnc_jpeg_libs" >> $config_host_mak if test "$vnc_png" =3D "yes" ; then echo "CONFIG_VNC_PNG=3Dy" >> $config_host_mak fi +echo "PNG_CFLAGS=3D$vnc_png_cflags" >> $config_host_mak +echo "PNG_LIBS=3D$vnc_png_libs" >> $config_host_mak if test "$xkbcommon" =3D "yes" ; then echo "CONFIG_XKBCOMMON=3Dy" >> $config_host_mak echo "XKBCOMMON_CFLAGS=3D$xkbcommon_cflags" >> $config_host_mak diff --git a/meson.build b/meson.build index d66d49152b..6fb86e4bd3 100644 --- a/meson.build +++ b/meson.build @@ -202,6 +202,56 @@ coreaudio =3D declare_dependency() if 'CONFIG_AUDIO_COREAUDIO' in config_host coreaudio =3D declare_dependency(link_args: config_host['COREAUDIO_LIBS'= ].split()) endif +opengl =3D declare_dependency() +if 'CONFIG_OPENGL' in config_host + opengl =3D declare_dependency(link_args: config_host['OPENGL_LIBS'].spli= t()) +else +endif +gtk =3D declare_dependency() +if 'CONFIG_GTK' in config_host + gtk =3D declare_dependency(compile_args: config_host['GTK_CFLAGS'].split= (), + link_args: config_host['GTK_LIBS'].split()) +endif +vte =3D declare_dependency() +if 'CONFIG_VTE' in config_host + vte =3D declare_dependency(compile_args: config_host['VTE_CFLAGS'].split= (), + link_args: config_host['VTE_LIBS'].split()) +endif +x11 =3D declare_dependency() +if 'CONFIG_X11' in config_host + x11 =3D declare_dependency(compile_args: config_host['X11_CFLAGS'].split= (), + link_args: config_host['X11_LIBS'].split()) +endif +curses =3D declare_dependency() +if 'CONFIG_CURSES' in config_host + curses =3D declare_dependency(compile_args: config_host['CURSES_CFLAGS']= .split(), + link_args: config_host['CURSES_LIBS'].split(= )) +endif +iconv =3D declare_dependency() +if 'CONFIG_ICONV' in config_host + iconv =3D declare_dependency(compile_args: config_host['ICONV_CFLAGS'].s= plit(), + link_args: config_host['ICONV_LIBS'].split()) +endif +gio =3D declare_dependency() +if 'CONFIG_GIO' in config_host + gio =3D declare_dependency(compile_args: config_host['GIO_CFLAGS'].split= (), + link_args: config_host['GIO_LIBS'].split()) +endif +png =3D declare_dependency() +if 'CONFIG_VNC_PNG' in config_host + png =3D declare_dependency(compile_args: config_host['PNG_CFLAGS'].split= (), + link_args: config_host['PNG_LIBS'].split()) +endif +jpeg =3D declare_dependency() +if 'CONFIG_VNC_JPEG' in config_host + jpeg =3D declare_dependency(compile_args: config_host['JPEG_CFLAGS'].spl= it(), + link_args: config_host['JPEG_LIBS'].split()) +endif +sasl =3D declare_dependency() +if 'CONFIG_VNC_SASL' in config_host + sasl =3D declare_dependency(compile_args: config_host['SASL_CFLAGS'].spl= it(), + link_args: config_host['SASL_LIBS'].split()) +endif =20 create_config =3D find_program('scripts/create_config') minikconf =3D find_program('scripts/minikconf.py') diff --git a/ui/Makefile.objs b/ui/Makefile.objs deleted file mode 100644 index e6da6ff047..0000000000 --- a/ui/Makefile.objs +++ /dev/null @@ -1,70 +0,0 @@ -vnc-obj-y +=3D vnc.o -vnc-obj-y +=3D vnc-enc-zlib.o vnc-enc-hextile.o -vnc-obj-y +=3D vnc-enc-tight.o vnc-palette.o -vnc-obj-y +=3D vnc-enc-zrle.o -vnc-obj-y +=3D vnc-auth-vencrypt.o -vnc-obj-$(CONFIG_VNC_SASL) +=3D vnc-auth-sasl.o -vnc-obj-y +=3D vnc-ws.o -vnc-obj-y +=3D vnc-jobs.o - -common-obj-y +=3D keymaps.o console.o cursor.o qemu-pixman.o -common-obj-y +=3D input.o input-keymap.o input-legacy.o kbd-state.o -common-obj-y +=3D input-barrier.o -common-obj-$(CONFIG_LINUX) +=3D input-linux.o -common-obj-$(CONFIG_SPICE) +=3D spice-core.o spice-input.o spice-display.o -common-obj-$(CONFIG_COCOA) +=3D cocoa.o -common-obj-$(CONFIG_VNC) +=3D $(vnc-obj-y) -common-obj-$(call lnot,$(CONFIG_VNC)) +=3D vnc-stubs.o - -# ui-sdl module -common-obj-$(CONFIG_SDL) +=3D sdl.mo -sdl.mo-objs :=3D sdl2.o sdl2-input.o sdl2-2d.o -ifeq ($(CONFIG_OPENGL),y) -sdl.mo-objs +=3D sdl2-gl.o -endif -sdl.mo-cflags :=3D $(SDL_CFLAGS) -sdl.mo-libs :=3D $(SDL_LIBS) - -# ui-gtk module -common-obj-$(CONFIG_GTK) +=3D gtk.mo -gtk.mo-objs :=3D gtk.o -gtk.mo-cflags :=3D $(GTK_CFLAGS) $(VTE_CFLAGS) -gtk.mo-libs :=3D $(GTK_LIBS) $(VTE_LIBS) -ifeq ($(CONFIG_OPENGL),y) -gtk.mo-objs +=3D gtk-egl.o -gtk.mo-libs +=3D $(OPENGL_LIBS) -ifeq ($(CONFIG_GTK_GL),y) -gtk.mo-objs +=3D gtk-gl-area.o -endif -endif - -ifeq ($(CONFIG_X11),y) -sdl.mo-objs +=3D x_keymap.o -gtk.mo-objs +=3D x_keymap.o -x_keymap.o-cflags :=3D $(X11_CFLAGS) -x_keymap.o-libs :=3D $(X11_LIBS) -endif - -common-obj-$(CONFIG_CURSES) +=3D curses.mo -curses.mo-objs :=3D curses.o -curses.mo-cflags :=3D $(CURSES_CFLAGS) $(ICONV_CFLAGS) -curses.mo-libs :=3D $(CURSES_LIBS) $(ICONV_LIBS) - -ifeq ($(CONFIG_GIO)$(CONFIG_SPICE),yy) -common-obj-$(if $(CONFIG_MODULES),m,y) +=3D spice-app.mo -endif -spice-app.mo-objs :=3D spice-app.o -spice-app.mo-cflags :=3D $(GIO_CFLAGS) -spice-app.mo-libs :=3D $(GIO_LIBS) - -common-obj-$(CONFIG_OPENGL) +=3D shader.o -common-obj-$(CONFIG_OPENGL) +=3D console-gl.o -common-obj-$(CONFIG_OPENGL) +=3D egl-helpers.o -common-obj-$(CONFIG_OPENGL) +=3D egl-context.o -common-obj-$(CONFIG_OPENGL_DMABUF) +=3D egl-headless.o - -shader.o-libs +=3D $(OPENGL_LIBS) -console-gl.o-libs +=3D $(OPENGL_LIBS) -egl-helpers.o-libs +=3D $(OPENGL_LIBS) -egl-context.o-libs +=3D $(OPENGL_LIBS) -egl-headless.o-libs +=3D $(OPENGL_LIBS) diff --git a/ui/meson.build b/ui/meson.build index 81577546e0..95ffde3f9a 100644 --- a/ui/meson.build +++ b/ui/meson.build @@ -1,3 +1,77 @@ +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 =3D 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'), sa= sl]) +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 =3D [] + +if config_host.has_key('CONFIG_CURSES') + ui_modules +=3D [['curses', files('curses.c'), [curses, iconv]]] +endif + +if config_host.has_key('CONFIG_GTK') and config_host.has_key('CONFIG_VTE') + gtk_ss =3D 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')) + gtk_ss =3D gtk_ss.apply(config_host, strict: false) + ui_modules +=3D [['gtk', gtk_ss.sources(), gtk_ss.dependencies()]] +endif + +if config_host.has_key('CONFIG_SDL') + sdl_ss =3D ss.source_set() + sdl_ss.add([sdl, 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')) + sdl_ss =3D sdl_ss.apply(config_host, strict: false) + ui_modules +=3D [['sdl', sdl_ss.sources(), sdl_ss.dependencies()]] +endif + +if config_host.has_key('CONFIG_SPICE') and config_host.has_key('CONFIG_GIO= ') + spice_ss =3D ss.source_set() + spice_ss.add(spice, gio, files('spice-app.c')) + spice_ss =3D spice_ss.apply(config_host, strict: false) + ui_modules +=3D [['spice-app', spice_ss.sources(), spice_ss.dependencies= ()]] +endif + keymap_gen =3D find_program('keycodemapdb/tools/keymap-gen') =20 keymaps =3D [ @@ -34,3 +108,5 @@ foreach e : keymaps endforeach =20 subdir('shader') + +modules +=3D {'ui': ui_modules} diff --git a/ui/shader.c b/ui/shader.c index d78829f43b..e8b8d321b7 100644 --- a/ui/shader.c +++ b/ui/shader.c @@ -27,9 +27,9 @@ #include "qemu/osdep.h" #include "ui/shader.h" =20 -#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" =20 struct QemuGLShader { GLint texture_blit_prog; --=20 2.21.0