]>
Commit | Line | Data |
---|---|---|
b7612f45 | 1 | softmmu_ss.add(pixman) |
feabc71d | 2 | specific_ss.add(when: ['CONFIG_SOFTMMU'], if_true: pixman) # for the include path |
b7612f45 | 3 | |
2b1ccdf4 | 4 | softmmu_ss.add(files( |
660e8d0f | 5 | 'clipboard.c', |
2b1ccdf4 MAL |
6 | 'console.c', |
7 | 'cursor.c', | |
8 | 'input-keymap.c', | |
9 | 'input-legacy.c', | |
10 | 'input-barrier.c', | |
11 | 'input.c', | |
12 | 'kbd-state.c', | |
13 | 'keymaps.c', | |
14 | 'qemu-pixman.c', | |
f6ef71bd | 15 | 'util.c', |
2b1ccdf4 | 16 | )) |
99997823 MAL |
17 | if dbus_display |
18 | softmmu_ss.add(files('dbus-module.c')) | |
19 | endif | |
2e31e210 | 20 | softmmu_ss.add([spice_headers, files('spice-module.c')]) |
de74a22c | 21 | softmmu_ss.add(when: spice_protocol, if_true: files('vdagent.c')) |
2b1ccdf4 | 22 | |
b956577a PMD |
23 | softmmu_ss.add(when: 'CONFIG_LINUX', if_true: files( |
24 | 'input-linux.c', | |
25 | 'udmabuf.c', | |
26 | )) | |
b4e312e9 | 27 | softmmu_ss.add(when: cocoa, if_true: files('cocoa.m')) |
2b1ccdf4 MAL |
28 | |
29 | vnc_ss = ss.source_set() | |
30 | vnc_ss.add(files( | |
31 | 'vnc.c', | |
32 | 'vnc-enc-zlib.c', | |
33 | 'vnc-enc-hextile.c', | |
34 | 'vnc-enc-tight.c', | |
35 | 'vnc-palette.c', | |
36 | 'vnc-enc-zrle.c', | |
37 | 'vnc-auth-vencrypt.c', | |
38 | 'vnc-ws.c', | |
39 | 'vnc-jobs.c', | |
0bf41cab | 40 | 'vnc-clipboard.c', |
2b1ccdf4 | 41 | )) |
3eacf70b | 42 | vnc_ss.add(zlib, png, jpeg, gnutls) |
a0b93237 PB |
43 | vnc_ss.add(when: sasl, if_true: files('vnc-auth-sasl.c')) |
44 | softmmu_ss.add_all(when: vnc, if_true: vnc_ss) | |
45 | softmmu_ss.add(when: vnc, if_false: files('vnc-stubs.c')) | |
feabc71d | 46 | specific_ss.add(when: ['CONFIG_SOFTMMU'], if_true: opengl) |
2b1ccdf4 MAL |
47 | |
48 | ui_modules = {} | |
49 | ||
5285e593 | 50 | if curses.found() |
2b1ccdf4 | 51 | curses_ss = ss.source_set() |
289e12db | 52 | curses_ss.add(when: [curses, iconv], if_true: [files('curses.c'), pixman]) |
2b1ccdf4 MAL |
53 | ui_modules += {'curses' : curses_ss} |
54 | endif | |
55 | ||
c8263659 GH |
56 | if config_host.has_key('CONFIG_OPENGL') |
57 | opengl_ss = ss.source_set() | |
bc6a3565 | 58 | opengl_ss.add(gbm) |
c8263659 GH |
59 | opengl_ss.add(when: [opengl, pixman, 'CONFIG_OPENGL'], |
60 | if_true: files('shader.c', 'console-gl.c', 'egl-helpers.c', 'egl-context.c')) | |
61 | ui_modules += {'opengl' : opengl_ss} | |
62 | endif | |
63 | ||
bc6a3565 | 64 | if config_host.has_key('CONFIG_OPENGL') and gbm.found() |
39d41e85 | 65 | egl_headless_ss = ss.source_set() |
bc6a3565 | 66 | egl_headless_ss.add(when: [opengl, gbm, pixman, 'CONFIG_OPENGL'], |
39d41e85 GH |
67 | if_true: files('egl-headless.c')) |
68 | ui_modules += {'egl-headless' : egl_headless_ss} | |
69 | endif | |
70 | ||
142ca628 MAL |
71 | if dbus_display |
72 | dbus_ss = ss.source_set() | |
73 | dbus_display1 = custom_target('dbus-display gdbus-codegen', | |
74 | output: ['dbus-display1.h', 'dbus-display1.c'], | |
75 | input: files('dbus-display1.xml'), | |
76 | command: [config_host['GDBUS_CODEGEN'], | |
77 | '@INPUT@', | |
78 | '--glib-min-required', '2.64', | |
79 | '--output-directory', meson.current_build_dir(), | |
80 | '--interface-prefix', 'org.qemu.', | |
81 | '--c-namespace', 'QemuDBus', | |
82 | '--generate-c-code', '@BASENAME@']) | |
83 | dbus_ss.add(when: [gio, pixman, opengl, 'CONFIG_GIO'], | |
84 | if_true: [files( | |
3e301c8d | 85 | 'dbus-chardev.c', |
ff1a5810 | 86 | 'dbus-clipboard.c', |
142ca628 MAL |
87 | 'dbus-console.c', |
88 | 'dbus-error.c', | |
89 | 'dbus-listener.c', | |
90 | 'dbus.c', | |
91 | ), dbus_display1]) | |
92 | ui_modules += {'dbus' : dbus_ss} | |
93 | endif | |
94 | ||
1b695471 | 95 | if gtk.found() |
2b1ccdf4 MAL |
96 | softmmu_ss.add(when: 'CONFIG_WIN32', if_true: files('win32-kbd-hook.c')) |
97 | ||
98 | gtk_ss = ss.source_set() | |
d11ebe2c | 99 | gtk_ss.add(gtk, vte, pixman, files('gtk.c', 'gtk-clipboard.c')) |
9d71037f | 100 | gtk_ss.add(when: x11, if_true: files('x_keymap.c')) |
bc6a3565 AO |
101 | gtk_ss.add(when: [opengl, 'CONFIG_OPENGL'], if_true: files('gtk-gl-area.c')) |
102 | gtk_ss.add(when: [x11, opengl, 'CONFIG_OPENGL'], if_true: files('gtk-egl.c')) | |
2b1ccdf4 MAL |
103 | ui_modules += {'gtk' : gtk_ss} |
104 | endif | |
105 | ||
35be72ba | 106 | if sdl.found() |
2b1ccdf4 MAL |
107 | softmmu_ss.add(when: 'CONFIG_WIN32', if_true: files('win32-kbd-hook.c')) |
108 | ||
109 | sdl_ss = ss.source_set() | |
35be72ba | 110 | sdl_ss.add(sdl, sdl_image, pixman, glib, files( |
2b1ccdf4 MAL |
111 | 'sdl2-2d.c', |
112 | 'sdl2-input.c', | |
113 | 'sdl2.c', | |
114 | )) | |
115 | sdl_ss.add(when: [opengl, 'CONFIG_OPENGL'], if_true: files('sdl2-gl.c')) | |
9d71037f | 116 | sdl_ss.add(when: x11, if_true: files('x_keymap.c')) |
2b1ccdf4 MAL |
117 | ui_modules += {'sdl' : sdl_ss} |
118 | endif | |
119 | ||
3f0a5d55 | 120 | if spice.found() |
cbe5fa11 GH |
121 | spice_core_ss = ss.source_set() |
122 | spice_core_ss.add(spice, pixman, files( | |
123 | 'spice-core.c', | |
124 | 'spice-input.c', | |
125 | 'spice-display.c' | |
126 | )) | |
127 | ui_modules += {'spice-core' : spice_core_ss} | |
128 | endif | |
129 | ||
3f0a5d55 | 130 | if spice.found() and config_host.has_key('CONFIG_GIO') |
2b1ccdf4 | 131 | spice_ss = ss.source_set() |
289e12db | 132 | spice_ss.add(spice, gio, pixman, files('spice-app.c')) |
2b1ccdf4 MAL |
133 | ui_modules += {'spice-app': spice_ss} |
134 | endif | |
135 | ||
2d78b56e MAL |
136 | keymaps = [ |
137 | ['atset1', 'qcode'], | |
138 | ['linux', 'qcode'], | |
139 | ['qcode', 'atset1'], | |
140 | ['qcode', 'atset2'], | |
141 | ['qcode', 'atset3'], | |
142 | ['qcode', 'linux'], | |
143 | ['qcode', 'qnum'], | |
144 | ['qcode', 'sun'], | |
145 | ['qnum', 'qcode'], | |
146 | ['usb', 'qcode'], | |
147 | ['win32', 'qcode'], | |
148 | ['x11', 'qcode'], | |
149 | ['xorgevdev', 'qcode'], | |
150 | ['xorgkbd', 'qcode'], | |
151 | ['xorgxquartz', 'qcode'], | |
152 | ['xorgxwin', 'qcode'], | |
153 | ['osx', 'qcode'], | |
154 | ] | |
155 | ||
4113f4cf | 156 | if have_system or xkbcommon.found() |
2d78b56e MAL |
157 | foreach e : keymaps |
158 | output = 'input-keymap-@0@-to-@1@.c.inc'.format(e[0], e[1]) | |
159 | genh += custom_target(output, | |
160 | output: output, | |
161 | capture: true, | |
2d78b56e | 162 | input: files('keycodemapdb/data/keymaps.csv'), |
edc54640 | 163 | command: [python, files('keycodemapdb/tools/keymap-gen'), |
f4d87ce4 | 164 | 'code-map', |
2d78b56e MAL |
165 | '--lang', 'glib2', |
166 | '--varname', 'qemu_input_map_@0@_to_@1@'.format(e[0], e[1]), | |
f4d87ce4 | 167 | '@INPUT0@', e[0], e[1]]) |
2d78b56e MAL |
168 | endforeach |
169 | endif | |
650b5d54 MAL |
170 | |
171 | subdir('shader') | |
2b1ccdf4 | 172 | |
3856873e BR |
173 | if have_system |
174 | subdir('icons') | |
175 | ||
16bf7a33 | 176 | install_data('qemu.desktop', install_dir: qemu_desktopdir) |
3856873e | 177 | endif |
c04c071f | 178 | |
2b1ccdf4 | 179 | modules += {'ui': ui_modules} |