[oe] [PATCH, RFC] Cleanup / update QEMU related checks
Denys Dmytriyenko
denis at denix.org
Mon Mar 1 22:22:52 UTC 2010
On Mon, Mar 01, 2010 at 02:18:28PM -0700, Tom Rini wrote:
> 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.
Heh, I have a local similar change to avoid unnecessary QEMU sanity check,
when not doing binary locale generation. I wanted to push it later, but your
fix looks better :)
> Signed-off-by: Tom Rini <tom_rini at mentor.com>
Acked-by: Denys Dmytriyenko <denis at denix.org>
> 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
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
More information about the Openembedded-devel
mailing list