Modified the build process to one step build of gcc and newlib. Updated gcc linaro...
[fw/cortex-toolchain] / summon-arm-toolchain
index ff196e89640564fdc921d86fc8930f28d12570cd..aa08b017af7210a55cc04a7183deff40ad8bf424 100755 (executable)
@@ -41,19 +41,19 @@ DEFAULT_TO_CORTEX_M3=0
 ##############################################################################
 if [ ${USE_LINARO} == 0 ] ; then
        # For FSF GCC:
-       GCCVERSION=4.5.1
+       GCCVERSION=4.5.2
        GCC=gcc-${GCCVERSION}
        GCCURL=http://ftp.gnu.org/gnu/gcc/${GCC}/${GCC}.tar.gz
 else
        # For the Linaro GCC:
-       GCCRELEASE=4.5-2010.11-0
-       GCCVERSION=4.5-2010.11-1
+       GCCRELEASE=4.5-2011.02-0
+       GCCVERSION=4.5-2011.02-0
        GCC=gcc-linaro-${GCCVERSION}
        GCCURL=http://launchpad.net/gcc-linaro/4.5/${GCCRELEASE}/+download/${GCC}.tar.bz2
 fi
 
-BINUTILS=binutils-2.20
-NEWLIB=newlib-1.18.0
+BINUTILS=binutils-2.21
+NEWLIB=newlib-1.19.0
 GDB=gdb-7.2
 OOCD=master
 LIBCMSIS=v1.10-2
@@ -123,8 +123,8 @@ case "$(uname)" in
                   --with-gmp=${DARWIN_OPT_PATH} \
                  --with-mpfr=${DARWIN_OPT_PATH} \
                  --with-mpc=${DARWIN_OPT_PATH} \
-                 -with-libiconv-prefix=${DARWIN_OPT_PATH}"
-       OOCD_CFLAGS="-m32 -I/opt/mine/include -I/opt/local/include"
+                 --with-libiconv-prefix=${DARWIN_OPT_PATH}"
+       OOCD_CFLAGS="-I/opt/mine/include -I/opt/local/include"
        OOCD_LDFLAGS="-L/opt/mine/lib -L/opt/local/lib"
        ;;
        CYGWIN*)
