Update coreboot crossgcc toolchain, GCC 4.5.1, MPFR 3.0.0, GDB 7.2.
[coreboot.git] / util / crossgcc / buildgcc
index d33c6e94f9ecf1d49261dbdd0ce0e330a1807091..3d8818a80563db4880f4aaf1315bc7ba6ff00d0e 100755 (executable)
@@ -18,8 +18,8 @@
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
 #
 
-CROSSGCC_DATE="March 29th, 2010"
-CROSSGCC_VERSION="1.0"
+CROSSGCC_DATE="November 16th, 2010"
+CROSSGCC_VERSION="1.02"
 
 # default settings
 TARGETDIR=`pwd`/xgcc
@@ -28,13 +28,13 @@ DESTDIR=
 
 # version numbers
 GMP_VERSION=5.0.1
-MPFR_VERSION=2.4.2
+MPFR_VERSION=3.0.0
 MPC_VERSION=0.8.2
 LIBELF_VERSION=0.8.13
-GCC_VERSION=4.5.0 # enable for Link Time Optimization & Co
+GCC_VERSION=4.5.1
 BINUTILS_VERSION=2.20.1
-GDB_VERSION=7.1
-W32API_VERSION=3.14
+GDB_VERSION=7.2
+W32API_VERSION=3.15
 MINGWRT_VERSION=3.18
 
 # archive locations
@@ -45,8 +45,8 @@ LIBELF_ARCHIVE="http://www.mr511.de/software/libelf-${LIBELF_VERSION}.tar.gz"
 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/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"
+W32API_ARCHIVE="http://downloads.sourceforge.net/project/mingw/MinGW/BaseSystem/RuntimeLibrary/Win32-API/w32api-${W32API_VERSION}/w32api-${W32API_VERSION}-mingw32-src.tar.gz"
+MINGWRT_ARCHIVE="http://downloads.sourceforge.net/project/mingw/MinGW/BaseSystem/RuntimeLibrary/MinGW-RT/mingwrt-${MINGWRT_VERSION}/mingwrt-${MINGWRT_VERSION}-mingw32-src.tar.gz"
 
 GMP_DIR="gmp-${GMP_VERSION}"
 MPFR_DIR="mpfr-${MPFR_VERSION}"
@@ -354,7 +354,7 @@ printf "Building libelf ${LIBELF_VERSION} ... "
        cd build-libelf
        rm -f .failed
        echo "$HOSTCFLAGS"
-       CFLAGS="$HOSTCFLAGS"  ../${LIBELF_DIR}/configure --disable-shared --prefix=$TARGETDIR \
+       CFLAGS="$HOSTCFLAGS" libelf_cv_elf_h_works=no ../${LIBELF_DIR}/configure --disable-shared --prefix=$TARGETDIR \
                --infodir=$TARGETDIR/info CFLAGS="$HOSTCFLAGS" || touch .failed
        $MAKE $JOBS || touch .failed
        $MAKE install DESTDIR=$DESTDIR || touch .failed
@@ -370,9 +370,6 @@ if [ -f build-binutils/.success ]; then
 else
 printf "Building binutils ${BINUTILS_VERSION} ... "
 (
-       # workaround for building binutils 2.20.1 on MINGW:
-       touch ../binutils-${BINUTILS_VERSION}/bfd/doc/bfd.info
-       # now build binutils
        cd build-binutils
        rm -f .failed
        ../binutils-${BINUTILS_VERSION}/configure --prefix=$TARGETDIR --target=${TARGETARCH} \
@@ -392,6 +389,7 @@ else
 printf "Building GCC ${GCC_VERSION} ... "
 (
        cd build-gcc
+       export PATH=$PATH:$DESTDIR$TARGETDIR/bin
        rm -f .failed
        # GCC does not honour HOSTCFLAGS at all. CFLAGS are used for
        # both target and host object files. This is pretty misdesigned.
@@ -421,7 +419,7 @@ else
 printf "Building GDB ${GDB_VERSION} ... "
 (
        cd build-gdb
-       export PATH=$PATH:$PREFIX/bin
+       export PATH=$PATH:$DESTDIR$TARGETDIR/bin
        rm -f .failed
        CFLAGS="$HOSTCFLAGS" ../gdb-${GDB_VERSION}/configure --prefix=$TARGETDIR --target=${TARGETARCH} \
                --without-python --disable-werror --disable-nls