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