]>
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', | |
5011d262 | 17 | 'ui-hmp-cmds.c', |
9949b06e | 18 | 'ui-qmp-cmds.c', |
f6ef71bd | 19 | 'util.c', |
2b1ccdf4 | 20 | )) |
99997823 MAL |
21 | if dbus_display |
22 | softmmu_ss.add(files('dbus-module.c')) | |
23 | endif | |
2e31e210 | 24 | softmmu_ss.add([spice_headers, files('spice-module.c')]) |
de74a22c | 25 | softmmu_ss.add(when: spice_protocol, if_true: files('vdagent.c')) |
2b1ccdf4 | 26 | |
b956577a PMD |
27 | softmmu_ss.add(when: 'CONFIG_LINUX', if_true: files( |
28 | 'input-linux.c', | |
29 | 'udmabuf.c', | |
30 | )) | |
b4e312e9 | 31 | softmmu_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 PB |
47 | vnc_ss.add(when: sasl, if_true: files('vnc-auth-sasl.c')) |
48 | softmmu_ss.add_all(when: vnc, if_true: vnc_ss) | |
49 | softmmu_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 | ||
88b6e618 PB |
59 | softmmu_ss.add(opengl) |
60 | if opengl.found() | |
c8263659 | 61 | opengl_ss = ss.source_set() |
bc6a3565 | 62 | opengl_ss.add(gbm) |
88b6e618 | 63 | opengl_ss.add(when: [opengl, pixman], |
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 | ||
88b6e618 | 68 | if opengl.found() and gbm.found() |
39d41e85 | 69 | egl_headless_ss = ss.source_set() |
88b6e618 | 70 | egl_headless_ss.add(when: [opengl, gbm, pixman], |
39d41e85 GH |
71 | if_true: files('egl-headless.c')) |
72 | ui_modules += {'egl-headless' : egl_headless_ss} | |
73 | endif | |
74 | ||
142ca628 MAL |
75 | if dbus_display |
76 | dbus_ss = ss.source_set() | |
77 | dbus_display1 = custom_target('dbus-display gdbus-codegen', | |
78 | output: ['dbus-display1.h', 'dbus-display1.c'], | |
79 | input: files('dbus-display1.xml'), | |
7544060e | 80 | command: [gdbus_codegen, '@INPUT@', |
142ca628 MAL |
81 | '--glib-min-required', '2.64', |
82 | '--output-directory', meson.current_build_dir(), | |
83 | '--interface-prefix', 'org.qemu.', | |
84 | '--c-namespace', 'QemuDBus', | |
85 | '--generate-c-code', '@BASENAME@']) | |
1222070e MAL |
86 | dbus_display1_lib = static_library('dbus-display1', dbus_display1, dependencies: gio) |
87 | dbus_display1_dep = declare_dependency(link_with: dbus_display1_lib, include_directories: include_directories('.')) | |
84a0a2ef | 88 | dbus_ss.add(when: [gio, pixman, dbus_display1_dep], |
142ca628 | 89 | if_true: [files( |
3e301c8d | 90 | 'dbus-chardev.c', |
ff1a5810 | 91 | 'dbus-clipboard.c', |
142ca628 MAL |
92 | 'dbus-console.c', |
93 | 'dbus-error.c', | |
94 | 'dbus-listener.c', | |
95 | 'dbus.c', | |
84a0a2ef | 96 | ), opengl, gbm]) |
142ca628 MAL |
97 | ui_modules += {'dbus' : dbus_ss} |
98 | endif | |
99 | ||
1b695471 | 100 | if gtk.found() |
2b1ccdf4 MAL |
101 | softmmu_ss.add(when: 'CONFIG_WIN32', if_true: files('win32-kbd-hook.c')) |
102 | ||
103 | gtk_ss = ss.source_set() | |
29e0bfff CF |
104 | gtk_ss.add(gtk, vte, pixman, files('gtk.c')) |
105 | if have_gtk_clipboard | |
106 | gtk_ss.add(files('gtk-clipboard.c')) | |
107 | endif | |
9d71037f | 108 | gtk_ss.add(when: x11, if_true: files('x_keymap.c')) |
88b6e618 PB |
109 | gtk_ss.add(when: opengl, if_true: files('gtk-gl-area.c')) |
110 | gtk_ss.add(when: [x11, opengl], if_true: files('gtk-egl.c')) | |
2b1ccdf4 MAL |
111 | ui_modules += {'gtk' : gtk_ss} |
112 | endif | |
113 | ||
35be72ba | 114 | if sdl.found() |
2b1ccdf4 MAL |
115 | softmmu_ss.add(when: 'CONFIG_WIN32', if_true: files('win32-kbd-hook.c')) |
116 | ||
117 | sdl_ss = ss.source_set() | |
35be72ba | 118 | sdl_ss.add(sdl, sdl_image, pixman, glib, files( |
2b1ccdf4 MAL |
119 | 'sdl2-2d.c', |
120 | 'sdl2-input.c', | |
121 | 'sdl2.c', | |
122 | )) | |
88b6e618 | 123 | sdl_ss.add(when: opengl, if_true: files('sdl2-gl.c')) |
9d71037f | 124 | sdl_ss.add(when: x11, if_true: files('x_keymap.c')) |
2b1ccdf4 MAL |
125 | ui_modules += {'sdl' : sdl_ss} |
126 | endif | |
127 | ||
3f0a5d55 | 128 | if spice.found() |
cbe5fa11 GH |
129 | spice_core_ss = ss.source_set() |
130 | spice_core_ss.add(spice, pixman, files( | |
131 | 'spice-core.c', | |
132 | 'spice-input.c', | |
133 | 'spice-display.c' | |
134 | )) | |
135 | ui_modules += {'spice-core' : spice_core_ss} | |
136 | endif | |
137 | ||
7544060e | 138 | if spice.found() and gio.found() |
2b1ccdf4 | 139 | spice_ss = ss.source_set() |
289e12db | 140 | spice_ss.add(spice, gio, pixman, files('spice-app.c')) |
2b1ccdf4 MAL |
141 | ui_modules += {'spice-app': spice_ss} |
142 | endif | |
143 | ||
2d78b56e MAL |
144 | keymaps = [ |
145 | ['atset1', 'qcode'], | |
146 | ['linux', 'qcode'], | |
147 | ['qcode', 'atset1'], | |
148 | ['qcode', 'atset2'], | |
149 | ['qcode', 'atset3'], | |
150 | ['qcode', 'linux'], | |
151 | ['qcode', 'qnum'], | |
152 | ['qcode', 'sun'], | |
153 | ['qnum', 'qcode'], | |
154 | ['usb', 'qcode'], | |
155 | ['win32', 'qcode'], | |
156 | ['x11', 'qcode'], | |
157 | ['xorgevdev', 'qcode'], | |
158 | ['xorgkbd', 'qcode'], | |
159 | ['xorgxquartz', 'qcode'], | |
160 | ['xorgxwin', 'qcode'], | |
161 | ['osx', 'qcode'], | |
162 | ] | |
163 | ||
4113f4cf | 164 | if have_system or xkbcommon.found() |
2d78b56e MAL |
165 | foreach e : keymaps |
166 | output = 'input-keymap-@0@-to-@1@.c.inc'.format(e[0], e[1]) | |
167 | genh += custom_target(output, | |
168 | output: output, | |
169 | capture: true, | |
2d78b56e | 170 | input: files('keycodemapdb/data/keymaps.csv'), |
edc54640 | 171 | command: [python, files('keycodemapdb/tools/keymap-gen'), |
f4d87ce4 | 172 | 'code-map', |
2d78b56e MAL |
173 | '--lang', 'glib2', |
174 | '--varname', 'qemu_input_map_@0@_to_@1@'.format(e[0], e[1]), | |
f4d87ce4 | 175 | '@INPUT0@', e[0], e[1]]) |
2d78b56e MAL |
176 | endforeach |
177 | endif | |
650b5d54 MAL |
178 | |
179 | subdir('shader') | |
2b1ccdf4 | 180 | |
3856873e BR |
181 | if have_system |
182 | subdir('icons') | |
183 | ||
16bf7a33 | 184 | install_data('qemu.desktop', install_dir: qemu_desktopdir) |
3856873e | 185 | endif |
c04c071f | 186 | |
2b1ccdf4 | 187 | modules += {'ui': ui_modules} |