summaryrefslogtreecommitdiff
path: root/classes/qemu.bbclass
diff options
context:
space:
mode:
authorJesse Gilles <jgilles@multitech.com>2010-04-21 11:11:52 -0500
committerJesse Gilles <jgilles@multitech.com>2010-04-26 11:36:00 -0500
commit746d3f145c5d890aa63e00a8261ee5934733eaac (patch)
treec2e5031d32e60335094b01efe804b4445337bcc9 /classes/qemu.bbclass
parent2b0109cdd8be5a58d230db249da51abf617d2ca0 (diff)
qemu: Move gcc version check, qemu-TARGET logic into qemu.bbclass
Move the logic to determine what qemu-TARGET to run into qemu.bbclass so we can check for the right binary in sanity.bbclass. This code was duplicated by glibc-package and eglibc-package anyhow and with the new fn we can clean up the usage in these classes a bit. Now that we have a class for qemu stuff, and the gcc check is just for qemu, move it there. Conflicts: classes/base.bbclass classes/sanity.bbclass
Diffstat (limited to 'classes/qemu.bbclass')
-rw-r--r--classes/qemu.bbclass27
1 files changed, 27 insertions, 0 deletions
diff --git a/classes/qemu.bbclass b/classes/qemu.bbclass
new file mode 100644
index 0000000000..40a3542450
--- /dev/null
+++ b/classes/qemu.bbclass
@@ -0,0 +1,27 @@
+#
+# This class contains functions for recipes that need QEMU or test for its
+# existance.
+#
+
+def check_gcc3(data):
+ # Used by qemu to make sure we have a workable gcc-3.x.
+ # Start by checking for the program name as we build it as there
+ # are some distribtuion provided gcc-3.x's that will not work.
+ gcc3_versions = 'gcc-3.4.6 gcc-3.4.4 gcc34 gcc-3.4 gcc-3.4.7 gcc-3.3 gcc33 gcc-3.3.6 gcc-3.2 gcc32'
+
+ for gcc3 in gcc3_versions.split():
+ if check_app_exists(gcc3, data):
+ return gcc3
+
+ return False
+
+def qemu_target_binary(data):
+ import bb
+
+ target_arch = bb.data.getVar("TARGET_ARCH", data, 1)
+ if target_arch in ("i486", "i586", "i686"):
+ target_arch = "i386"
+ elif target_arch == "powerpc":
+ target_arch = "ppc"
+
+ return "qemu-" + target_arch