diff options
-rwxr-xr-x | configure | 9 | ||||
-rw-r--r-- | pc-bios/keymaps/meson.build | 28 |
2 files changed, 28 insertions, 9 deletions
@@ -8065,6 +8065,9 @@ fi # so the build tree will be missing the link back to the new file, and # tests might fail. Prefer to keep the relevant files in their own # directory and symlink the directory instead. +# UNLINK is used to remove symlinks from older development versions +# that might get into the way when doing "git update" without doing +# a "make distclean" in between. DIRS="tests tests/tcg tests/tcg/lm32 tests/qapi-schema tests/qtest/libqos" DIRS="$DIRS tests/qtest tests/qemu-iotests tests/vm tests/fp tests/qgraph" DIRS="$DIRS docs docs/interop fsdev scsi" @@ -8081,6 +8084,7 @@ LINKS="$LINKS .gdbinit scripts" # scripts needed by relative path in .gdbinit LINKS="$LINKS tests/acceptance tests/data" LINKS="$LINKS tests/qemu-iotests/check" LINKS="$LINKS python" +UNLINK="pc-bios/keymaps" for bios_file in \ $source_path/pc-bios/*.bin \ $source_path/pc-bios/*.elf \ @@ -8101,6 +8105,11 @@ for f in $LINKS ; do symlink "$source_path/$f" "$f" fi done +for f in $UNLINK ; do + if [ -L "$f" ]; then + rm -f "$f" + fi +done (for i in $cross_cc_vars; do export $i diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build index bbac83ece3..2e2e0dfa3b 100644 --- a/pc-bios/keymaps/meson.build +++ b/pc-bios/keymaps/meson.build @@ -38,19 +38,29 @@ if meson.is_cross_build() or 'CONFIG_XKBCOMMON' not in config_host else native_qemu_keymap = qemu_keymap endif + t = [] foreach km, args: keymaps - t += custom_target(km, - build_by_default: true, - output: km, - command: [native_qemu_keymap, '-f', '@OUTPUT@', args.split()], - install_dir: qemu_datadir / '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_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_dir: qemu_datadir / 'keymaps') + endif endforeach -if t.length() > 0 + +if native_qemu_keymap.found() alias_target('update-keymaps', t) -else - # install from the source tree - install_data(keymaps.keys(), install_dir: qemu_datadir / 'keymaps') endif install_data(['sl', 'sv'], install_dir: qemu_datadir / 'keymaps') |