From nobody Wed Oct 22 04:17:09 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.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 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1519820805942181.40194279816376; Wed, 28 Feb 2018 04:26:45 -0800 (PST) Received: from localhost ([::1]:43668 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0om-0007BB-Mh for importer@patchew.org; Wed, 28 Feb 2018 07:26:44 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60826) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0fi-0007n2-R1 for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1er0fg-0002J1-Jq for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:22 -0500 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:36622 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1er0fg-0002Ik-Cq for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:20 -0500 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 959B08182D11 for ; Wed, 28 Feb 2018 12:17:09 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-147.ams2.redhat.com [10.36.116.147]) by smtp.corp.redhat.com (Postfix) with ESMTP id ADD18213AEF5; Wed, 28 Feb 2018 12:17:04 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id DECA717533; Wed, 28 Feb 2018 13:17:03 +0100 (CET) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Wed, 28 Feb 2018 13:16:53 +0100 Message-Id: <20180228121703.20816-2-kraxel@redhat.com> In-Reply-To: <20180228121703.20816-1-kraxel@redhat.com> References: <20180228121703.20816-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.8]); Wed, 28 Feb 2018 12:17:10 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.8]); Wed, 28 Feb 2018 12:17:10 +0000 (UTC) for IP:'10.11.54.6' DOMAIN:'int-mx06.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PULL 01/11] console: add qemu display registry, add gtk X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Add a registry for user interfaces. Add qemu_display_init and qemu_display_early_init helper functions for display initialization. Hook up gtk ui as first user. Signed-off-by: Gerd Hoffmann Message-id: 20180221131537.31341-2-kraxel@redhat.com --- include/ui/console.h | 32 ++++++++++++-------------------- ui/console.c | 34 ++++++++++++++++++++++++++++++++++ ui/gtk.c | 17 +++++++++++++++-- vl.c | 18 ++++++------------ 4 files changed, 67 insertions(+), 34 deletions(-) diff --git a/include/ui/console.h b/include/ui/console.h index f29bacd625..817f9b9bcc 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -432,6 +432,18 @@ void surface_gl_setup_viewport(QemuGLShader *gls, int ww, int wh); #endif =20 +typedef struct QemuDisplay QemuDisplay; + +struct QemuDisplay { + DisplayType type; + void (*early_init)(DisplayOptions *opts); + void (*init)(DisplayState *ds, DisplayOptions *opts); +}; + +void qemu_display_register(QemuDisplay *ui); +void qemu_display_early_init(DisplayOptions *opts); +void qemu_display_init(DisplayState *ds, DisplayOptions *opts); + /* sdl.c */ #ifdef CONFIG_SDL void sdl_display_early_init(DisplayOptions *opts); @@ -487,26 +499,6 @@ static inline void curses_display_init(DisplayState *d= s, DisplayOptions *opts) /* input.c */ int index_from_key(const char *key, size_t key_length); =20 -/* gtk.c */ -#ifdef CONFIG_GTK -void early_gtk_display_init(DisplayOptions *opts); -void gtk_display_init(DisplayState *ds, DisplayOptions *opts); -#else -static inline void gtk_display_init(DisplayState *ds, DisplayOptions *opts) -{ - /* This must never be called if CONFIG_GTK is disabled */ - error_report("GTK support is disabled"); - abort(); -} - -static inline void early_gtk_display_init(DisplayOptions *opts) -{ - /* This must never be called if CONFIG_GTK is disabled */ - error_report("GTK support is disabled"); - abort(); -} -#endif - /* egl-headless.c */ void egl_headless_init(DisplayOptions *opts); =20 diff --git a/ui/console.c b/ui/console.c index e22931a396..a11b120fc8 100644 --- a/ui/console.c +++ b/ui/console.c @@ -2180,6 +2180,40 @@ PixelFormat qemu_default_pixelformat(int bpp) return pf; } =20 +static QemuDisplay *dpys[DISPLAY_TYPE__MAX]; + +void qemu_display_register(QemuDisplay *ui) +{ + assert(ui->type < DISPLAY_TYPE__MAX); + dpys[ui->type] =3D ui; +} + +void qemu_display_early_init(DisplayOptions *opts) +{ + assert(opts->type < DISPLAY_TYPE__MAX); + if (opts->type =3D=3D DISPLAY_TYPE_NONE) { + return; + } + if (dpys[opts->type] =3D=3D NULL) { + error_report("Display '%s' is not available.", + DisplayType_lookup.array[opts->type]); + exit(1); + } + if (dpys[opts->type]->early_init) { + dpys[opts->type]->early_init(opts); + } +} + +void qemu_display_init(DisplayState *ds, DisplayOptions *opts) +{ + assert(opts->type < DISPLAY_TYPE__MAX); + if (opts->type =3D=3D DISPLAY_TYPE_NONE) { + return; + } + assert(dpys[opts->type] !=3D NULL); + dpys[opts->type]->init(ds, opts); +} + void qemu_chr_parse_vc(QemuOpts *opts, ChardevBackend *backend, Error **er= rp) { int val; diff --git a/ui/gtk.c b/ui/gtk.c index ab646b70e1..c63408e036 100644 --- a/ui/gtk.c +++ b/ui/gtk.c @@ -2297,7 +2297,7 @@ static void gd_create_menus(GtkDisplayState *s) =20 static gboolean gtkinit; =20 -void gtk_display_init(DisplayState *ds, DisplayOptions *opts) +static void gtk_display_init(DisplayState *ds, DisplayOptions *opts) { VirtualConsole *vc; =20 @@ -2407,7 +2407,7 @@ void gtk_display_init(DisplayState *ds, DisplayOption= s *opts) } } =20 -void early_gtk_display_init(DisplayOptions *opts) +static void early_gtk_display_init(DisplayOptions *opts) { /* The QEMU code relies on the assumption that it's always run in * the C locale. Therefore it is not prepared to deal with @@ -2450,3 +2450,16 @@ void early_gtk_display_init(DisplayOptions *opts) type_register(&char_gd_vc_type_info); #endif } + +static QemuDisplay qemu_display_gtk =3D { + .type =3D DISPLAY_TYPE_GTK, + .early_init =3D early_gtk_display_init, + .init =3D gtk_display_init, +}; + +static void register_gtk(void) +{ + qemu_display_register(&qemu_display_gtk); +} + +type_init(register_gtk); diff --git a/vl.c b/vl.c index 9e7235df6d..70458ba708 100644 --- a/vl.c +++ b/vl.c @@ -2173,7 +2173,6 @@ static void parse_display(const char *p) exit(1); #endif } else if (strstart(p, "gtk", &opts)) { -#ifdef CONFIG_GTK dpy.type =3D DISPLAY_TYPE_GTK; while (*opts) { const char *nextopt; @@ -2205,10 +2204,6 @@ static void parse_display(const char *p) } opts =3D nextopt; } -#else - error_report("GTK support is disabled"); - exit(1); -#endif } else if (strstart(p, "none", &opts)) { dpy.type =3D DISPLAY_TYPE_NONE; } else { @@ -4318,6 +4313,9 @@ int main(int argc, char **argv, char **envp) dpy.type =3D DISPLAY_TYPE_NONE; #endif } + if (dpy.type =3D=3D DISPLAY_TYPE_DEFAULT) { + dpy.type =3D DISPLAY_TYPE_NONE; + } =20 if ((no_frame || alt_grab || ctrl_grab) && dpy.type !=3D DISPLAY_TYPE_= SDL) { error_report("-no-frame, -alt-grab and -ctrl-grab are only valid " @@ -4329,12 +4327,10 @@ int main(int argc, char **argv, char **envp) "ignoring option"); } =20 - if (dpy.type =3D=3D DISPLAY_TYPE_GTK) { - early_gtk_display_init(&dpy); - } - if (dpy.type =3D=3D DISPLAY_TYPE_SDL) { sdl_display_early_init(&dpy); + } else { + qemu_display_early_init(&dpy); } =20 qemu_console_early_init(); @@ -4674,10 +4670,8 @@ int main(int argc, char **argv, char **envp) case DISPLAY_TYPE_COCOA: cocoa_display_init(ds, &dpy); break; - case DISPLAY_TYPE_GTK: - gtk_display_init(ds, &dpy); - break; default: + qemu_display_init(ds, &dpy); break; } =20 --=20 2.9.3 From nobody Wed Oct 22 04:17:09 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.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 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1519820542063172.3865904548884; Wed, 28 Feb 2018 04:22:22 -0800 (PST) Received: from localhost ([::1]:43633 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0kW-0003E0-OY for importer@patchew.org; Wed, 28 Feb 2018 07:22:20 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60727) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0ff-0007mG-U6 for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1er0fc-0002GN-SF for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:19 -0500 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:34621 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1er0fc-0002F6-Jh for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:16 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5518A40FB65B for ; Wed, 28 Feb 2018 12:17:11 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-147.ams2.redhat.com [10.36.116.147]) by smtp.corp.redhat.com (Postfix) with ESMTP id AC845946BF; Wed, 28 Feb 2018 12:17:04 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id EA3E717535; Wed, 28 Feb 2018 13:17:03 +0100 (CET) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Wed, 28 Feb 2018 13:16:54 +0100 Message-Id: <20180228121703.20816-3-kraxel@redhat.com> In-Reply-To: <20180228121703.20816-1-kraxel@redhat.com> References: <20180228121703.20816-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Wed, 28 Feb 2018 12:17:11 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Wed, 28 Feb 2018 12:17:11 +0000 (UTC) for IP:'10.11.54.5' DOMAIN:'int-mx05.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PULL 02/11] sdl: switch over to new display registry X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Gerd Hoffmann Message-id: 20180221131537.31341-3-kraxel@redhat.com --- include/ui/console.h | 19 ------------------- ui/sdl.c | 24 +++++++++++++----------- ui/sdl2.c | 17 +++++++++++++++-- vl.c | 15 +-------------- 4 files changed, 29 insertions(+), 46 deletions(-) diff --git a/include/ui/console.h b/include/ui/console.h index 817f9b9bcc..cb86e6a0dd 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -444,25 +444,6 @@ void qemu_display_register(QemuDisplay *ui); void qemu_display_early_init(DisplayOptions *opts); void qemu_display_init(DisplayState *ds, DisplayOptions *opts); =20 -/* sdl.c */ -#ifdef CONFIG_SDL -void sdl_display_early_init(DisplayOptions *opts); -void sdl_display_init(DisplayState *ds, DisplayOptions *opts); -#else -static inline void sdl_display_early_init(DisplayOptions *opts) -{ - /* This must never be called if CONFIG_SDL is disabled */ - error_report("SDL support is disabled"); - abort(); -} -static inline void sdl_display_init(DisplayState *ds, DisplayOptions *opts) -{ - /* This must never be called if CONFIG_SDL is disabled */ - error_report("SDL support is disabled"); - abort(); -} -#endif - /* cocoa.m */ #ifdef CONFIG_COCOA void cocoa_display_init(DisplayState *ds, DisplayOptions *opts); diff --git a/ui/sdl.c b/ui/sdl.c index c4ae7ab05d..a5fd503c25 100644 --- a/ui/sdl.c +++ b/ui/sdl.c @@ -901,17 +901,7 @@ static const DisplayChangeListenerOps dcl_ops =3D { .dpy_cursor_define =3D sdl_mouse_define, }; =20 -void sdl_display_early_init(DisplayOptions *opts) -{ - if (opts->has_gl && opts->gl) { - fprintf(stderr, - "SDL1 display code has no opengl support.\n" - "Please recompile qemu with SDL2, using\n" - "./configure --enable-sdl --with-sdlabi=3D2.0\n"); - } -} - -void sdl_display_init(DisplayState *ds, DisplayOptions *o) +static void sdl1_display_init(DisplayState *ds, DisplayOptions *o) { int flags; uint8_t data =3D 0; @@ -1023,3 +1013,15 @@ void sdl_display_init(DisplayState *ds, DisplayOptio= ns *o) =20 atexit(sdl_cleanup); } + +static QemuDisplay qemu_display_sdl1 =3D { + .type =3D DISPLAY_TYPE_SDL, + .init =3D sdl1_display_init, +}; + +static void register_sdl1(void) +{ + qemu_display_register(&qemu_display_sdl1); +} + +type_init(register_sdl1); diff --git a/ui/sdl2.c b/ui/sdl2.c index b5a0fa1d13..83b917fa37 100644 --- a/ui/sdl2.c +++ b/ui/sdl2.c @@ -751,7 +751,7 @@ static const DisplayChangeListenerOps dcl_gl_ops =3D { }; #endif =20 -void sdl_display_early_init(DisplayOptions *o) +static void sdl2_display_early_init(DisplayOptions *o) { assert(o->type =3D=3D DISPLAY_TYPE_SDL); if (o->has_gl && o->gl) { @@ -761,7 +761,7 @@ void sdl_display_early_init(DisplayOptions *o) } } =20 -void sdl_display_init(DisplayState *ds, DisplayOptions *o) +static void sdl2_display_init(DisplayState *ds, DisplayOptions *o) { int flags; uint8_t data =3D 0; @@ -861,3 +861,16 @@ void sdl_display_init(DisplayState *ds, DisplayOptions= *o) =20 atexit(sdl_cleanup); } + +static QemuDisplay qemu_display_sdl2 =3D { + .type =3D DISPLAY_TYPE_SDL, + .early_init =3D sdl2_display_early_init, + .init =3D sdl2_display_init, +}; + +static void register_sdl1(void) +{ + qemu_display_register(&qemu_display_sdl2); +} + +type_init(register_sdl1); diff --git a/vl.c b/vl.c index 70458ba708..45900ba7e6 100644 --- a/vl.c +++ b/vl.c @@ -2085,7 +2085,6 @@ static void parse_display(const char *p) const char *opts; =20 if (strstart(p, "sdl", &opts)) { -#ifdef CONFIG_SDL dpy.type =3D DISPLAY_TYPE_SDL; while (*opts) { const char *nextopt; @@ -2146,10 +2145,6 @@ static void parse_display(const char *p) } opts =3D nextopt; } -#else - error_report("SDL support is disabled"); - exit(1); -#endif } else if (strstart(p, "vnc", &opts)) { if (*opts =3D=3D '=3D') { vnc_parse(opts + 1, &error_fatal); @@ -4327,12 +4322,7 @@ int main(int argc, char **argv, char **envp) "ignoring option"); } =20 - if (dpy.type =3D=3D DISPLAY_TYPE_SDL) { - sdl_display_early_init(&dpy); - } else { - qemu_display_early_init(&dpy); - } - + qemu_display_early_init(&dpy); qemu_console_early_init(); =20 if (dpy.has_gl && dpy.gl && display_opengl =3D=3D 0) { @@ -4664,9 +4654,6 @@ int main(int argc, char **argv, char **envp) case DISPLAY_TYPE_CURSES: curses_display_init(ds, &dpy); break; - case DISPLAY_TYPE_SDL: - sdl_display_init(ds, &dpy); - break; case DISPLAY_TYPE_COCOA: cocoa_display_init(ds, &dpy); break; --=20 2.9.3 From nobody Wed Oct 22 04:17:09 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.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 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1519820539021256.5923908810785; Wed, 28 Feb 2018 04:22:19 -0800 (PST) Received: from localhost ([::1]:43632 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0kT-0003C0-Mf for importer@patchew.org; Wed, 28 Feb 2018 07:22:17 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60731) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0ff-0007mJ-VH for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1er0fc-0002Gb-TK for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:19 -0500 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:59560 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1er0fc-0002FA-Me for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:16 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 23AFFEAEA6; Wed, 28 Feb 2018 12:17:11 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-147.ams2.redhat.com [10.36.116.147]) by smtp.corp.redhat.com (Postfix) with ESMTP id B3823946C1; Wed, 28 Feb 2018 12:17:04 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 0081617536; Wed, 28 Feb 2018 13:17:04 +0100 (CET) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Wed, 28 Feb 2018 13:16:55 +0100 Message-Id: <20180228121703.20816-4-kraxel@redhat.com> In-Reply-To: <20180228121703.20816-1-kraxel@redhat.com> References: <20180228121703.20816-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Wed, 28 Feb 2018 12:17:11 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Wed, 28 Feb 2018 12:17:11 +0000 (UTC) for IP:'10.11.54.5' DOMAIN:'int-mx05.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PULL 03/11] cocoa: switch over to new display registry X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Gerd Hoffmann , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Gerd Hoffmann Message-id: 20180221131537.31341-4-kraxel@redhat.com --- include/ui/console.h | 12 ------------ vl.c | 3 --- ui/cocoa.m | 14 +++++++++++++- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/include/ui/console.h b/include/ui/console.h index cb86e6a0dd..f8c462106a 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -444,18 +444,6 @@ void qemu_display_register(QemuDisplay *ui); void qemu_display_early_init(DisplayOptions *opts); void qemu_display_init(DisplayState *ds, DisplayOptions *opts); =20 -/* cocoa.m */ -#ifdef CONFIG_COCOA -void cocoa_display_init(DisplayState *ds, DisplayOptions *opts); -#else -static inline void cocoa_display_init(DisplayState *ds, DisplayOptions *op= ts) -{ - /* This must never be called if CONFIG_COCOA is disabled */ - error_report("Cocoa support is disabled"); - abort(); -} -#endif - /* vnc.c */ void vnc_display_init(const char *id); void vnc_display_open(const char *id, Error **errp); diff --git a/vl.c b/vl.c index 45900ba7e6..2c3cb4651c 100644 --- a/vl.c +++ b/vl.c @@ -4654,9 +4654,6 @@ int main(int argc, char **argv, char **envp) case DISPLAY_TYPE_CURSES: curses_display_init(ds, &dpy); break; - case DISPLAY_TYPE_COCOA: - cocoa_display_init(ds, &dpy); - break; default: qemu_display_init(ds, &dpy); break; diff --git a/ui/cocoa.m b/ui/cocoa.m index 90d9aa57ea..8b0dce90cb 100644 --- a/ui/cocoa.m +++ b/ui/cocoa.m @@ -1683,7 +1683,7 @@ static void addRemovableDevicesMenuItems(void) qapi_free_BlockInfoList(pointerToFree); } =20 -void cocoa_display_init(DisplayState *ds, DisplayOptions *opts) +static void cocoa_display_init(DisplayState *ds, DisplayOptions *opts) { COCOA_DEBUG("qemu_cocoa: cocoa_display_init\n"); =20 @@ -1713,3 +1713,15 @@ void cocoa_display_init(DisplayState *ds, DisplayOpt= ions *opts) */ addRemovableDevicesMenuItems(); } + +static QemuDisplay qemu_display_cocoa =3D { + .type =3D DISPLAY_TYPE_COCOA, + .init =3D cocoa_display_init, +}; + +static void register_cocoa(void) +{ + qemu_display_register(&qemu_display_cocoa); +} + +type_init(register_cocoa); --=20 2.9.3 From nobody Wed Oct 22 04:17:09 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.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 (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 15198203782711005.7964369215022; Wed, 28 Feb 2018 04:19:38 -0800 (PST) Received: from localhost ([::1]:43616 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0ho-0000h3-3L for importer@patchew.org; Wed, 28 Feb 2018 07:19:32 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60760) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0fh-0007mP-6Y for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1er0fc-0002GC-RG for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:21 -0500 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:34622 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1er0fc-0002F9-K5 for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:16 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4978940FB65A for ; Wed, 28 Feb 2018 12:17:11 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-147.ams2.redhat.com [10.36.116.147]) by smtp.corp.redhat.com (Postfix) with ESMTP id ACBFA1134CD2; Wed, 28 Feb 2018 12:17:04 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 0AC5617537; Wed, 28 Feb 2018 13:17:04 +0100 (CET) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Wed, 28 Feb 2018 13:16:56 +0100 Message-Id: <20180228121703.20816-5-kraxel@redhat.com> In-Reply-To: <20180228121703.20816-1-kraxel@redhat.com> References: <20180228121703.20816-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Wed, 28 Feb 2018 12:17:11 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Wed, 28 Feb 2018 12:17:11 +0000 (UTC) for IP:'10.11.54.3' DOMAIN:'int-mx03.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PULL 04/11] curses: switch over to new display registry X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Gerd Hoffmann Message-id: 20180221131537.31341-5-kraxel@redhat.com --- include/ui/console.h | 12 ------------ ui/curses.c | 14 +++++++++++++- vl.c | 17 ++--------------- 3 files changed, 15 insertions(+), 28 deletions(-) diff --git a/include/ui/console.h b/include/ui/console.h index f8c462106a..3ea6cf0870 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -453,18 +453,6 @@ int vnc_display_pw_expire(const char *id, time_t expir= es); QemuOpts *vnc_parse(const char *str, Error **errp); int vnc_init_func(void *opaque, QemuOpts *opts, Error **errp); =20 -/* curses.c */ -#ifdef CONFIG_CURSES -void curses_display_init(DisplayState *ds, DisplayOptions *opts); -#else -static inline void curses_display_init(DisplayState *ds, DisplayOptions *o= pts) -{ - /* This must never be called if CONFIG_CURSES is disabled */ - error_report("curses support is disabled"); - abort(); -} -#endif - /* input.c */ int index_from_key(const char *key, size_t key_length); =20 diff --git a/ui/curses.c b/ui/curses.c index 597e47fd4a..59d819fd4d 100644 --- a/ui/curses.c +++ b/ui/curses.c @@ -435,7 +435,7 @@ static const DisplayChangeListenerOps dcl_ops =3D { .dpy_text_cursor =3D curses_cursor_position, }; =20 -void curses_display_init(DisplayState *ds, DisplayOptions *opts) +static void curses_display_init(DisplayState *ds, DisplayOptions *opts) { #ifndef _WIN32 if (!isatty(1)) { @@ -456,3 +456,15 @@ void curses_display_init(DisplayState *ds, DisplayOpti= ons *opts) =20 invalidate =3D 1; } + +static QemuDisplay qemu_display_curses =3D { + .type =3D DISPLAY_TYPE_CURSES, + .init =3D curses_display_init, +}; + +static void register_curses(void) +{ + qemu_display_register(&qemu_display_curses); +} + +type_init(register_curses); diff --git a/vl.c b/vl.c index 2c3cb4651c..2b4af34fbb 100644 --- a/vl.c +++ b/vl.c @@ -2161,12 +2161,7 @@ static void parse_display(const char *p) exit(1); #endif } else if (strstart(p, "curses", &opts)) { -#ifdef CONFIG_CURSES dpy.type =3D DISPLAY_TYPE_CURSES; -#else - error_report("curses support is disabled"); - exit(1); -#endif } else if (strstart(p, "gtk", &opts)) { dpy.type =3D DISPLAY_TYPE_GTK; while (*opts) { @@ -4647,17 +4642,9 @@ int main(int argc, char **argv, char **envp) qemu_register_reset(restore_boot_order, g_strdup(boot_order)); } =20 - ds =3D init_displaystate(); - /* init local displays */ - switch (dpy.type) { - case DISPLAY_TYPE_CURSES: - curses_display_init(ds, &dpy); - break; - default: - qemu_display_init(ds, &dpy); - break; - } + ds =3D init_displaystate(); + qemu_display_init(ds, &dpy); =20 /* must be after terminal init, SDL library changes signal handlers */ os_setup_signal_handling(); --=20 2.9.3 From nobody Wed Oct 22 04:17:09 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.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 (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1519820378950777.0158461021206; Wed, 28 Feb 2018 04:19:38 -0800 (PST) Received: from localhost ([::1]:43614 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0hl-0000e2-Qg for importer@patchew.org; Wed, 28 Feb 2018 07:19:29 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60732) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0ff-0007mK-VU for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1er0fc-0002Gn-Ub for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:19 -0500 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:36616 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1er0fc-0002F3-Lw for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:16 -0500 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id ADD6F8185332 for ; Wed, 28 Feb 2018 12:17:10 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-147.ams2.redhat.com [10.36.116.147]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5313C213AEF5; Wed, 28 Feb 2018 12:17:10 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 1560C17538; Wed, 28 Feb 2018 13:17:04 +0100 (CET) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Wed, 28 Feb 2018 13:16:57 +0100 Message-Id: <20180228121703.20816-6-kraxel@redhat.com> In-Reply-To: <20180228121703.20816-1-kraxel@redhat.com> References: <20180228121703.20816-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.8]); Wed, 28 Feb 2018 12:17:10 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.8]); Wed, 28 Feb 2018 12:17:10 +0000 (UTC) for IP:'10.11.54.6' DOMAIN:'int-mx06.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PULL 05/11] egl-headless: switch over to new display registry X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Gerd Hoffmann Message-id: 20180221131537.31341-6-kraxel@redhat.com --- include/ui/console.h | 3 --- ui/egl-headless.c | 20 +++++++++++++++++++- vl.c | 12 ------------ 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/include/ui/console.h b/include/ui/console.h index 3ea6cf0870..94726cf190 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -456,7 +456,4 @@ int vnc_init_func(void *opaque, QemuOpts *opts, Error *= *errp); /* input.c */ int index_from_key(const char *key, size_t key_length); =20 -/* egl-headless.c */ -void egl_headless_init(DisplayOptions *opts); - #endif diff --git a/ui/egl-headless.c b/ui/egl-headless.c index b33e0b21fd..7c877122d3 100644 --- a/ui/egl-headless.c +++ b/ui/egl-headless.c @@ -164,7 +164,12 @@ static const DisplayChangeListenerOps egl_ops =3D { .dpy_gl_update =3D egl_scanout_flush, }; =20 -void egl_headless_init(DisplayOptions *opts) +static void early_egl_headless_init(DisplayOptions *opts) +{ + display_opengl =3D 1; +} + +static void egl_headless_init(DisplayState *ds, DisplayOptions *opts) { QemuConsole *con; egl_dpy *edpy; @@ -188,3 +193,16 @@ void egl_headless_init(DisplayOptions *opts) register_displaychangelistener(&edpy->dcl); } } + +static QemuDisplay qemu_display_egl =3D { + .type =3D DISPLAY_TYPE_EGL_HEADLESS, + .early_init =3D early_egl_headless_init, + .init =3D egl_headless_init, +}; + +static void register_egl(void) +{ + qemu_display_register(&qemu_display_egl); +} + +type_init(register_egl); diff --git a/vl.c b/vl.c index 2b4af34fbb..47c953f8dc 100644 --- a/vl.c +++ b/vl.c @@ -2153,13 +2153,7 @@ static void parse_display(const char *p) exit(1); } } else if (strstart(p, "egl-headless", &opts)) { -#ifdef CONFIG_OPENGL_DMABUF - display_opengl =3D 1; dpy.type =3D DISPLAY_TYPE_EGL_HEADLESS; -#else - error_report("egl support is disabled"); - exit(1); -#endif } else if (strstart(p, "curses", &opts)) { dpy.type =3D DISPLAY_TYPE_CURSES; } else if (strstart(p, "gtk", &opts)) { @@ -4659,12 +4653,6 @@ int main(int argc, char **argv, char **envp) qemu_spice_display_init(); } =20 -#ifdef CONFIG_OPENGL_DMABUF - if (dpy.type =3D=3D DISPLAY_TYPE_EGL_HEADLESS) { - egl_headless_init(&dpy); - } -#endif - if (foreach_device_config(DEV_GDB, gdbserver_start) < 0) { exit(1); } --=20 2.9.3 From nobody Wed Oct 22 04:17:09 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.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 (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1519820378302732.5134347592694; Wed, 28 Feb 2018 04:19:38 -0800 (PST) Received: from localhost ([::1]:43613 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0hk-0000dl-G9 for importer@patchew.org; Wed, 28 Feb 2018 07:19:28 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60729) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0ff-0007mI-Um for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1er0fc-0002Ft-OT for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:19 -0500 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:53594 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1er0fc-0002FD-K8 for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:16 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id AE1A88D744 for ; Wed, 28 Feb 2018 12:17:10 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-147.ams2.redhat.com [10.36.116.147]) by smtp.corp.redhat.com (Postfix) with ESMTP id 54FA42026E04; Wed, 28 Feb 2018 12:17:10 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 1FA5617539; Wed, 28 Feb 2018 13:17:04 +0100 (CET) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Wed, 28 Feb 2018 13:16:58 +0100 Message-Id: <20180228121703.20816-7-kraxel@redhat.com> In-Reply-To: <20180228121703.20816-1-kraxel@redhat.com> References: <20180228121703.20816-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.2]); Wed, 28 Feb 2018 12:17:10 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.2]); Wed, 28 Feb 2018 12:17:10 +0000 (UTC) for IP:'10.11.54.4' DOMAIN:'int-mx04.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PULL 06/11] console: add and use qemu_display_find_default X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Using the new display registry instead of #ifdefs in vl.c. Signed-off-by: Gerd Hoffmann Message-id: 20180221131537.31341-7-kraxel@redhat.com --- include/ui/console.h | 1 + ui/console.c | 19 +++++++++++++++++++ vl.c | 15 +++++---------- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/include/ui/console.h b/include/ui/console.h index 94726cf190..3a53db9360 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -441,6 +441,7 @@ struct QemuDisplay { }; =20 void qemu_display_register(QemuDisplay *ui); +bool qemu_display_find_default(DisplayOptions *opts); void qemu_display_early_init(DisplayOptions *opts); void qemu_display_init(DisplayState *ds, DisplayOptions *opts); =20 diff --git a/ui/console.c b/ui/console.c index a11b120fc8..25d342cdcb 100644 --- a/ui/console.c +++ b/ui/console.c @@ -2188,6 +2188,25 @@ void qemu_display_register(QemuDisplay *ui) dpys[ui->type] =3D ui; } =20 +bool qemu_display_find_default(DisplayOptions *opts) +{ + static DisplayType prio[] =3D { + DISPLAY_TYPE_GTK, + DISPLAY_TYPE_SDL, + DISPLAY_TYPE_COCOA + }; + int i; + + for (i =3D 0; i < ARRAY_SIZE(prio); i++) { + if (dpys[prio[i]] =3D=3D NULL) { + continue; + } + opts->type =3D prio[i]; + return true; + } + return false; +} + void qemu_display_early_init(DisplayOptions *opts) { assert(opts->type < DISPLAY_TYPE__MAX); diff --git a/vl.c b/vl.c index 47c953f8dc..59e56593f8 100644 --- a/vl.c +++ b/vl.c @@ -4285,17 +4285,12 @@ int main(int argc, char **argv, char **envp) } #endif if (dpy.type =3D=3D DISPLAY_TYPE_DEFAULT && !display_remote) { -#if defined(CONFIG_GTK) - dpy.type =3D DISPLAY_TYPE_GTK; -#elif defined(CONFIG_SDL) - dpy.type =3D DISPLAY_TYPE_SDL; -#elif defined(CONFIG_COCOA) - dpy.type =3D DISPLAY_TYPE_COCOA; -#elif defined(CONFIG_VNC) - vnc_parse("localhost:0,to=3D99,id=3Ddefault", &error_abort); -#else - dpy.type =3D DISPLAY_TYPE_NONE; + if (!qemu_display_find_default(&dpy)) { + dpy.type =3D DISPLAY_TYPE_NONE; +#if defined(CONFIG_VNC) + vnc_parse("localhost:0,to=3D99,id=3Ddefault", &error_abort); #endif + } } if (dpy.type =3D=3D DISPLAY_TYPE_DEFAULT) { dpy.type =3D DISPLAY_TYPE_NONE; --=20 2.9.3 From nobody Wed Oct 22 04:17:09 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.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 (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1519820698566661.0058569943048; Wed, 28 Feb 2018 04:24:58 -0800 (PST) Received: from localhost ([::1]:43649 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0mw-0005UF-Cr for importer@patchew.org; Wed, 28 Feb 2018 07:24:50 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60755) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0fh-0007mO-3H for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1er0fc-0002Gx-VN for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:21 -0500 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:59556 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1er0fc-0002FB-Mi for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:16 -0500 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 61F12EAEBF for ; Wed, 28 Feb 2018 12:17:11 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-147.ams2.redhat.com [10.36.116.147]) by smtp.corp.redhat.com (Postfix) with ESMTP id 12C18213AEF5; Wed, 28 Feb 2018 12:17:11 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 28F4EA1E1; Wed, 28 Feb 2018 13:17:04 +0100 (CET) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Wed, 28 Feb 2018 13:16:59 +0100 Message-Id: <20180228121703.20816-8-kraxel@redhat.com> In-Reply-To: <20180228121703.20816-1-kraxel@redhat.com> References: <20180228121703.20816-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Wed, 28 Feb 2018 12:17:11 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Wed, 28 Feb 2018 12:17:11 +0000 (UTC) for IP:'10.11.54.6' DOMAIN:'int-mx06.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PULL 07/11] console: add ui module loading support X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" If a requested user interface is not available, try loading it as module, simliar to block layer modules. Needed to keep things working when followup patches start to build user interfaces as modules. Signed-off-by: Gerd Hoffmann Message-id: 20180221131537.31341-8-kraxel@redhat.com --- include/qemu/module.h | 1 + ui/console.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/include/qemu/module.h b/include/qemu/module.h index 56dd218205..9fea75aaeb 100644 --- a/include/qemu/module.h +++ b/include/qemu/module.h @@ -53,6 +53,7 @@ typedef enum { #define trace_init(function) module_init(function, MODULE_INIT_TRACE) =20 #define block_module_load_one(lib) module_load_one("block-", lib) +#define ui_module_load_one(lib) module_load_one("ui-", lib) =20 void register_module_init(void (*fn)(void), module_init_type type); void register_dso_module_init(void (*fn)(void), module_init_type type); diff --git a/ui/console.c b/ui/console.c index 25d342cdcb..78efab269a 100644 --- a/ui/console.c +++ b/ui/console.c @@ -2199,6 +2199,9 @@ bool qemu_display_find_default(DisplayOptions *opts) =20 for (i =3D 0; i < ARRAY_SIZE(prio); i++) { if (dpys[prio[i]] =3D=3D NULL) { + ui_module_load_one(DisplayType_lookup.array[prio[i]]); + } + if (dpys[prio[i]] =3D=3D NULL) { continue; } opts->type =3D prio[i]; @@ -2214,6 +2217,9 @@ void qemu_display_early_init(DisplayOptions *opts) return; } if (dpys[opts->type] =3D=3D NULL) { + ui_module_load_one(DisplayType_lookup.array[opts->type]); + } + if (dpys[opts->type] =3D=3D NULL) { error_report("Display '%s' is not available.", DisplayType_lookup.array[opts->type]); exit(1); --=20 2.9.3 From nobody Wed Oct 22 04:17:09 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.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 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1519820536958168.0110147918341; Wed, 28 Feb 2018 04:22:16 -0800 (PST) Received: from localhost ([::1]:43631 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0kR-0003AV-PZ for importer@patchew.org; Wed, 28 Feb 2018 07:22:15 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60735) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0ff-0007mM-Vq for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1er0fc-0002GY-Th for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:19 -0500 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:36618 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1er0fc-0002F5-MV for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:16 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 72405818535B for ; Wed, 28 Feb 2018 12:17:11 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-147.ams2.redhat.com [10.36.116.147]) by smtp.corp.redhat.com (Postfix) with ESMTP id 140AC2026E04; Wed, 28 Feb 2018 12:17:11 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 322E8A1EA; Wed, 28 Feb 2018 13:17:04 +0100 (CET) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Wed, 28 Feb 2018 13:17:00 +0100 Message-Id: <20180228121703.20816-9-kraxel@redhat.com> In-Reply-To: <20180228121703.20816-1-kraxel@redhat.com> References: <20180228121703.20816-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.8]); Wed, 28 Feb 2018 12:17:11 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.8]); Wed, 28 Feb 2018 12:17:11 +0000 (UTC) for IP:'10.11.54.4' DOMAIN:'int-mx04.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PULL 08/11] configure: add X11 vars to config-host.mak X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Simplifies handling the X11 dependency, also makes ui/Makefile.objs more readable. Signed-off-by: Gerd Hoffmann Message-id: 20180221131537.31341-9-kraxel@redhat.com --- configure | 10 ++++++++-- ui/Makefile.objs | 5 ++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/configure b/configure index 39f3a43001..f6dc1c92b3 100755 --- a/configure +++ b/configure @@ -2509,9 +2509,8 @@ fi =20 ########################################## # X11 probe -x11_cflags=3D -x11_libs=3D-lX11 if $pkg_config --exists "x11"; then + have_x11=3Dyes x11_cflags=3D$($pkg_config --cflags x11) x11_libs=3D$($pkg_config --libs x11) fi @@ -2544,6 +2543,7 @@ if test "$gtk" !=3D "no"; then gtk_libs=3D$($pkg_config --libs $gtkpackage) gtk_version=3D$($pkg_config --modversion $gtkpackage) if $pkg_config --exists "$gtkx11package >=3D $gtkversion"; then + need_x11=3Dyes gtk_cflags=3D"$gtk_cflags $x11_cflags" gtk_libs=3D"$gtk_libs $x11_libs" fi @@ -2912,6 +2912,7 @@ if test "$sdl" =3D "yes" ; then int main(void) { return 0; } EOF if compile_prog "$sdl_cflags $x11_cflags" "$sdl_libs $x11_libs" ; then + need_x11=3Dyes sdl_cflags=3D"$sdl_cflags $x11_cflags" sdl_libs=3D"$sdl_libs $x11_libs" fi @@ -6024,6 +6025,11 @@ if test "$modules" =3D "yes"; then echo "CONFIG_STAMP=3D_$( (echo $qemu_version; echo $pkgversion; cat $0) = | $shacmd - | cut -f1 -d\ )" >> $config_host_mak echo "CONFIG_MODULES=3Dy" >> $config_host_mak fi +if test "$have_x11" =3D "yes" -a "$need_x11" =3D "yes"; then + echo "CONFIG_X11=3Dy" >> $config_host_mak + echo "X11_CFLAGS=3D$x11_cflags" >> $config_host_mak + echo "X11_LIBS=3D$x11_libs" >> $config_host_mak +fi if test "$sdl" =3D "yes" ; then echo "CONFIG_SDL=3Dy" >> $config_host_mak echo "CONFIG_SDLABI=3D$sdlabi" >> $config_host_mak diff --git a/ui/Makefile.objs b/ui/Makefile.objs index ced7d91a63..9b725b07aa 100644 --- a/ui/Makefile.objs +++ b/ui/Makefile.objs @@ -17,7 +17,10 @@ common-obj-$(CONFIG_CURSES) +=3D curses.o common-obj-$(CONFIG_VNC) +=3D $(vnc-obj-y) common-obj-$(call lnot,$(CONFIG_VNC)) +=3D vnc-stubs.o common-obj-$(CONFIG_GTK) +=3D gtk.o -common-obj-$(if $(CONFIG_WIN32),n,$(if $(CONFIG_SDL),y,$(CONFIG_GTK))) += =3D x_keymap.o + +common-obj-$(CONFIG_X11) +=3D x_keymap.o +x_keymap.o-cflags :=3D $(X11_CFLAGS) +x_keymap.o-libs :=3D $(X11_LIBS) =20 ifeq ($(CONFIG_SDLABI),1.2) sdl.mo-objs :=3D sdl.o sdl_zoom.o --=20 2.9.3 From nobody Wed Oct 22 04:17:09 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.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 (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1519820698470753.8207110643464; Wed, 28 Feb 2018 04:24:58 -0800 (PST) Received: from localhost ([::1]:43648 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0mu-0005Su-Vi for importer@patchew.org; Wed, 28 Feb 2018 07:24:49 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60830) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0fi-0007n7-Tx for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1er0fc-0002G2-PR for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:22 -0500 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:59557 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1er0fc-0002FC-Jh for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:16 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B4625EB6F4 for ; Wed, 28 Feb 2018 12:17:11 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-147.ams2.redhat.com [10.36.116.147]) by smtp.corp.redhat.com (Postfix) with ESMTP id 812EB2026E04; Wed, 28 Feb 2018 12:17:11 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 3A4E2A1FB; Wed, 28 Feb 2018 13:17:04 +0100 (CET) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Wed, 28 Feb 2018 13:17:01 +0100 Message-Id: <20180228121703.20816-10-kraxel@redhat.com> In-Reply-To: <20180228121703.20816-1-kraxel@redhat.com> References: <20180228121703.20816-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Wed, 28 Feb 2018 12:17:11 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Wed, 28 Feb 2018 12:17:11 +0000 (UTC) for IP:'10.11.54.4' DOMAIN:'int-mx04.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PULL 09/11] configure: opengl doesn't depend on x11 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" So remove x11 from pkg-config check and don't add x11 cflags/libs to opengl cflags/libs. Signed-off-by: Gerd Hoffmann Message-id: 20180221131537.31341-10-kraxel@redhat.com --- configure | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure b/configure index f6dc1c92b3..ab1ba9c47d 100755 --- a/configure +++ b/configure @@ -3768,9 +3768,9 @@ libs_softmmu=3D"$libs_softmmu $fdt_libs" =20 if test "$opengl" !=3D "no" ; then opengl_pkgs=3D"epoxy libdrm gbm" - if $pkg_config $opengl_pkgs x11; then - opengl_cflags=3D"$($pkg_config --cflags $opengl_pkgs) $x11_cflags" - opengl_libs=3D"$($pkg_config --libs $opengl_pkgs) $x11_libs" + if $pkg_config $opengl_pkgs; then + opengl_cflags=3D"$($pkg_config --cflags $opengl_pkgs)" + opengl_libs=3D"$($pkg_config --libs $opengl_pkgs)" opengl=3Dyes if test "$gtk" =3D "yes" && $pkg_config --exists "$gtkpackage >=3D 3.1= 6"; then gtk_gl=3D"yes" --=20 2.9.3 From nobody Wed Oct 22 04:17:09 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.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 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1519820542894283.1443715978438; Wed, 28 Feb 2018 04:22:22 -0800 (PST) Received: from localhost ([::1]:43634 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0kX-0003Ed-I7 for importer@patchew.org; Wed, 28 Feb 2018 07:22:21 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60799) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0fi-0007mb-0l for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1er0fc-0002H2-Vt for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:21 -0500 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:59644 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1er0fc-0002F7-Mh for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:16 -0500 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D2DED4022931 for ; Wed, 28 Feb 2018 12:17:11 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-147.ams2.redhat.com [10.36.116.147]) by smtp.corp.redhat.com (Postfix) with ESMTP id 63DC9213AEF9; Wed, 28 Feb 2018 12:17:11 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 43B7EA1FC; Wed, 28 Feb 2018 13:17:04 +0100 (CET) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Wed, 28 Feb 2018 13:17:02 +0100 Message-Id: <20180228121703.20816-11-kraxel@redhat.com> In-Reply-To: <20180228121703.20816-1-kraxel@redhat.com> References: <20180228121703.20816-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Wed, 28 Feb 2018 12:17:11 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Wed, 28 Feb 2018 12:17:11 +0000 (UTC) for IP:'10.11.54.6' DOMAIN:'int-mx06.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PULL 10/11] gtk: build as ui module X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Also drop gtk and vte libs from libs_softmmu, so the libs are not pulled in unless the gtk module actually gets loaded. Shared library dependencies dropped from qemu-system-*: libEGL.so.1 =3D> /lib64/libEGL.so.1 libGL.so.1 =3D> /lib64/libGL.so.1 libXcomposite.so.1 =3D> /lib64/libXcomposite.so.1 libXcursor.so.1 =3D> /lib64/libXcursor.so.1 libXdamage.so.1 =3D> /lib64/libXdamage.so.1 libXfixes.so.3 =3D> /lib64/libXfixes.so.3 libXinerama.so.1 =3D> /lib64/libXinerama.so.1 libXrandr.so.2 =3D> /lib64/libXrandr.so.2 libXrender.so.1 =3D> /lib64/libXrender.so.1 libXxf86vm.so.1 =3D> /lib64/libXxf86vm.so.1 libatk-1.0.so.0 =3D> /lib64/libatk-1.0.so.0 libatk-bridge-2.0.so.0 =3D> /lib64/libatk-bridge-2.0.so.0 libatspi.so.0 =3D> /lib64/libatspi.so.0 libcairo-gobject.so.2 =3D> /lib64/libcairo-gobject.so.2 libcairo.so.2 =3D> /lib64/libcairo.so.2 libfontconfig.so.1 =3D> /lib64/libfontconfig.so.1 libfreetype.so.6 =3D> /lib64/libfreetype.so.6 libgdk-3.so.0 =3D> /lib64/libgdk-3.so.0 libgdk_pixbuf-2.0.so.0 =3D> /lib64/libgdk_pixbuf-2.0.so.0 libglapi.so.0 =3D> /lib64/libglapi.so.0 libgraphite2.so.3 =3D> /lib64/libgraphite2.so.3 libgtk-3.so.0 =3D> /lib64/libgtk-3.so.0 libharfbuzz.so.0 =3D> /lib64/libharfbuzz.so.0 libpango-1.0.so.0 =3D> /lib64/libpango-1.0.so.0 libpangocairo-1.0.so.0 =3D> /lib64/libpangocairo-1.0.so.0 libpangoft2-1.0.so.0 =3D> /lib64/libpangoft2-1.0.so.0 libpcre2-8.so.0 =3D> /lib64/libpcre2-8.so.0 libthai.so.0 =3D> /lib64/libthai.so.0 libvte-2.91.so.0 =3D> /lib64/libvte-2.91.so.0 libwayland-cursor.so.0 =3D> /lib64/libwayland-cursor.so.0 libwayland-egl.so.1 =3D> /lib64/libwayland-egl.so.1 libxcb-dri2.so.0 =3D> /lib64/libxcb-dri2.so.0 libxcb-dri3.so.0 =3D> /lib64/libxcb-dri3.so.0 libxcb-glx.so.0 =3D> /lib64/libxcb-glx.so.0 libxcb-present.so.0 =3D> /lib64/libxcb-present.so.0 libxcb-render.so.0 =3D> /lib64/libxcb-render.so.0 libxcb-shm.so.0 =3D> /lib64/libxcb-shm.so.0 libxcb-sync.so.1 =3D> /lib64/libxcb-sync.so.1 libxcb-xfixes.so.0 =3D> /lib64/libxcb-xfixes.so.0 libxkbcommon.so.0 =3D> /lib64/libxkbcommon.so.0 libxshmfence.so.1 =3D> /lib64/libxshmfence.so.1 Signed-off-by: Gerd Hoffmann Message-id: 20180221131537.31341-12-kraxel@redhat.com --- configure | 5 ++--- ui/Makefile.objs | 17 +++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/configure b/configure index ab1ba9c47d..8074fc5001 100755 --- a/configure +++ b/configure @@ -2547,7 +2547,6 @@ if test "$gtk" !=3D "no"; then gtk_cflags=3D"$gtk_cflags $x11_cflags" gtk_libs=3D"$gtk_libs $x11_libs" fi - libs_softmmu=3D"$gtk_libs $libs_softmmu" gtk=3D"yes" elif test "$gtk" =3D "yes"; then feature_not_found "gtk" "Install gtk3-devel" @@ -2797,7 +2796,6 @@ if test "$vte" !=3D "no"; then vte_cflags=3D$($pkg_config --cflags $vtepackage) vte_libs=3D$($pkg_config --libs $vtepackage) vteversion=3D$($pkg_config --modversion $vtepackage) - libs_softmmu=3D"$vte_libs $libs_softmmu" vte=3D"yes" elif test "$vte" =3D "yes"; then if test "$gtkabi" =3D "3.0"; then @@ -6137,7 +6135,7 @@ if test "$glib_subprocess" =3D "yes" ; then echo "CONFIG_HAS_GLIB_SUBPROCESS_TESTS=3Dy" >> $config_host_mak fi if test "$gtk" =3D "yes" ; then - echo "CONFIG_GTK=3Dy" >> $config_host_mak + echo "CONFIG_GTK=3Dm" >> $config_host_mak echo "CONFIG_GTKABI=3D$gtkabi" >> $config_host_mak echo "GTK_CFLAGS=3D$gtk_cflags" >> $config_host_mak echo "GTK_LIBS=3D$gtk_libs" >> $config_host_mak @@ -6188,6 +6186,7 @@ fi if test "$vte" =3D "yes" ; then echo "CONFIG_VTE=3Dy" >> $config_host_mak echo "VTE_CFLAGS=3D$vte_cflags" >> $config_host_mak + echo "VTE_LIBS=3D$vte_libs" >> $config_host_mak fi if test "$virglrenderer" =3D "yes" ; then echo "CONFIG_VIRGL=3Dy" >> $config_host_mak diff --git a/ui/Makefile.objs b/ui/Makefile.objs index 9b725b07aa..49223b0573 100644 --- a/ui/Makefile.objs +++ b/ui/Makefile.objs @@ -16,7 +16,6 @@ common-obj-$(CONFIG_COCOA) +=3D cocoa.o common-obj-$(CONFIG_CURSES) +=3D curses.o common-obj-$(CONFIG_VNC) +=3D $(vnc-obj-y) common-obj-$(call lnot,$(CONFIG_VNC)) +=3D vnc-stubs.o -common-obj-$(CONFIG_GTK) +=3D gtk.o =20 common-obj-$(CONFIG_X11) +=3D x_keymap.o x_keymap.o-cflags :=3D $(X11_CFLAGS) @@ -34,6 +33,12 @@ endif sdl.mo-cflags :=3D $(SDL_CFLAGS) sdl.mo-libs :=3D $(SDL_LIBS) =20 +# 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) common-obj-y +=3D shader.o common-obj-y +=3D console-gl.o @@ -41,17 +46,13 @@ common-obj-y +=3D egl-helpers.o common-obj-y +=3D egl-context.o common-obj-$(CONFIG_OPENGL_DMABUF) +=3D egl-headless.o ifeq ($(CONFIG_GTK_GL),y) -common-obj-$(CONFIG_GTK) +=3D gtk-gl-area.o +gtk.mo-objs +=3D gtk-gl-area.o else -common-obj-$(CONFIG_GTK) +=3D gtk-egl.o +gtk.mo-objs +=3D gtk-egl.o +gtk.mo-libs +=3D $(OPENGL_LIBS) endif endif =20 -gtk.o-cflags :=3D $(GTK_CFLAGS) $(VTE_CFLAGS) -gtk-egl.o-cflags :=3D $(GTK_CFLAGS) $(VTE_CFLAGS) -gtk-gl-area.o-cflags :=3D $(GTK_CFLAGS) $(VTE_CFLAGS) - -gtk-egl.o-libs +=3D $(OPENGL_LIBS) shader.o-libs +=3D $(OPENGL_LIBS) console-gl.o-libs +=3D $(OPENGL_LIBS) egl-helpers.o-libs +=3D $(OPENGL_LIBS) --=20 2.9.3 From nobody Wed Oct 22 04:17:09 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.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 (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1519820378850757.1011199508224; Wed, 28 Feb 2018 04:19:38 -0800 (PST) Received: from localhost ([::1]:43615 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0hm-0000f7-R5 for importer@patchew.org; Wed, 28 Feb 2018 07:19:30 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60733) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er0ff-0007mL-VQ for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1er0fc-0002GA-RG for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:19 -0500 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:34620 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1er0fc-0002F4-K4 for qemu-devel@nongnu.org; Wed, 28 Feb 2018 07:17:16 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 32A8D40FB65C for ; Wed, 28 Feb 2018 12:17:12 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-147.ams2.redhat.com [10.36.116.147]) by smtp.corp.redhat.com (Postfix) with ESMTP id D974B10AF9D1; Wed, 28 Feb 2018 12:17:11 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 4D017A1FD; Wed, 28 Feb 2018 13:17:04 +0100 (CET) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Wed, 28 Feb 2018 13:17:03 +0100 Message-Id: <20180228121703.20816-12-kraxel@redhat.com> In-Reply-To: <20180228121703.20816-1-kraxel@redhat.com> References: <20180228121703.20816-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Wed, 28 Feb 2018 12:17:12 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Wed, 28 Feb 2018 12:17:12 +0000 (UTC) for IP:'10.11.54.3' DOMAIN:'int-mx03.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PULL 11/11] curses: build as ui module X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Also drop curses libs from libs_softmmu. Add CURSES_{CFLAGS,LIBS} variables so we can use them for linking the curses module. Shared library dependencies dropped from qemu-system-*: libncursesw.so.5 =3D> /lib64/libncursesw.so.5 libtinfo.so.5 =3D> /lib64/libtinfo.so.5 Signed-off-by: Gerd Hoffmann Message-id: 20180221131537.31341-13-kraxel@redhat.com --- configure | 6 +++--- ui/Makefile.objs | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/configure b/configure index 8074fc5001..5ecd538617 100755 --- a/configure +++ b/configure @@ -3269,8 +3269,6 @@ EOF unset IFS if compile_prog "$curses_inc" "$curses_lib" ; then curses_found=3Dyes - QEMU_CFLAGS=3D"$curses_inc $QEMU_CFLAGS" - libs_softmmu=3D"$curses_lib $libs_softmmu" break fi done @@ -6038,7 +6036,9 @@ if test "$cocoa" =3D "yes" ; then echo "CONFIG_COCOA=3Dy" >> $config_host_mak fi if test "$curses" =3D "yes" ; then - echo "CONFIG_CURSES=3Dy" >> $config_host_mak + echo "CONFIG_CURSES=3Dm" >> $config_host_mak + echo "CURSES_CFLAGS=3D$curses_inc" >> $config_host_mak + echo "CURSES_LIBS=3D$curses_lib" >> $config_host_mak fi if test "$pipe2" =3D "yes" ; then echo "CONFIG_PIPE2=3Dy" >> $config_host_mak diff --git a/ui/Makefile.objs b/ui/Makefile.objs index 49223b0573..a37232762b 100644 --- a/ui/Makefile.objs +++ b/ui/Makefile.objs @@ -13,7 +13,6 @@ 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_SDL) +=3D sdl.mo common-obj-$(CONFIG_COCOA) +=3D cocoa.o -common-obj-$(CONFIG_CURSES) +=3D curses.o common-obj-$(CONFIG_VNC) +=3D $(vnc-obj-y) common-obj-$(call lnot,$(CONFIG_VNC)) +=3D vnc-stubs.o =20 @@ -39,6 +38,11 @@ gtk.mo-objs :=3D gtk.o gtk.mo-cflags :=3D $(GTK_CFLAGS) $(VTE_CFLAGS) gtk.mo-libs :=3D $(GTK_LIBS) $(VTE_LIBS) =20 +common-obj-$(CONFIG_CURSES) +=3D curses.mo +curses.mo-objs :=3D curses.o +curses.mo-cflags :=3D $(CURSES_CFLAGS) +curses.mo-libs :=3D $(CURSES_LIBS) + ifeq ($(CONFIG_OPENGL),y) common-obj-y +=3D shader.o common-obj-y +=3D console-gl.o --=20 2.9.3