diff options
-rwxr-xr-x | util/crossgcc/buildgcc | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc index 427af4d5f3..2ff6234f2e 100755 --- a/util/crossgcc/buildgcc +++ b/util/crossgcc/buildgcc @@ -32,8 +32,8 @@ MPFR_VERSION=2.4.2 GCC_VERSION=4.4.2 BINUTILS_VERSION=2.20 GDB_VERSION=7.0 -W32API_VERSION=3.13 -MINGWRT_VERSION=3.16 +W32API_VERSION=3.14 +MINGWRT_VERSION=3.18 # archive locations GMP_ARCHIVE="ftp://ftp.gmplib.org/pub/gmp-${GMP_VERSION}/gmp-${GMP_VERSION}.tar.bz2" @@ -41,7 +41,7 @@ MPFR_ARCHIVE="http://www.mpfr.org/mpfr-${MPFR_VERSION}/mpfr-${MPFR_VERSION}.tar. GCC_ARCHIVE="ftp://ftp.gwdg.de/pub/gnu/ftp/gnu/gcc/gcc-${GCC_VERSION}/gcc-core-${GCC_VERSION}.tar.bz2" BINUTILS_ARCHIVE="http://ftp.gnu.org/gnu/binutils/binutils-${BINUTILS_VERSION}.tar.bz2" GDB_ARCHIVE="http://ftp.gnu.org/gnu/gdb/gdb-${GDB_VERSION}.tar.bz2" -W32API_ARCHIVE="http://downloads.sourceforge.net/project/mingw/MinGW%20API%20for%20MS-Windows/Current%20Release_%20w32api-${W32API_VERSION}/w32api-${W32API_VERSION}-mingw32-src.tar.gz" +W32API_ARCHIVE="http://downloads.sourceforge.net/project/mingw/MinGW%20API%20for%20MS-Windows/w32api-${W32API_VERSION}/w32api-${W32API_VERSION}-mingw32-src.tar.gz" MINGWRT_ARCHIVE="http://downloads.sourceforge.net/project/mingw/MinGW%20Runtime/mingwrt-${MINGWRT_VERSION}/mingwrt-${MINGWRT_VERSION}-mingw32-src.tar.gz" GMP_DIR="gmp-${GMP_VERSION}" @@ -103,6 +103,7 @@ myhelp() printf " [-h|--help] print this help and exit\n" printf " [-c|--clean] remove temporary files before build\n" printf " [-t|--savetemps] don't remove temporary files after build\n" + printf " [-j|--jobs <num>] run <num> jobs in parallel in make\n" printf " [-p|--platform <platform>] target platform to build cross compiler for\n" printf " (defaults to $TARGETARCH)\n" printf " [-d|--directory <target dir>] target directory to install cross compiler to\n" @@ -140,11 +141,11 @@ getopt - > /dev/null 2>/dev/null || gcc -o getopt getopt.c getoptbrand="`getopt -V`" if [ "${getoptbrand:0:6}" == "getopt" ]; then # Detected GNU getopt that supports long options. - args=`getopt -l version,help,clean,directory:,platform:,destdir:,savetemps Vhcd:p:D:t -- "$@"` + args=`getopt -l version,help,clean,directory:,platform:,jobs:,destdir:,savetemps Vhcd:p:j:D:t -- "$@"` eval set "$args" else # Detected non-GNU getopt - args=`getopt Vhcd:p:D:t $*` + args=`getopt Vhcd:p:j:D:t $*` set -- $args fi @@ -162,6 +163,7 @@ while true ; do -d|--directory) shift; TARGETDIR="$1"; shift;; -p|--platform) shift; TARGETARCH="$1"; shift;; -D|--destdir) shift; DESTDIR="$1"; shift;; + -j|--jobs) shift; JOBS="-j $1"; shift;; --) shift; break;; -*) printf "Invalid option\n\n"; myhelp; exit 1;; *) break;; @@ -245,7 +247,7 @@ printf "Building GMP ${GMP_VERSION} ... " ../${GMP_DIR}/configure --disable-shared --prefix=$TARGETDIR $OPTIONS \ || touch .failed - $MAKE || touch .failed + $MAKE $JOBS || touch .failed $MAKE install DESTDIR=$DESTDIR || touch .failed if [ ! -f .failed ]; then touch .success; fi ) &> build-gmp/crossgcc-build.log @@ -272,7 +274,7 @@ printf "Building MPFR ${MPFR_VERSION} ... " ../${MPFR_DIR}/configure --disable-shared --prefix=$TARGETDIR \ --infodir=$TARGETDIR/info \ --with-gmp=$DESTDIR$TARGETDIR CFLAGS="$HOSTCFLAGS" || touch .failed - $MAKE || touch .failed + $MAKE $JOBS || touch .failed $MAKE install DESTDIR=$DESTDIR || touch .failed # work around build problem of libgmp.la @@ -296,7 +298,7 @@ printf "Building binutils ${BINUTILS_VERSION} ... " ../binutils-${BINUTILS_VERSION}/configure --prefix=$TARGETDIR --target=${TARGETARCH} \ --disable-werror --disable-nls \ CFLAGS="$HOSTCFLAGS" || touch .failed - $MAKE || touch .failed + $MAKE $JOBS || touch .failed $MAKE install DESTDIR=$DESTDIR || touch .failed if [ ! -f .failed ]; then touch .success; fi ) &> build-binutils/crossgcc-build.log @@ -322,7 +324,7 @@ printf "Building GCC ${GCC_VERSION} ... " --disable-libssp --disable-bootstrap --disable-nls \ --with-gmp=$DESTDIR$TARGETDIR --with-mpfr=$DESTDIR$TARGETDIR \ || touch .failed - $MAKE CFLAGS_FOR_BUILD="$HOSTCFLAGS" || touch .failed + $MAKE $JOBS CFLAGS_FOR_BUILD="$HOSTCFLAGS" || touch .failed $MAKE install DESTDIR=$DESTDIR || touch .failed if [ ! -f .failed ]; then touch .success; fi ) &> build-gcc/crossgcc-build.log @@ -340,7 +342,7 @@ printf "Building GDB ${GDB_VERSION} ... " rm -f .failed ../gdb-${GDB_VERSION}/configure --prefix=$TARGETDIR --target=${TARGETARCH} \ --disable-werror --disable-nls - $MAKE || touch .failed + $MAKE $JOBS || touch .failed $MAKE install DESTDIR=$DESTDIR || touch .failed if [ ! -f .failed ]; then touch .success; fi ) &> build-gdb/crossgcc-build.log |