Merge remote-tracking branch 'remotes/berrange-gitlab/tags/misc-fixes-pull-request...
[qemu.git] / pc-bios / keymaps / meson.build
1 keymaps = {
2   'ar': '-l ar',
3   'bepo': '-l fr -v dvorak',
4   'cz': '-l cz',
5   'da': '-l dk',
6   'de': '-l de -v nodeadkeys',
7   'de-ch': '-l ch',
8   'en-gb': '-l gb',
9   'en-us': '-l us',
10   'es': '-l es',
11   'et': '-l et',
12   'fi': '-l fi',
13   'fo': '-l fo',
14   'fr': '-l fr -v nodeadkeys',
15   'fr-be': '-l be',
16   'fr-ca': '-l ca -v fr',
17   'fr-ch': '-l ch -v fr',
18   'hr': '-l hr',
19   'hu': '-l hu',
20   'is': '-l is',
21   'it': '-l it',
22   'ja': '-l jp -m jp106',
23   'lt': '-l lt',
24   'lv': '-l lv',
25   'mk': '-l mk',
26   'nl': '-l nl',
27   'no': '-l no',
28   'pl': '-l pl',
29   'pt': '-l pt',
30   'pt-br': '-l br',
31   'ru': '-l ru',
32   'th': '-l th',
33   'tr': '-l tr',
34 }
35
36 if meson.is_cross_build() or 'CONFIG_XKBCOMMON' not in config_host
37   native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true)
38 else
39   native_qemu_keymap = qemu_keymap
40 endif
41
42 t = []
43 foreach km, args: keymaps
44   if native_qemu_keymap.found()
45     # generate with qemu-kvm
46     t += custom_target(km,
47                        build_by_default: true,
48                        output: km,
49                        command: [native_qemu_keymap, '-f', '@OUTPUT@', args.split()],
50                        install: true,
51                        install_dir: qemu_datadir / 'keymaps')
52   else
53     # copy from source tree
54     t += custom_target(km,
55                        build_by_default: true,
56                        input: km,
57                        output: km,
58                        command: ['cp', '@INPUT@', '@OUTPUT@'],
59                        install: true,
60                        install_dir: qemu_datadir / 'keymaps')
61   endif
62 endforeach
63
64 if native_qemu_keymap.found()
65   alias_target('update-keymaps', t)
66 endif
67
68 install_data(['sl', 'sv'], install_dir: qemu_datadir / 'keymaps')