[coreboot] New patch to review for coreboot: 99a57ad Improve parsing of --cpu parameter in abuild script.

Raymond Danks (ray.danks@se-eng.com) gerrit at coreboot.org
Thu May 31 00:11:20 CEST 2012


Raymond Danks (ray.danks at se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1068

-gerrit

commit 99a57ad9cf6a565e9343c4bdd43de4ed34111b66
Author: Raymond Danks <ray.danks at se-eng.com>
Date:   Wed May 30 16:03:48 2012 -0600

    Improve parsing of --cpu parameter in abuild script.
    
    * -c "" need never be tested if getopt params are handled; fail abuild script when getopt parsing fails
    * use expr to resolve numeric test fails with -c max
    * cpus variable may be being passed in the environment.  Don't overwrite MAKEFLAGS if it is not.
    
    Change-Id: I96236ef719a1a9f942b8e15bfcf015d60068e58a
    Signed-off-by: Raymond Danks <ray.danks at se-eng.com>
---
 util/abuild/abuild |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/util/abuild/abuild b/util/abuild/abuild
index 65d9cea..dfd520f 100755
--- a/util/abuild/abuild
+++ b/util/abuild/abuild
@@ -527,7 +527,7 @@ cmdline="$* -c 1"
 getoptbrand="`getopt -V`"
 if [ "${getoptbrand:0:6}" == "getopt" ]; then
 	# Detected GNU getopt that supports long options.
-	args=`getopt -l version,verbose,help,all,target:,payloads:,test,cpus:,silent,junit,xml,config,loglevel:,remove,prefix:,update,nostackprotect,scan-build,ccache,blobs -o Vvhat:p:Tc:sJxCl:rP:uyB -- "$@"`
+	args=`getopt -l version,verbose,help,all,target:,payloads:,test,cpus:,silent,junit,xml,config,loglevel:,remove,prefix:,update,nostackprotect,scan-build,ccache,blobs -o Vvhat:p:Tc:sJxCl:rP:uyB -- "$@"` || exit 1
 	eval set -- $args
 else
 	# Detected non-GNU getopt
@@ -556,10 +556,9 @@ while true ; do
 		-T|--test)      shift; hwtest=true;;
 		-c|--cpus)	shift
 			export MAKEFLAGS="-j $1"
-			test "$MAKEFLAGS" == "-j max" && export MAKEFLAGS="-j"
-			test "$1" == "" && cpuconfig="in parallel"
+			test "$MAKEFLAGS" == "-j max" && export MAKEFLAGS="-j" && cpuconfig="in parallel"
 			test "$1" == "1" && cpuconfig="on 1 cpu"
-			test 0$1 -gt 1 && cpuconfig="on $1 cpus in parallel"
+			expr "$1" : '-\?[0-9]\+$' > /dev/null && test 0$1 -gt 1 && cpuconfig="on $1 cpus in parallel"
 			shift;;
 		-s|--silent)    shift; silent="-s";;
 		-ns|--nostackprotect) shift; stackprotect=true;;
@@ -607,12 +606,12 @@ USE_XARGS=0
 if [ "$cpus" != "1" ]; then
 	if [ "$target" = "" ]; then
 		# Test if xargs supports the non-standard -P flag
-		# FIXME: disabled until we managed to eliminate all the make(1) quirks
-		echo | xargs -P 0$cpus -n 1 echo 2>/dev/null >/dev/null  # && USE_XARGS=1
+		echo | xargs -P 0$cpus -n 1 echo 2>/dev/null >/dev/null && USE_XARGS=1
 	fi
 fi
 
 if [ "$USE_XARGS" = "0" ]; then
+test "$MAKEFLAGS" == "" && test "$cpus" != "" && export MAKEFLAGS="-j $cpus"
 build_all_targets()
 {
 	for VENDOR in $( vendors ); do




More information about the coreboot mailing list