diff options
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb b/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb index 41617a6b75..18f1892884 100644 --- a/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb +++ b/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb | |||
| @@ -9,7 +9,33 @@ do_install () { | |||
| 9 | install -d ${D}${bindir_crossscripts}/ | 9 | install -d ${D}${bindir_crossscripts}/ |
| 10 | 10 | ||
| 11 | echo "#!/bin/sh" > ${D}${bindir_crossscripts}/qemuwrapper | 11 | echo "#!/bin/sh" > ${D}${bindir_crossscripts}/qemuwrapper |
| 12 | echo exec env ${@qemu_target_binary(d)} \"\$@\" >> ${D}${bindir_crossscripts}/qemuwrapper | 12 | qemu_binary=${@qemu_target_binary(d)} |
| 13 | echo "$qemu_binary \"\$@\"" >> ${D}${bindir_crossscripts}/qemuwrapper | ||
| 14 | fallback_qemu_bin= | ||
| 15 | case $qemu_binary in | ||
| 16 | "qemu-i386") | ||
| 17 | fallback_qemu_bin=qemu-x86_64 | ||
| 18 | ;; | ||
| 19 | "qemu-x86_64") | ||
| 20 | fallback_qemu_bin=qemu-i386 | ||
| 21 | ;; | ||
| 22 | *) | ||
| 23 | ;; | ||
| 24 | esac | ||
| 25 | |||
| 26 | if [ -n "$fallback_qemu_bin" ]; then | ||
| 27 | |||
| 28 | cat >> ${D}${bindir_crossscripts}/qemuwrapper << EOF | ||
| 29 | rc=\$? | ||
| 30 | if [ \$rc = 255 ]; then | ||
| 31 | $fallback_qemu_bin "\$@" | ||
| 32 | rc=\$? | ||
| 33 | fi | ||
| 34 | exit \$rc | ||
| 35 | EOF | ||
| 36 | |||
| 37 | fi | ||
| 38 | |||
| 13 | chmod +x ${D}${bindir_crossscripts}/qemuwrapper | 39 | chmod +x ${D}${bindir_crossscripts}/qemuwrapper |
| 14 | } | 40 | } |
| 15 | 41 | ||
