diff options
Diffstat (limited to 'testing/toolchain')
-rw-r--r-- | testing/toolchain/cygwin.sh | 37 | ||||
-rw-r--r-- | testing/toolchain/linux.sh | 34 | ||||
-rw-r--r-- | testing/toolchain/readme.txt | 42 |
3 files changed, 113 insertions, 0 deletions
diff --git a/testing/toolchain/cygwin.sh b/testing/toolchain/cygwin.sh new file mode 100644 index 00000000..bc4835b8 --- /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 00000000..ae90fbe0 --- /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 00000000..a3e21cbf --- /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 |