From c8263659f1268a0f3502568d7663f722b2461935 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 19 Oct 2020 09:52:24 +0200 Subject: [PATCH] opengl: build opengl helper code modular MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removes opengl dependency from core qemu. The number of shared libraries for qemu-system-x86_64 goes down from 66 to 60 on my system. Signed-off-by: Gerd Hoffmann Reviewed-by: Marc-André Lureau Message-id: 20201019075224.14803-15-kraxel@redhat.com --- ui/meson.build | 8 +++++++- util/module.c | 7 +++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ui/meson.build b/ui/meson.build index 537e5e0673..5d4906c023 100644 --- a/ui/meson.build +++ b/ui/meson.build @@ -33,7 +33,6 @@ vnc_ss.add(zlib, png, jpeg) vnc_ss.add(when: sasl, if_true: files('vnc-auth-sasl.c')) softmmu_ss.add_all(when: vnc, if_true: vnc_ss) softmmu_ss.add(when: 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')) specific_ss.add(when: ['CONFIG_SOFTMMU'], if_true: opengl) ui_modules = {} @@ -44,6 +43,13 @@ if curses.found() ui_modules += {'curses' : curses_ss} endif +if config_host.has_key('CONFIG_OPENGL') + opengl_ss = ss.source_set() + opengl_ss.add(when: [opengl, pixman, 'CONFIG_OPENGL'], + if_true: files('shader.c', 'console-gl.c', 'egl-helpers.c', 'egl-context.c')) + ui_modules += {'opengl' : opengl_ss} +endif + if config_host.has_key('CONFIG_OPENGL_DMABUF') egl_headless_ss = ss.source_set() egl_headless_ss.add(when: [opengl, pixman, 'CONFIG_OPENGL_DMABUF'], diff --git a/util/module.c b/util/module.c index 21237dcc24..fe3b82dd4d 100644 --- a/util/module.c +++ b/util/module.c @@ -181,6 +181,13 @@ static const struct { { "hw-display-qxl", "ui-spice-core" }, { "ui-spice-app", "ui-spice-core" }, { "ui-spice-app", "chardev-spice" }, + +#ifdef CONFIG_OPENGL + { "ui-egl-headless", "ui-opengl" }, + { "ui-gtk", "ui-opengl" }, + { "ui-sdl", "ui-opengl" }, + { "ui-spice-core", "ui-opengl" }, +#endif }; #endif