summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Esden-Tempski <piotr@esden.net>2011-01-03 01:43:11 +0100
committerPiotr Esden-Tempski <piotr@esden.net>2011-01-03 01:43:11 +0100
commit5789834245c6e9b6294453d4912d5f52fe406f35 (patch)
treec0e7b905247be8e23591954e5fe58ea6a13ea5d5
parent01f0afad95cd988fd30d280c113018f115a69f9f (diff)
Added building of openocd as part of the toolchain.
-rwxr-xr-xsummon-arm-toolchain54
1 files changed, 54 insertions, 0 deletions
diff --git a/summon-arm-toolchain b/summon-arm-toolchain
index b7314cf..2dfbd7c 100755
--- a/summon-arm-toolchain
+++ b/summon-arm-toolchain
@@ -27,6 +27,8 @@ SUDO=
QUIET=0
# Set to 1 to use linaro gcc instead of the FSF gcc
USE_LINARO=0
+# Set to 1 to enable building of OpenOCD
+OOCD_EN=1
# Set to 1 to build libstm32 provided by ST
LIBSTM32_EN=0
# Set to 1 to build libopenstm32 an open source library for stm32
@@ -53,6 +55,7 @@ fi
BINUTILS=binutils-2.20
NEWLIB=newlib-1.18.0
GDB=gdb-7.2
+OOCD=master
LIBCMSIS=v1.10-2
LIBSTM32=v3.0.0-1
LIBSTM32USB=v3.0.1-1
@@ -121,6 +124,8 @@ case "$(uname)" in
--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"
+ OOCD_LDFLAGS="-L/opt/mine/lib -L/opt/local/lib"
;;
CYGWIN*)
echo "Found CygWin that means Windows most likely."
@@ -191,6 +196,20 @@ fetch ${GCC} ${GCCURL}
fetch ${NEWLIB} ftp://sources.redhat.com/pub/newlib/${NEWLIB}.tar.gz
fetch ${GDB} http://ftp.gnu.org/gnu/gdb/${GDB}.tar.bz2
+if [ ${OOCD_EN} != 0 ]; then
+if [ ! -e openocd-${OOCD}.tar.bz2 ]; then
+ log "Cloning OpenOCD sources..."
+ git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd openocd-${OOCD}
+ cd openocd-${OOCD}
+ ./bootstrap
+ cd ..
+ tar cfvj openocd-${OOCD}.tar.bz2 openocd-${OOCD}
+ #git archive --format=tar --prefix=openocd-${OOCD}/ ${OOCD} | \
+ # bzip2 --stdout > ../openocd-${OOCD}.tar.bz2
+ rm -rf openocd-${OOCD}
+fi
+fi
+
if [ ${LIBSTM32_EN} != 0 ]; then
if [ ! -e libcmsis-${LIBCMSIS}.tar.bz2 ]; then
log "Cloning libcmsis sources..."
@@ -359,6 +378,41 @@ if [ ! -e ${STAMPS}/${GDB}.build ]; then
rm -rf build/* ${GDB}
fi
+if [ ${OOCD_EN} != 0 ]; then
+if [ ! -e ${STAMPS}/openocd-${OOCD}.build ]; then
+ unpack openocd-${OOCD}
+ cd build
+ log "Configuring openocd-${OOCD}"
+ export CFLAGS="${OOCD_CFLAGS}"
+ export 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
+ log "Building openocd-${OOCD}"
+ make ${MAKEFLAGS}
+ install openocd-${OOCD} install
+ cd ..
+ log "Cleaning up openocd-${OOCD}"
+ touch ${STAMPS}/openocd-${OOCD}.build
+ rm -rf build/* ${OOCD}
+fi
+fi
+
if [ ${LIBSTM32_EN} != 0 ]; then
if [ ! -e ${STAMPS}/libcmsis-${LIBCMSIS}.build ]; then
unpack libcmsis-${LIBCMSIS}