diff options
Diffstat (limited to 'util/crossgcc/buildgcc')
-rwxr-xr-x | util/crossgcc/buildgcc | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc index a29a338d9c..02a7d82cfa 100755 --- a/util/crossgcc/buildgcc +++ b/util/crossgcc/buildgcc @@ -125,6 +125,26 @@ searchtool() fi fi fi + if [ "`echo $1 | cut -b -3`" = "sha" ]; then + if [ $UNAME = "FreeBSD" ]; then + if test -x "`which sha1 2>/dev/null`"; then + echo sha1 + return + fi + fi + if [ $UNAME = "NetBSD" ]; then + if test -x "`which cksum 2>/dev/null`"; then + echo cksum -a `echo $1 | sed -e 's,sum,,'` + return + fi + fi + if [ $UNAME = "Darwin" ]; then + if test -x "`which openssl 2>/dev/null`"; then + echo openssl `echo $1 | sed -e 's,sum,,'` + return + fi + fi + fi printf "${RED}ERROR:${red} Missing tool: Please install $1 (eg using your OS packaging system)${NC}\n" >&2 [ -z "$3" ] && exit 1 false @@ -151,6 +171,10 @@ wait_for_build() { true } +SHA1SUM=`searchtool sha1sum` +SHA512SUM=`searchtool sha512sum` +CHECKSUM=$SHA1SUM + cleanup() { printf "Cleaning up temporary files... " @@ -295,10 +319,25 @@ for ARCHIVE in $GMP_ARCHIVE $MPFR_ARCHIVE $MPC_ARCHIVE $LIBELF_ARCHIVE \ $IASL_ARCHIVE $PYTHON_ARCHIVE $EXPAT_ARCHIVE; do FILE=`basename $ARCHIVE` printf " * $FILE " - test -f tarballs/$FILE && printf "(cached)" || ( + + ##create the sum + #test -f sum/$FILE.cksum || ( + # $CHECKSUM tarballs/$FILE > sum/$FILE.cksum + # continue + #) + + test -f tarballs/$FILE && \ + (test -z "$CHECKSUM" || \ + test "`cat sum/$FILE.cksum 2>/dev/null | sed -e 's,.*\([0-9a-f]\{40\}\).*,\1,'`" = "`$CHECKSUM tarballs/$FILE 2>/dev/null | sed -e 's,.*\([0-9a-f]\{40\}\).*,\1,'`" ) && \ + printf "(cached)" || ( printf "(downloading)" + rm -f tarballs/$FILE cd tarballs wget --no-check-certificate -q $ARCHIVE + cd .. + test ! -f sum/$FILE.cksum && test -f tarballs/$FILE && \ + (test -z "$CHECKSUM" || $CHECKSUM tarballs/$FILE > sum/$FILE.cksum ) && \ + printf "(checksum created. ${RED}Note. Please upload sum/$FILE.cksum if the corresponding archive is upgraded.${NC})" ) test -f tarballs/$FILE || \ printf "\n${RED}Failed to download $FILE.${NC}\n" |