[oe] [PATCH, RFC] Cleanup / update QEMU related checks
Tom Rini
tom_rini at mentor.com
Mon Mar 1 21:18:28 UTC 2010
First, we should be performing qemu-native related checks not on ARM,
but on ENABLE_BINARY_LOCALE_GENERATION (for both the ARM but no
generation and not ARM but generation) cases. This clarifies what we do
in the first sub-check (aside: When can qemu-0.9.x die?). This changes
the assume provided check to make sure that at least 'qemu' exists
(afaict this will exist for distribution packages as well as from-source
ones where we might not have qemu-arm, if the developer isn't doing arm)
using the standard check. Finally (how I wrote it, not how it's in the
patch), correct (grammar and content) the comment about what GCC
versions are allowed. My fault initially for not noticing the gcc
3.3.x / 3.2.x stuff in the list.
Signed-off-by: Tom Rini <tom_rini at mentor.com>
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 990e75e..eeff262 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -1333,16 +1333,15 @@ def check_app_exists(app, d):
return len(which(path, app)) != 0
def check_gcc3(data):
- # Primarly used by qemu to make sure we have a workable gcc-3.4.x.
- # Start by checking for the program name as we build it, was not
- # all host-provided gcc-3.4's will work.
-
+ # Primarly 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
# Patch handling
diff --git a/classes/sanity.bbclass b/classes/sanity.bbclass
index b66c9a9..a78e8ed 100644
--- a/classes/sanity.bbclass
+++ b/classes/sanity.bbclass
@@ -83,8 +83,10 @@ def check_sanity(e):
required_utilities = "patch help2man diffstat texi2html makeinfo cvs
svn bzip2 tar gzip gawk md5sum"
- if data.getVar('TARGET_ARCH', e.data, True) == "arm":
- # qemu-native needs gcc 3.x
+ # If we'll be running qemu, perform some sanity checks
+ if data.getVar('ENABLE_BINARY_LOCALE_GENERATION', e.data, True):
+ # Some versions of qemu-native needs gcc 3.x. Do a special
+ # check here to allow for host 'gcc' is 3.x.
if "qemu-native" not in assume_provided and "gcc3-native" in
assume_provided:
gcc_version = commands.getoutput("${BUILD_PREFIX}gcc --version |
head -n 1 | cut -f 3 -d ' '")
@@ -93,8 +95,7 @@ def check_sanity(e):
missing = missing + "gcc-3.x (needed for qemu-native),"
if "qemu-native" in assume_provided:
- if not check_app_exists("qemu-arm", e.data):
- messages = messages + "qemu-native was in ASSUME_PROVIDED but the
QEMU binaries (qemu-arm) can't be found in PATH"
+ required_utilities += "qemu"
try:
if os.path.exists("/proc/sys/vm/mmap_min_addr"):
--
Tom Rini <tom_rini at mentor.com>
Mentor Graphics Corporation
More information about the Openembedded-devel
mailing list