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
This commit is contained in:
Gerd Hoffmann 2020-10-19 09:52:24 +02:00
parent 39d41e855b
commit c8263659f1
2 changed files with 14 additions and 1 deletions

View File

@ -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'],

View File

@ -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