remove contrib
[summon-arm-toolchain.git] / contrib / arm-toolchain-build.sh
diff --git a/contrib/arm-toolchain-build.sh b/contrib/arm-toolchain-build.sh
deleted file mode 100644 (file)
index fd75a65..0000000
+++ /dev/null
@@ -1,374 +0,0 @@
-#!/bin/bash
-#
-# Written by Uwe Hermann <uwe@hermann-uwe.de>, released as public domain.
-# Modified by Piotr Esden-Tempski <piotr@esden.net>, released as public domain.
-# Modified by Christophe Duparquet <e39@free.fr>, released as public domain.
-
-# NOTE by esden:
-#
-# This script was contributed by Cristophe it contains several implementation
-# improvements. I did not test it myself and I know that it lacks support for
-# linaro GCC. I currenty have no time to integrate the improvements into the
-# original summon-arm-toolchain. It is a nice reference where SAR should go
-# implementationwise, IMHO. Maybe someone with some more time on their hands
-# would help out here and incorporate the improvements into the original SAR
-# that more up to date and has additional features. It would be very
-# appreciated.
-#
-# Also take a look into the HOW-TO-SUBMIT section of the main README what is
-# the prefered way to submit patches to SAR.
-
-# This script will build a GNU ARM toolchain in the directory arm-toolchain.
-# Process can be suspended and restarted at will.
-# Packages are downloaded to arm-toolchain/archives/.
-# Packages are extracted to arm-toolchain/sources/.
-# Packages are built in arm-toolchain/build/.
-# arm-toolchain/install contains the result of make install for each tool.
-# arm-toolchain/status contains the status of each part of the process (logs, errors...)
-
-
-# PACKAGE_DESCRIPTION = BASE_URL ARCHIVE_BASENAME PACKAGE_VERSION ARCHIVE_TYPE URL_OPTIONS
-#
-BINUTILS="http://ftp.gnu.org/gnu/binutils binutils 2.19.1 tar.bz2"
-GCC="ftp://ftp.lip6.fr/pub/gcc/releases/gcc-4.4.4 gcc 4.4.4 tar.bz2"
-GDB="http://ftp.gnu.org/gnu/gdb gdb 7.1 tar.bz2"
-NEWLIB="ftp://sources.redhat.com/pub/newlib newlib 1.18.0 tar.gz --no-passive-ftp"
-INSIGHT="ftp://sourceware.org/pub/insight/releases insight 6.8-1 tar.bz2"
-
-LIBCMSIS="git://git.open-bldc.org libcmsis git dir"
-LIBSTM32="git://git.open-bldc.org libstm32 git dir"
-LIBSTM32USB="git://git.open-bldc.org libstm32usb git dir"
-LIBOPENSTM32="git://libopenstm32.git.sourceforge.net/gitroot/libopenstm32 libopenstm32 git dir"
-
-
-TARGET=arm-none-eabi                   # Or: TARGET=arm-elf
-
-BASEDIR=$(pwd)/arm-toolchain           # Base directory
-ARCHIVES=${BASEDIR}/archives           # Where to store downloaded packages
-SOURCES=${BASEDIR}/sources             # Where to extract packages
-BUILD=${BASEDIR}/build                 # Where to build packages
-STATUS=${BASEDIR}/status               # Where to store building process status
-PREFIX=${BASEDIR}/install              # Install location of your final toolchain
-
-PARALLEL=-j$(getconf _NPROCESSORS_ONLN)
-
-export PATH="${PREFIX}/bin:${PATH}"
-mkdir -p ${ARCHIVES} ${SOURCES} ${BUILD} ${STATUS}
-
-
-die() {
-    echo -e "\n\n**FAIL**"
-    tail ${CMD}
-    # echo -e "\nIn ${ERR} :"
-    tail ${ERR}
-    echo
-    exit
-}
-
-
-context() {
-    URL=$1
-    ANAME=$2
-    AVERSION=$3
-    ATYPE=$4
-    URL_OPTIONS=$5
-
-    SOURCE=$ANAME-$AVERSION
-    ARCHIVE=$SOURCE.$ATYPE
-}
-
-
-fetch() {
-    CMD=${STATUS}/${SOURCE}.fetch.cmd
-    LOG=${STATUS}/${SOURCE}.fetch.log
-    ERR=${STATUS}/${SOURCE}.fetch.errors
-    DONE=${STATUS}/${SOURCE}.fetch.done
-
-    if [ -e ${DONE} ]; then
-       echo "${SOURCE} already fetched"
-       return
-    fi
-
-    case ${URL} in
-       http://*)
-           COMMAND=wget
-           ;;
-       ftp://*)
-           COMMAND=wget
-           ;;
-       git://*)
-           COMMAND=git
-           ;;
-       *)
-           echo "${URL}: unknown protocol." >${ERR}
-           die
-    esac
-
-    case $COMMAND in
-       wget)
-           cd "$ARCHIVES"
-           echo -n "Downloading $ARCHIVE ... "
-           echo wget -c $URL_OPTIONS "$URL/$ARCHIVE" >${CMD}
-           wget -c $URL_OPTIONS "$URL/$ARCHIVE" >${LOG} 2>${ERR} || die
-           ;;
-       git)
-           cd "$SOURCES"
-           rm -rf "$ANAME-git"
-           echo -n "Downloading $SOURCE ... "
-           echo git clone "$URL/$ANAME.git" >${CMD}
-           ((git clone "$URL/$ANAME.git" || git clone "$URL/$ANAME") \
-               && mv ${ANAME} ${ANAME}-git) >${LOG} 2>${ERR} || die
-           ;;
-    esac
-    echo "OK."
-    touch ${DONE}
-}
-
-
-extract() {
-    CMD=${STATUS}/${SOURCE}.extract.cmd
-    LOG=${STATUS}/${SOURCE}.extract.log
-    ERR=${STATUS}/${SOURCE}.extract.errors
-    DONE=${STATUS}/${SOURCE}.extract.done
-
-    cd ${BASEDIR}
-    if [ -e ${DONE} ] ; then
-       echo "${SOURCE} already extracted"
-    else
-       echo -n "Extracting ${SOURCE} ... "
-       cd ${SOURCES}
-       case ${ATYPE} in
-           tar.gz)
-               COMMAND=xvzf
-               ;;
-           tar.bz2)
-               COMMAND=xvjf
-               ;;
-           dir)
-               COMMAND=""
-               cp -a "$SOURCES/$SOURCE" "$BUILD/$SOURCE"
-               ;;
-           *)
-               if [ -d ${ARCHIVES}/${ARCHIVE} ] ; then
-                   ln -s ${ARCHIVES}/${ARCHIVE} .
-                   ln -s ${ARCHIVES}/${ARCHIVE} ${BUILD}
-                   touch ${DONE}
-                   return
-               else
-                   echo "${ARCHIVE}: unknown archive format." >${ERR}
-                   die
-               fi
-       esac
-       if [ -n "$COMMAND" ] ; then
-           echo "tar $COMMAND ${ARCHIVES}/${ARCHIVE}" >${CMD}
-           tar $COMMAND ${ARCHIVES}/${ARCHIVE} >${LOG} 2>${ERR} || die
-       fi
-       echo "OK."
-       touch ${DONE}
-    fi
-}
-
-
-configure() {
-    OPTIONS=$*
-
-    unset ZPASS
-    [ -z "$PASS" ] || ZPASS=".$PASS"
-    CMD=${STATUS}/${SOURCE}.configure${ZPASS}.cmd
-    LOG=${STATUS}/${SOURCE}.configure${ZPASS}.log
-    ERR=${STATUS}/${SOURCE}.configure${ZPASS}.errors
-    DONE=${STATUS}/${SOURCE}.configure${ZPASS}.done
-
-    cd ${BASEDIR}
-    if [ -e ${DONE} ]; then
-       echo "${SOURCE} already configured"
-    else
-       echo -n "Configuring ${SOURCE} ... "
-       mkdir -p ${BUILD}/${SOURCE}
-       cd ${BUILD}/${SOURCE}
-       echo "${SOURCES}/${SOURCE}/configure $OPTIONS" >${CMD}
-       ${SOURCES}/${SOURCE}/configure $OPTIONS >${LOG} 2>${ERR} || die
-       echo "OK."
-       touch ${DONE}
-    fi
-    unset PASS ZPASS
-}
-
-
-domake() {
-    WHAT=$1 ; shift
-    OPTIONS=$*
-
-    [ -z "$WHAT" ] || ZWHAT=".$WHAT"
-    [ -z "$PASS" ] || ZPASS=".$PASS"
-    CMD=${STATUS}/${SOURCE}.make${ZWHAT}${ZPASS}.cmd
-    LOG=${STATUS}/${SOURCE}.make${ZWHAT}${ZPASS}.log
-    ERR=${STATUS}/${SOURCE}.make${ZWHAT}${ZPASS}.errors
-    DONE=${STATUS}/${SOURCE}.make${ZWHAT}${ZPASS}.done
-
-    cd ${BASEDIR}
-    if [ -e ${DONE} ]; then
-       echo "Make ${SOURCE} \"${WHAT}\" already done"
-    else
-       echo -n "Make ${SOURCE} \"${WHAT}\" ... "
-       cd ${BUILD}/${SOURCE}
-       echo "make ${WHAT} $OPTIONS" >${CMD}
-       make ${PARALLEL} ${WHAT} $OPTIONS >${LOG} 2>${ERR} || die
-       echo "OK."
-       touch ${DONE}
-    fi
-    unset PASS ZPASS ZWHAT
-}
-
-
-# Binutils
-#
-context $BINUTILS
-fetch
-extract
-configure \
-    --target=${TARGET} \
-    --prefix=${PREFIX} \
-    --enable-interwork \
-    --enable-multilib \
-    --with-gnu-as \
-    --with-gnu-ld \
-    --disable-nls \
-    --disable-werror
-domake
-domake install
-
-
-# GCC pass 1
-#
-context $GCC
-fetch
-extract
-PASS=1 configure \
-    --target=${TARGET} \
-    --prefix=${PREFIX} \
-    --enable-interwork \
-    --enable-multilib \
-    --enable-languages="c" \
-    --with-newlib \
-    --without-headers \
-    --disable-shared \
-    --with-gnu-as \
-    --with-gnu-ld \
-    --disable-nls \
-    --disable-werror
-PASS=1 domake all-gcc
-PASS=1 domake install-gcc
-
-
-# Newlib
-#
-context $NEWLIB
-fetch
-extract
-configure \
-    --target=${TARGET} \
-    --prefix=${PREFIX} \
-    --enable-interwork \
-    --enable-multilib \
-    --with-gnu-as \
-    --with-gnu-ld \
-    --disable-nls \
-    --disable-werror \
-    --disable-newlib-supplied-syscalls
-domake
-domake install
-
-
-# GCC pass 2
-#
-context $GCC
-# rm -rf ${BUILD}/${SOURCE}
-# rm ${STATUS}/${SOURCE}.configure.done
-PASS=2 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
-PASS=2 domake
-PASS=2 domake install
-
-
-# GDB
-#
-context $GDB
-fetch
-extract
-configure \
-    --target=${TARGET} \
-    --prefix=${PREFIX} \
-    --enable-interwork \
-    --enable-multilib \
-    --disable-werror
-domake
-domake install
-
-
-# Insight
-#
-context $INSIGHT
-fetch
-extract
-configure \
-    --target=${TARGET} \
-    --prefix=${PREFIX} \
-    --enable-languages=c,c++ \
-    --enable-thumb \
-    --enable-interwork \
-    --enable-multilib \
-    --enable-tui \
-    --with-newlib \
-    --disable-werror \
-    --disable-libada \
-    --disable-libssp \
-    --with-expat
-domake
-domake install
-
-
-# libcmsis
-#
-context $LIBCMSIS
-fetch
-extract
-domake "" arch_prefix=${TARGET} prefix=${PREFIX}
-domake install arch_prefix=${TARGET} prefix=${PREFIX}
-
-
-# libstm32
-#
-context $LIBSTM32
-fetch
-extract
-domake "" arch_prefix=${TARGET} prefix=${PREFIX}
-domake install arch_prefix=${TARGET} prefix=${PREFIX}
-
-
-# libstm32usb
-#
-context $LIBSTM32USB
-fetch
-extract
-domake "" arch_prefix=${TARGET} prefix=${PREFIX}
-domake install arch_prefix=${TARGET} prefix=${PREFIX}
-
-
-# libopenstm32
-#
-context $LIBOPENSTM32
-fetch
-extract
-domake "" DESTDIR=${PREFIX} PREFIX=${TARGET}
-domake install DESTDIR=${PREFIX} PREFIX=${TARGET}