[coreboot-gerrit] New patch to review for coreboot: buildgcc: Add check for missing libraries and test for zlib

Martin Roth (martinroth@google.com) gerrit at coreboot.org
Mon Mar 21 03:49:13 CET 2016


Martin Roth (martinroth at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14147

-gerrit

commit b86257b1bcc498f1dfa9aeae9659370b75517617
Author: Martin Roth <martinroth at google.com>
Date:   Sun Mar 20 20:39:04 2016 -0600

    buildgcc: Add check for missing libraries and test for zlib
    
    - Add check_for_library routine to test for missing libraries.
    - Add a check for zlib.
    - Remove 'utility' text from please_install() routine since we can test
    for libraries or utilities now.
    - Remove incorrect 'solution' text from alternate install since I was
    updating that line.
    
    Change-Id: Id5ef28f8bde114cbf4e5a91fc119d42593ea6ab2
    Signed-off-by: Martin Roth <martinroth at google.com>
---
 util/crossgcc/buildgcc | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index 2b586c7..f4f1a57 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -126,9 +126,9 @@ please_install()
 	*) solution="using your OS packaging system" ;;
 	esac
 
-	printf "${RED}ERROR:${red} Missing tool: Please install \'$1\' utility. (eg $solution)${NC}\n" >&2
+	printf "${RED}ERROR:${red} Missing tool: Please install \'$1\'. (eg $solution)${NC}\n" >&2
 	if [ -n "$2" ]; then
-		printf "${RED}ERROR:${red}               or install \'$2\' utility. (eg $solution)${NC}\n" >&2
+		printf "${RED}ERROR:${red}               or install \'$2\'.${NC}\n" >&2
 	fi
 }
 
@@ -188,6 +188,19 @@ searchtool()
 	false
 }
 
+# Run a compile check of the specified library option to see if it's installed
+check_for_library() {
+	local LIBRARY_FLAGS=$1
+	local LIBRARY_PACKAGES=$2
+	local LIBTEST_FILE=.libtest
+
+	echo "int main(int argc, char **argv) { (void) argc; (void) argv; return 0; }" > "${LIBTEST_FILE}.c"
+
+	cc $CFLAGS $LIBRARY_FLAGS "${LIBTEST_FILE}.c" -o "${LIBTEST_FILE}" >/dev/null 2>&1 || \
+		please_install "$LIBRARY_PACKAGES"
+	rm -rf "${LIBTEST_FILE}.c" "${LIBTEST_FILE}"
+}
+
 check_sum() {
 	test -z "$CHECKSUM" || \
 	test "$(cat sum/$1.cksum 2>/dev/null | sed -e 's at .*\([0-9a-f]\{40,\}\).*@\1@')" = \
@@ -690,6 +703,8 @@ searchtool clang "LLVM" "" "g++" > /dev/null
 searchtool wget > /dev/null
 searchtool bzip2 "bzip2," > /dev/null
 
+check_for_library "-lz" "zlib (zlib1g-dev or zlib-devel)"
+
 if [ "$HALT_FOR_TOOLS" -ne 0 ]; then
 	exit 1
 fi



More information about the coreboot-gerrit mailing list