xref: /openbmc/qemu/pc-bios/keymaps/meson.build (revision b4b9a0e3)
1keymaps = {
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
36if meson.is_cross_build() or 'CONFIG_XKBCOMMON' not in config_host
37  native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true)
38else
39  native_qemu_keymap = qemu_keymap
40endif
41cp = find_program('cp')
42
43t = []
44foreach km, args: keymaps
45  if native_qemu_keymap.found()
46    # generate with qemu-kvm
47    t += custom_target(km,
48                       build_by_default: true,
49                       output: km,
50                       command: [native_qemu_keymap, '-f', '@OUTPUT@', args.split()],
51                       install: true,
52                       install_dir: qemu_datadir / 'keymaps')
53  else
54    # copy from source tree
55    t += custom_target(km,
56                       build_by_default: true,
57                       input: km,
58                       output: km,
59                       command: [cp, '@INPUT@', '@OUTPUT@'],
60                       install: true,
61                       install_dir: qemu_datadir / 'keymaps')
62  endif
63endforeach
64
65if native_qemu_keymap.found()
66  alias_target('update-keymaps', t)
67endif
68
69install_data(['sl', 'sv'], install_dir: qemu_datadir / 'keymaps')
70