diff options
Diffstat (limited to 'pc-bios/keymaps/meson.build')
-rw-r--r-- | pc-bios/keymaps/meson.build | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build new file mode 100644 index 000000000..44247a12b --- /dev/null +++ b/pc-bios/keymaps/meson.build @@ -0,0 +1,69 @@ +keymaps = { + 'ar': '-l ar', + 'bepo': '-l fr -v dvorak', + 'cz': '-l cz', + 'da': '-l dk', + 'de': '-l de -v nodeadkeys', + 'de-ch': '-l ch', + 'en-gb': '-l gb', + 'en-us': '-l us', + 'es': '-l es', + 'et': '-l et', + 'fi': '-l fi', + 'fo': '-l fo', + 'fr': '-l fr -v nodeadkeys', + 'fr-be': '-l be', + 'fr-ca': '-l ca -v fr', + 'fr-ch': '-l ch -v fr', + 'hr': '-l hr', + 'hu': '-l hu', + 'is': '-l is', + 'it': '-l it', + 'ja': '-l jp -m jp106', + 'lt': '-l lt', + 'lv': '-l lv', + 'mk': '-l mk', + 'nl': '-l nl', + 'no': '-l no', + 'pl': '-l pl', + 'pt': '-l pt', + 'pt-br': '-l br', + 'ru': '-l ru', + 'th': '-l th', + 'tr': '-l tr', +} + +if meson.is_cross_build() or 'CONFIG_XKBCOMMON' not in config_host + native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true) +else + native_qemu_keymap = qemu_keymap +endif +cp = find_program('cp') + +t = [] +foreach km, args: keymaps + if native_qemu_keymap.found() + # generate with qemu-kvm + t += custom_target(km, + build_by_default: true, + output: km, + command: [native_qemu_keymap, '-f', '@OUTPUT@', args.split()], + install: true, + install_dir: qemu_datadir / 'keymaps') + else + # copy from source tree + t += custom_target(km, + build_by_default: true, + input: km, + output: km, + command: [cp, '@INPUT@', '@OUTPUT@'], + install: true, + install_dir: qemu_datadir / 'keymaps') + endif +endforeach + +if native_qemu_keymap.found() + alias_target('update-keymaps', t) +endif + +install_data(['sl', 'sv'], install_dir: qemu_datadir / 'keymaps') |