# You probably want to customize those
##############################################################################
TARGET=arm-eabi # Or: TARGET=arm-elf
-PREFIX=${HOME}/arm # Install location of your final toolchain
+[ -z $PREFIX ] && PREFIX=${HOME}/arm # Install location of your final toolchain
+[ -z $WORKDIR ] && WORKDIR=$PREFIX/work #temporary directory
PARALLEL= # Or: PARALLEL="-j 5" for 4 CPUs
# Set to 'sudo' if you need superuser privileges while installing
SUDO=''
# Set to 1 to be quieter while running
QUIET=0
# Set to 1 to use linaro gcc instead of the FSF gcc
-USE_LINARO=1
+USE_LINARO=0
+# Set to 1 to enable C++
+USE_CPP=0
# Set to 1 to enable building of OpenOCD
OOCD_EN=0
# Set to 1 to build libstm32 provided by ST
LIBSTM32_EN=0
# Set to 1 to build libopenstm32 an open source library for stm32
-LIBOPENSTM32_EN=1
+LIBOPENSTM32_EN=0
# Make the gcc default to Cortex-M3
DEFAULT_TO_CORTEX_M3=1
##############################################################################
if [ ${USE_LINARO} == 0 ] ; then
# For FSF GCC:
- GCCVERSION=4.5.1
- GCC=gcc-${GCCVERSION}
- GCCDIR=${GCC}
- GCCURL=http://ftp.gnu.org/gnu/gcc/${GCC}/${GCC}.tar.gz
+ GCCVERSION=4.6.1
+ if [ ${USE_CPP} == 0 ]; then
+ GCC=gcc-core-${GCCVERSION}
+ GCCDIR=gcc-${GCCVERSION}
+ else
+ GCC=gcc-${GCCVERSION}
+ GCCDIR=${GCC}
+ fi
+ GCCURL=http://ftp.gnu.org/gnu/gcc/${GCCDIR}/${GCC}.tar.gz
else
# For the Linaro GCC:
GCCRELEASE=4.6-2011.07
export PATH="${PREFIX}/bin:${PATH}"
-SUMMON_DIR=$(pwd)
+SUMMON_DIR=${WORKDIR}
SOURCES=${SUMMON_DIR}/sources
STAMPS=${SUMMON_DIR}/stamps
${SUDO} make ${MAKEFLAGS} $2 $3 $4 $5 $6 $7 $8
}
-
+if [ ! -d $SUMMON_DIR ]; then
+ mkdir -p ${SUMMON_DIR}
+ SUMMON_DIR_CREATED=1
+else
+ SUMMON_DIR_CREATED=0
+fi
mkdir -p ${STAMPS} ${SOURCES}
cd ${SOURCES}
unpack ${GCC}
cd build
log "Configuring ${GCC}"
+ [ ${USE_CPP} == 1 ] && GCCFLAGS="--enable-languages='c,c++' ${GCCFLAGS}"
../${GCCDIR}/configure --target=${TARGET} \
--prefix=${PREFIX} \
--enable-interwork \
--enable-multilib \
- --enable-languages="c,c++" \
--with-newlib \
--disable-shared \
--with-gnu-as \
rm -rf libopenstm32-${LIBOPENSTM32}
fi
fi
+
+if [ ${SUMMON_DIR_CREATED} == 1 ]; then
+ log "Removing work directory"
+ rm -rf ${SUMMON_DIR}
+fi