From 1c50c0f3c7d220fc5a1c7a1b1d1dde53eaecd4e6 Mon Sep 17 00:00:00 2001 From: oharboe Date: Sat, 26 Apr 2008 07:38:36 +0000 Subject: [PATCH] wip instructions for building Cortex toolchain git-svn-id: svn://svn.berlios.de/openocd/trunk@618 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- testing/toolchain/cygwin.sh | 37 +++++++++++++++++++++++++++++++ testing/toolchain/linux.sh | 34 +++++++++++++++++++++++++++++ testing/toolchain/readme.txt | 42 ++++++++++++++++++++++++++++++++++++ 3 files changed, 113 insertions(+) create mode 100644 testing/toolchain/cygwin.sh create mode 100644 testing/toolchain/linux.sh create mode 100644 testing/toolchain/readme.txt diff --git a/testing/toolchain/cygwin.sh b/testing/toolchain/cygwin.sh new file mode 100644 index 000000000..bc4835b84 --- /dev/null +++ b/testing/toolchain/cygwin.sh @@ -0,0 +1,37 @@ +# Work in progress.... +# +# CygWin hosted arm toolchain + +set -e +rm -rf cygwin + +rm -rf gcc +rm -rf gdb +rm -rf binutils + + +# here we need Linux hosted toolchain in the path +export PATH=`pwd`/install/bin:`pwd`/cygwin/bin:$PATH + +mkdir cygwin + +mkdir gcc +cd gcc +../src/binutils/configure --host=i686-pc-cygwin --target=arm-elf --build=i686-pc-linux-gnu --prefix=`pwd`/../cygwin +make +make install +cd .. + +mkdir gcc +cd gcc +../src/configure --target=arm-elf --enable-languages=c,c++ --with-gnu-as --with-gnu-ld --with-newlib --disable-shared --enable-newlib -v --enable-multilib --disable-threads --enable-sjlj-exceptions --enable-libstdcxx-allocator=malloc --host=i686-pc-cygwin --build=i686-pc-linux-gnu --prefix=`pwd`/../cygwin --disable-libssp +make +make install +cd .. + +mkdir gdb +cd gdb/ +../src/gdb/configure --host=i686-pc-cygwin --target=arm-elf --build=i686-pc-linux-gnu --prefix=`pwd`/../cygwin +make +make install +cd .. diff --git a/testing/toolchain/linux.sh b/testing/toolchain/linux.sh new file mode 100644 index 000000000..ae90fbe0b --- /dev/null +++ b/testing/toolchain/linux.sh @@ -0,0 +1,34 @@ +# Build cygwin hosted cortex arm toolchain under Linux + +set -e +rm -rf gcc +rm -rf binutils +rm -rf gdb + +export PATH=`pwd`/install/bin:$PATH + +#set HOST_NAME=i386-mingw32msvc +#set HOST_NAME=i686-pc-cygwin + + +mkdir binutils +cd binutils +../src/binutils/configure --host=$HOST_NAME --target=arm-elf --prefix=`pwd`/../install +make +make install +cd .. + +mkdir gcc +cd gcc +../src/gcc/configure --disable-libssp --target=arm-elf --enable-languages=c,c++ --with-gnu-as --with-gnu-ld --with-newlib --disable-shared --enable-newlib -v --disable-multilib --disable-threads --enable-sjlj-exceptions --enable-libstdcxx-allocator=malloc --prefix=`pwd`/../install --disable-libssp +#../src/gcc/configure --target=arm-elf --enable-languages=c --with-gnu-as --with-gnu-ld --with-newlib --disable-shared --enable-newlib -v --disable-multilib --disable-threads --prefix=`pwd`/../install --disable-libssp +make +make install +cd .. + +mkdir gdb +cd gdb/ +../src/gdb/configure --target=arm-elf --prefix=`pwd`/../install +make +make install +cd .. diff --git a/testing/toolchain/readme.txt b/testing/toolchain/readme.txt new file mode 100644 index 000000000..a3e21cbfb --- /dev/null +++ b/testing/toolchain/readme.txt @@ -0,0 +1,42 @@ +Work-in-progress. Ignore for now. + +Some build scripts for GCC toolchains. Notably the +Cortex CPUs require the very latest GCC version 4.3.x. + +These are to be considered working notes for testers and +not a definitive source on how to build GCC toolchains. + +1. get latest binutils, gcc, gdb and newlib + +2. unzip source to src folder + +2. fix libstc++/configure.ac + + +That works. After replacing AC_LIBTOOL_DLOPEN with + + if test "x${with_newlib}" != "xyes"; then + AC_LIBTOOL_DLOPEN + fi + +and running autoconf I was able to build six different newlib targets. + +http://gcc.gnu.org/ml/gcc/2008-03/msg00611.html + +3. place newlib and libgloss into src/gcc + +4. run cygwin.sh or linux.sh + + +Resources: + +http://ecos.sourceware.org/build-toolchain.html + + +Results: + +Build results from Zylin AS following the instructions above: + +http://www.zylin.com/cortex-gcc-linux.tar.bz2 + + \ No newline at end of file