qemu/pc-bios/keymaps/meson.build
Paolo Bonzini d051d0e14c meson: look up cp and dtrace with find_program()
Avoid that meson prints a "Program xyz found" test once per
custom_target.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-09-13 13:56:26 +02:00

70 lines
1.7 KiB
Meson

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')