[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