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