buildgcc: Print out all missing tools then halt
Instead of printing out a single tool that needs to be installed
each time buildgcc is run, print out the entire list of tools
to be installed, then halt.
Change-Id: I7761760eef3c45ba371f882a4f987408945bb3e5
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/12856
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index 8e97439..c665412 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -92,6 +92,7 @@
NC='\033[0m' # No Color
UNAME=$(uname | grep -iq cygwin && echo Cygwin || uname)
+HALT_FOR_TOOLS=0
normalize_dirs()
{
@@ -106,6 +107,7 @@
please_install()
{
+ HALT_FOR_TOOLS=1
test -r /etc/os-release && . /etc/os-release
case "$ID_LIKE" in
debian) solution="sudo apt-get install $1" ;;
@@ -171,7 +173,7 @@
fi
fi
- [ -z "$3" ] && please_install $1 $4 && exit 1
+ [ -z "$3" ] && please_install $1 $4
false
}
@@ -651,6 +653,10 @@
searchtool wget > /dev/null
searchtool bzip2 "bzip2," > /dev/null
+if [ "$HALT_FOR_TOOLS" -ne 0 ]; then
+ exit 1
+fi
+
# This initial cleanup is useful when updating the toolchain script.
if [ "$clean" = "1" ]; then