summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Esden-Tempski <piotr@esden.net>2010-09-12 03:15:23 -0700
committerPiotr Esden-Tempski <piotr@esden.net>2010-09-12 03:17:30 -0700
commit97d03426e4ac528d0b30d70bc40db54f903d8194 (patch)
treee5a3b79fd7ce82a9f99e710c83efa9ae0e61b8a0
parentb7a46ec0d9f6a59b4d461aeddbb1b4984e56cd14 (diff)
Divided the script into sections. Added more switches.
The script is now divided in sections to make it easier to custumize the build. Also added some more switches also for convinence.
-rwxr-xr-xsummon-arm-toolchain57
1 files changed, 42 insertions, 15 deletions
diff --git a/summon-arm-toolchain b/summon-arm-toolchain
index 03d5d48..f1ddff0 100755
--- a/summon-arm-toolchain
+++ b/summon-arm-toolchain
@@ -14,6 +14,10 @@
# Stop if any command fails
set -e
+##############################################################################
+# Settings section
+# You probably want to customize those
+##############################################################################
TARGET=arm-none-eabi # Or: TARGET=arm-elf
PREFIX=${HOME}/arm-none-eabi # Install location of your final toolchain
PARALLEL= # Or: PARALLEL="-j 5" for 4 CPUs
@@ -22,16 +26,29 @@ DARWIN_OPT_PATH=/opt/local # Path in which MacPorts or Fink is installed
SUDO=
# Set to 1 to be quieter while running
QUIET=0
-
-# For FSF GCC:
-GCCVERSION=4.5.1
-GCC=gcc-${GCCVERSION}
-GCCURL=http://ftp.gnu.org/gnu/gcc/${GCC}/${GCC}.tar.gz
-
-# For the Linaro GCC:
-# GCCVERSION=4.5-2010.08-1
-# GCC=gcc-linaro-${GCCVERSION}
-# GCCURL=http://launchpad.net/gcc-linaro/4.5/${GCCVERSION}/+download/${GCC}.tar.gz
+# Set to 1 to use linaro gcc instead of the FSF gcc
+USE_LINARO=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=0
+# Make the gcc default to Cortex-M3
+DEFAULT_TO_CORTEX_M3=0
+
+##############################################################################
+# Version and download url settings section
+##############################################################################
+if [ ${USE_LINARO} == 0 ] ; then
+ # For FSF GCC:
+ GCCVERSION=4.5.1
+ GCC=gcc-${GCCVERSION}
+ GCCURL=http://ftp.gnu.org/gnu/gcc/${GCC}/${GCC}.tar.gz
+else
+ # For the Linaro GCC:
+ GCCVERSION=4.5-2010.08-1
+ GCC=gcc-linaro-${GCCVERSION}
+ GCCURL=http://launchpad.net/gcc-linaro/4.5/${GCCVERSION}/+download/${GCC}.tar.gz
+fi
BINUTILS=binutils-2.20
NEWLIB=newlib-1.18.0
@@ -40,15 +57,20 @@ LIBCMSIS=v1.10-2
LIBSTM32=v3.0.0-1
LIBSTM32USB=v3.0.1-1
LIBOPENSTM32=master
-LIBSTM32_EN=0
-LIBOPENSTM32_EN=0
-GCCFLAGS=
+##############################################################################
+# Flags section
+##############################################################################
+
GDBFLAGS=
BINUTILFLAGS=
-# To default to the Cortex-M3:
-# GCCFLAGS="--with-arch=armv7-m --with-mode=thumb"
+if [ ${DEFAULT_TO_CORTEX_M3} == 0 ] ; then
+ GCCFLAGS=
+else
+ # To default to the Cortex-M3:
+ GCCFLAGS="--with-arch=armv7-m --with-mode=thumb"
+fi
# Pull in the local configuration, if any
if [ -f local.sh ]; then
@@ -69,6 +91,11 @@ SUMMON_DIR=$(pwd)
SOURCES=${SUMMON_DIR}/sources
STAMPS=${SUMMON_DIR}/stamps
+##############################################################################
+# Building section
+# You probably don't have to touch anything after this
+##############################################################################
+
# Fetch a versioned file from a URL
function fetch {
if [ ! -e ${STAMPS}/$1.fetch ]; then