meson: fix keymaps without qemu-keymap
[qemu/ar7.git] / pc-bios / keymaps / meson.build
blob2e2e0dfa3b79af3ff97c9ee03df284fe49c8a3d8
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',
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
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_dir: qemu_datadir / 'keymaps')
51   else
52     # copy from source tree
53     t += custom_target(km,
54                        build_by_default: true,
55                        input: km,
56                        output: km,
57                        command: ['cp', '@INPUT@', '@OUTPUT@'],
58                        install_dir: qemu_datadir / 'keymaps')
59   endif
60 endforeach
62 if native_qemu_keymap.found()
63   alias_target('update-keymaps', t)
64 endif
66 install_data(['sl', 'sv'], install_dir: qemu_datadir / 'keymaps')