[OE-core] [PATCH V3 2/2] qemu.inc: Add sh4, sh4eb, mips64, mips64el targets
Khem Raj
raj.khem at gmail.com
Fri Mar 25 23:36:05 UTC 2011
In order to leavarage more emulations in oe-core
these targets needs to be built as well
Introduce new variable QEMU_TARGETS which
can be set by user to decide what all machine support
should be build into qemu-native
This one works adding same to qemu.inc does not
parse presumably a bitbake problem.
Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
meta/recipes-devtools/qemu/qemu-targets.inc | 18 ++++++++++++++++++
meta/recipes-devtools/qemu/qemu.inc | 12 +++++++++---
2 files changed, 27 insertions(+), 3 deletions(-)
create mode 100644 meta/recipes-devtools/qemu/qemu-targets.inc
diff --git a/meta/recipes-devtools/qemu/qemu-targets.inc b/meta/recipes-devtools/qemu/qemu-targets.inc
new file mode 100644
index 0000000..550a7fe
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu-targets.inc
@@ -0,0 +1,18 @@
+# possible arch values are arm mips mipsel mips64 mips64el ppc ppc64 ppc64abi32
+# ppcemb armeb alpha sparc32plus i386 x86_64 cris m68k microblaze sparc sparc32
+# sparc32plus
+
+def get_qemu_target_list(d):
+ import bb
+ archs = bb.data.getVar('QEMU_TARGETS', d, True).split()
+ targets = ""
+ for arch in ['mips64', 'mips64el', 'ppcemb']:
+ if arch in archs:
+ targets += arch + "-softmmu,"
+ archs.remove(arch)
+ for arch in ['armeb', 'alpha', 'ppc64abi32', 'sparc32plus']:
+ if arch in archs:
+ targets += arch + "-linux-user,"
+ archs.remove(arch)
+ return targets + ''.join([arch + "-linux-user" + "," + arch + "-softmmu" + "," for arch in archs]).rstrip(',')
+
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index f41b49c..0367f50 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -3,8 +3,14 @@ HOMEPAGE = "http://qemu.org"
LICENSE = "GPLv2 & LGPLv2.1"
DEPENDS = "zlib alsa-lib"
-EXTRA_OECONF = "--target-list=arm-linux-user,arm-softmmu,i386-linux-user,i386-softmmu,x86_64-linux-user,x86_64-softmmu,mips-linux-user,mips-softmmu,ppc-linux-user,ppc-softmmu,mipsel-linux-user --disable-werror --disable-vnc-tls --enable-kvm --audio-drv-list=oss,alsa --audio-card-list=ac97,es1370"
-#EXTRA_OECONF += "--disable-sdl"
+# QEMU_TARGETS is overridable variable
+QEMU_TARGETS ?= "arm i386 mips mipsel mips64 mips64el ppc sh4 x86_64"
+
+require qemu-targets.inc
+
+EXTRA_OECONF += "--target-list=${@get_qemu_target_list(d)} --disable-werror --disable-vnc-tls --enable-kvm --audio-drv-list=oss,alsa --audio-card-list=ac97,es1370"
+
+#EXTRA_OECOF += "--disable-sdl"
inherit autotools
@@ -34,6 +40,6 @@ do_configure() {
SRC_URI_append_virtclass-nativesdk = " file://glflags.patch;patch=1"
DEPENDS_virtclass-nativesdk = "zlib-nativesdk libsdl-nativesdk qemugl-nativesdk"
RDEPENDS_virtclass-nativesdk = "libsdl-nativesdk"
-EXTRA_OECONF_virtclass-nativesdk = "--target-list=arm-linux-user,arm-softmmu,i386-softmmu,x86_64-softmmu,mips-linux-user,mipsel-linux-user,mips-softmmu,ppc-softmmu --disable-vnc-tls --cross-prefix=${TARGET_PREFIX}"
+EXTRA_OECONF_virtclass-nativesdk += "--target-list=${@get_qemu_target_list(d)} --disable-werror --disable-vnc-tls --cross-prefix=${TARGET_PREFIX}"
BBCLASSEXTEND = "native nativesdk"
--
1.7.4.1
More information about the Openembedded-core
mailing list