@@ -282,81 +282,42 @@ if [ ! -e ${STAMPS}/${BINUTILS}.build ]; then
     rm -rf build/* ${BINUTILS}
 fi
 
-if [ ! -e ${STAMPS}/${GCC}-boot.build ]; then
-    unpack ${GCC} boot
+if [ ! -e ${STAMPS}/${GCC}-${NEWLIB}.build ]; then
+    unpack ${GCC}
+    unpack ${NEWLIB}
+    log "Adding newlib symlink to gcc"
+    ln -s `pwd`/${NEWLIB}/newlib ${GCC}
+    log "Adding libgloss symlink to gcc"
+    ln -s `pwd`/${NEWLIB}/libgloss ${GCC}
     cd build
-    log "Configuring ${GCC}-boot"
+    log "Configuring ${GCC} and ${NEWLIB}"
     ../${GCC}/configure --target=${TARGET} \
                       --prefix=${PREFIX} \
                       --enable-interwork \
                       --enable-multilib \
-                      --enable-languages="c" \
+                      --enable-languages="c,c++" \
                       --with-newlib \
-                      --without-headers \
-                      --disable-shared \
                       --with-gnu-as \
                       --with-gnu-ld \
                       --disable-nls \
+                      --disable-shared \
+                     --disable-threads \
+                      --with-headers=newlib/libc/include \
+                     --disable-libssp \
+                     --disable-libstdcxx-pch \
+                     --disable-libmudflap \
+                     --disable-libgomp \
                       --disable-werror \
                      --with-system-zlib \
+                     --disable-newlib-supplied-syscalls \
                      ${GCCFLAGS}
-    log "Building ${GCC}-boot"
-    make ${MAKEFLAGS} all-gcc
-    install ${GCC}-boot install-gcc
-    cd ..
-    log "Cleaning up ${GCC}-boot"
-    touch ${STAMPS}/${GCC}-boot.build
-    rm -rf build/* ${GCC}
-fi
-
-if [ ! -e ${STAMPS}/${NEWLIB}.build ]; then
-    unpack ${NEWLIB}
-    cd build
-    log "Configuring ${NEWLIB}"
-    ../${NEWLIB}/configure --target=${TARGET} \
-                         --prefix=${PREFIX} \
-                         --enable-interwork \
-                         --enable-multilib \
-                         --with-gnu-as \
-                         --with-gnu-ld \
-                         --disable-nls \
-                         --disable-werror \
-                         --disable-newlib-supplied-syscalls \
-                        --with-float=soft
-    log "Building ${NEWLIB}"
-    make ${MAKEFLAGS} CFLAGS_FOR_TARGET="-msoft-float" CCASFLAGS="-msoft-float"
-    install ${NEWLIB} install
-    cd ..
-    log "Cleaning up ${NEWLIB}"
-    touch ${STAMPS}/${NEWLIB}.build
-    rm -rf build/* ${NEWLIB}
-fi
-
-# Yes, you need to build gcc again!
-if [ ! -e ${STAMPS}/${GCC}.build ]; then
-    unpack ${GCC}
-    cd build
-    log "Configuring ${GCC}"
-    ../${GCC}/configure --target=${TARGET} \
-                      --prefix=${PREFIX} \
-                      --enable-interwork \
-                      --enable-multilib \
-                      --enable-languages="c,c++" \
-                      --with-newlib \
-                      --disable-shared \
-                      --with-gnu-as \
-                      --with-gnu-ld \
-                     --disable-nls \
-                      --disable-werror \
-                      --with-system-zlib \
-                    ${GCCFLAGS}
-    log "Building ${GCC}"
+    log "Building ${GCC} and ${NEWLIB}"
     make ${MAKEFLAGS}
     install ${GCC} install
     cd ..
-    log "Cleaning up ${GCC}"
-    touch ${STAMPS}/${GCC}.build
-    rm -rf build/* ${GCC}
+    log "Cleaning up ${GCC} and ${NEWLIB}"
+    touch ${STAMPS}/${GCC}-${NEWLIB}.build
+    rm -rf build/* ${GCC} ${NEWLIB}
 fi
 
 if [ ! -e ${STAMPS}/${GDB}.build ]; then
@@ -386,23 +347,18 @@ if [ ! -e ${STAMPS}/openocd-${OOCD}.build ]; then
     CFLAGS="${CFLAGS} ${OOCD_CFLAGS}" \
     LDFLAGS="${LDFLAGS} ${OOCD_LDFLAGS}" \
     ../openocd-${OOCD}/configure --enable-maintainer-mode \
-                      --prefix=${PREFIX} \
-                      --enable-dummy \
-                     --enable-parport \
-                     --enable-ft2232_libftdi \
-                     --enable-usb_blaster_libftdi \
-                     --enable-amtjtagaccel \
-                     --enable-zy1000 \
-                     --enable-ep93xx \
-                     --enable-at91rm9200 \
-                     --enable-gw16012 \
-                     --enable-presto_libftdi \
-                     --enable-usbprog \
-                     --enable-jlink \
-                     --enable-vsllink \
-                     --enable-rlink \
-                     --enable-arm-jtag-ew \
-                     --enable-buspirate
+                                --prefix=${PREFIX} \
+                                --enable-dummy \
+                                --enable-ft2232_libftdi \
+                                --enable-usb_blaster_libftdi \
+                                --enable-ep93xx \
+                                --enable-at91rm9200 \
+                                --enable-presto_libftdi \
+                                --enable-usbprog \
+                                --enable-jlink \
+                                --enable-vsllink \
+                                --enable-rlink \
+                                --enable-arm-jtag-ew
     log "Building openocd-${OOCD}"
     make ${MAKEFLAGS}
     install openocd-${OOCD} install