summaryrefslogtreecommitdiff
path: root/util/crossgcc/buildgcc
diff options
context:
space:
mode:
Diffstat (limited to 'util/crossgcc/buildgcc')
-rwxr-xr-xutil/crossgcc/buildgcc13
1 files changed, 9 insertions, 4 deletions
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index 33c2226f81..423d769047 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -243,10 +243,13 @@ unpack_and_patch() {
printf " * $(basename $archive)\n"
FLAGS=zxf
suffix=$(echo $archive | sed 's,.*\.,,')
- test "$suffix" = "gz" && FLAGS=zxf
- test "$suffix" = "bz2" && FLAGS=jxf
- test "$suffix" = "xz" && FLAGS="--xz -xf"
- test "$suffix" = "lzma" && FLAGS="--lzma -xf"
+ if [ "$suffix" = "gz" ] && [ -n "$PIGZ" ]; then FLAGS="-I pigz -xf"
+ elif [ "$suffix" = "gz" ]; then FLAGS=zxf
+ elif [ "$suffix" = "bz2" ] && [ -n "$LBZIP2" ]; then FLAGS="-I lbzip2 -xf"
+ elif [ "$suffix" = "bz2" ]; then FLAGS=jxf
+ elif [ "$suffix" = "xz" ]; then FLAGS="--xz -xf"
+ elif [ "$suffix" = "lzma" ]; then FLAGS="--lzma -xf"
+ fi
$TAR $FLAGS tarballs/$(basename $archive)
for patch in patches/${dir}_*.patch; do
test -r $patch || continue
@@ -675,6 +678,8 @@ MAKE=$(searchtool make) || exit $?
SHA1SUM=$(searchtool sha1sum)
SHA512SUM=$(searchtool sha512sum)
CHECKSUM=$SHA1SUM
+LBZIP2=$(searchtool lbzip2 "" nofail)
+PIGZ=$(searchtool pigz "" nofail)
searchtool m4 > /dev/null
searchtool bison > /dev/null