Martin Roth (martinroth@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@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@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@.*([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