]>
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 | |
de6cd759 | 28 | system_ss.add(when: 'CONFIG_LINUX', if_true: files( |
b956577a PMD |
29 | 'input-linux.c', |
30 | 'udmabuf.c', | |
31 | )) | |
de6cd759 | 32 | system_ss.add(when: cocoa, if_true: files('cocoa.m')) |
2b1ccdf4 MAL |
33 | |
34 | vnc_ss = ss.source_set() | |
35 | vnc_ss.add(files( | |
36 | 'vnc.c', | |
37 | 'vnc-enc-zlib.c', | |
38 | 'vnc-enc-hextile.c', | |
39 | 'vnc-enc-tight.c', | |
40 | 'vnc-palette.c', | |
41 | 'vnc-enc-zrle.c', | |
42 | 'vnc-auth-vencrypt.c', | |
43 | 'vnc-ws.c', | |
44 | 'vnc-jobs.c', | |
0bf41cab | 45 | 'vnc-clipboard.c', |
2b1ccdf4 | 46 | )) |
e23a13c0 | 47 | vnc_ss.add(zlib, jpeg, gnutls) |
a0b93237 | 48 | vnc_ss.add(when: sasl, if_true: files('vnc-auth-sasl.c')) |
89fd3eab | 49 | system_ss.add_all(when: [vnc, pixman], if_true: vnc_ss) |
de6cd759 | 50 | system_ss.add(when: vnc, if_false: files('vnc-stubs.c')) |
2b1ccdf4 MAL |
51 | |
52 | ui_modules = {} | |
53 | ||
5285e593 | 54 | if curses.found() |
2b1ccdf4 | 55 | curses_ss = ss.source_set() |
289e12db | 56 | curses_ss.add(when: [curses, iconv], if_true: [files('curses.c'), pixman]) |
2b1ccdf4 MAL |
57 | ui_modules += {'curses' : curses_ss} |
58 | endif | |
59 | ||
de6cd759 | 60 | system_ss.add(opengl) |
88b6e618 | 61 | if opengl.found() |
c8263659 | 62 | opengl_ss = ss.source_set() |
41e0bc3d MAL |
63 | opengl_ss.add(gbm, pixman) |
64 | opengl_ss.add(when: [opengl], | |
c8263659 GH |
65 | if_true: files('shader.c', 'console-gl.c', 'egl-helpers.c', 'egl-context.c')) |
66 | ui_modules += {'opengl' : opengl_ss} | |
67 | endif | |
68 | ||
39324b49 | 69 | if opengl.found() |
39d41e85 | 70 | egl_headless_ss = ss.source_set() |
39324b49 MAL |
71 | egl_headless_ss.add(when: [opengl, pixman], |
72 | if_true: [files('egl-headless.c'), gbm]) | |
39d41e85 GH |
73 | ui_modules += {'egl-headless' : egl_headless_ss} |
74 | endif | |
75 | ||
142ca628 MAL |
76 | if dbus_display |
77 | dbus_ss = ss.source_set() | |
6cc5a615 MAL |
78 | env = environment() |
79 | env.set('TARGETOS', targetos) | |
80 | xml = custom_target('dbus-display preprocess', | |
81 | input: 'dbus-display1.xml', | |
82 | output: 'dbus-display1.xml', | |
83 | env: env, | |
84 | command: [xml_pp, '@INPUT@', '@OUTPUT@']) | |
142ca628 MAL |
85 | dbus_display1 = custom_target('dbus-display gdbus-codegen', |
86 | output: ['dbus-display1.h', 'dbus-display1.c'], | |
6cc5a615 | 87 | input: xml, |
7544060e | 88 | command: [gdbus_codegen, '@INPUT@', |
142ca628 MAL |
89 | '--glib-min-required', '2.64', |
90 | '--output-directory', meson.current_build_dir(), | |
91 | '--interface-prefix', 'org.qemu.', | |
92 | '--c-namespace', 'QemuDBus', | |
93 | '--generate-c-code', '@BASENAME@']) | |
1222070e MAL |
94 | dbus_display1_lib = static_library('dbus-display1', dbus_display1, dependencies: gio) |
95 | dbus_display1_dep = declare_dependency(link_with: dbus_display1_lib, include_directories: include_directories('.')) | |
949c084a | 96 | dbus_ss.add(when: [gio, dbus_display1_dep], |
142ca628 | 97 | if_true: [files( |
3e301c8d | 98 | 'dbus-chardev.c', |
ff1a5810 | 99 | 'dbus-clipboard.c', |
142ca628 MAL |
100 | 'dbus-console.c', |
101 | 'dbus-error.c', | |
102 | 'dbus-listener.c', | |
103 | 'dbus.c', | |
949c084a | 104 | ), opengl, gbm, pixman]) |
142ca628 MAL |
105 | ui_modules += {'dbus' : dbus_ss} |
106 | endif | |
107 | ||
1b695471 | 108 | if gtk.found() |
de6cd759 | 109 | system_ss.add(when: 'CONFIG_WIN32', if_true: files('win32-kbd-hook.c')) |
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() |
de6cd759 | 123 | system_ss.add(when: 'CONFIG_WIN32', if_true: files('win32-kbd-hook.c')) |
2b1ccdf4 MAL |
124 | |
125 | sdl_ss = ss.source_set() | |
35be72ba | 126 | sdl_ss.add(sdl, sdl_image, pixman, glib, files( |
2b1ccdf4 MAL |
127 | 'sdl2-2d.c', |
128 | 'sdl2-input.c', | |
129 | 'sdl2.c', | |
130 | )) | |
88b6e618 | 131 | sdl_ss.add(when: opengl, if_true: files('sdl2-gl.c')) |
9d71037f | 132 | sdl_ss.add(when: x11, if_true: files('x_keymap.c')) |
2b1ccdf4 MAL |
133 | ui_modules += {'sdl' : sdl_ss} |
134 | endif | |
135 | ||
3f0a5d55 | 136 | if spice.found() |
cbe5fa11 GH |
137 | spice_core_ss = ss.source_set() |
138 | spice_core_ss.add(spice, pixman, files( | |
139 | 'spice-core.c', | |
140 | 'spice-input.c', | |
141 | 'spice-display.c' | |
142 | )) | |
143 | ui_modules += {'spice-core' : spice_core_ss} | |
cbe5fa11 | 144 | |
c98791eb MAL |
145 | if gio.found() |
146 | spice_ss = ss.source_set() | |
147 | spice_ss.add(spice, gio, pixman, files('spice-app.c')) | |
148 | ui_modules += {'spice-app': spice_ss} | |
149 | endif | |
2b1ccdf4 MAL |
150 | endif |
151 | ||
2d78b56e MAL |
152 | keymaps = [ |
153 | ['atset1', 'qcode'], | |
154 | ['linux', 'qcode'], | |
155 | ['qcode', 'atset1'], | |
156 | ['qcode', 'atset2'], | |
157 | ['qcode', 'atset3'], | |
158 | ['qcode', 'linux'], | |
159 | ['qcode', 'qnum'], | |
160 | ['qcode', 'sun'], | |
161 | ['qnum', 'qcode'], | |
162 | ['usb', 'qcode'], | |
163 | ['win32', 'qcode'], | |
164 | ['x11', 'qcode'], | |
165 | ['xorgevdev', 'qcode'], | |
166 | ['xorgkbd', 'qcode'], | |
167 | ['xorgxquartz', 'qcode'], | |
168 | ['xorgxwin', 'qcode'], | |
169 | ['osx', 'qcode'], | |
170 | ] | |
171 | ||
4113f4cf | 172 | if have_system or xkbcommon.found() |
c53648ab | 173 | keycodemapdb_proj = subproject('keycodemapdb', required: true) |
2d78b56e MAL |
174 | foreach e : keymaps |
175 | output = 'input-keymap-@0@-to-@1@.c.inc'.format(e[0], e[1]) | |
176 | genh += custom_target(output, | |
177 | output: output, | |
178 | capture: true, | |
c53648ab PB |
179 | input: keycodemapdb_proj.get_variable('keymaps_csv'), |
180 | command: [python, keycodemapdb_proj.get_variable('keymap_gen').full_path(), | |
181 | 'code-map', '--lang', 'glib2', | |
2d78b56e | 182 | '--varname', 'qemu_input_map_@0@_to_@1@'.format(e[0], e[1]), |
f4d87ce4 | 183 | '@INPUT0@', e[0], e[1]]) |
2d78b56e MAL |
184 | endforeach |
185 | endif | |
650b5d54 MAL |
186 | |
187 | subdir('shader') | |
2b1ccdf4 | 188 | |
3856873e BR |
189 | if have_system |
190 | subdir('icons') | |
191 | ||
16bf7a33 | 192 | install_data('qemu.desktop', install_dir: qemu_desktopdir) |
3856873e | 193 | endif |
c04c071f | 194 | |
2b1ccdf4 | 195 | modules += {'ui': ui_modules} |