aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2020-10-19 09:52:24 +0200
committerGerd Hoffmann <kraxel@redhat.com>2020-10-21 15:46:14 +0200
commitc8263659f1268a0f3502568d7663f722b2461935 (patch)
treef04e1339be4b542a2a888a6cd53a58d79e90b02a
parent39d41e855ba1e062e828ed3dbc6a1d4f57169c0b (diff)
opengl: build opengl helper code modular
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 <kraxel@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-id: 20201019075224.14803-15-kraxel@redhat.com
-rw-r--r--ui/meson.build8
-rw-r--r--util/module.c7
2 files changed, 14 insertions, 1 deletions
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