diff options
| -rw-r--r-- | .gitignore | 12 | ||||
| -rw-r--r-- | 1-download.sh | 22 | ||||
| -rw-r--r-- | 2-unpack.sh | 21 | ||||
| -rw-r--r-- | 3-build-binutils.sh | 16 | ||||
| -rw-r--r-- | 4-build-gcc-stage-1.sh | 16 | ||||
| -rw-r--r-- | 5-build-newlib.sh | 17 | ||||
| -rw-r--r-- | common | 10 |
7 files changed, 114 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7c88aa7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +*.gz +*.bz2 +*.xz +*.tar +*.zip +build/ +unpacked/ +download/ +prefix/ +prefix-*-toolchain/ +prefix-*/ +*-toolchain/ diff --git a/1-download.sh b/1-download.sh new file mode 100644 index 0000000..d0cd8f4 --- /dev/null +++ b/1-download.sh @@ -0,0 +1,22 @@ +#!/bin/sh +set -e +source ./common + +mkdir -p download +[ ! -f download/binutils-$binutils_ver.tar.xz ] && \ + wget http://mirror.tochlab.net/pub/gnu/binutils/binutils-$binutils_ver.tar.xz -P download +[ ! -f download/newlib-$newlib_ver.tar.gz ] && \ + wget ftp://sourceware.org/pub/newlib/newlib-$newlib_ver.tar.gz -P download +[ ! -f download/gcc-$gcc_ver.tar.xz ] && \ + wget http://mirror.tochlab.net/pub/gnu/gcc/gcc-$gcc_ver/gcc-$gcc_ver.tar.xz -P download +[ ! -f download/mpfr-$mpfr_ver.tar.xz ] && \ + wget http://mirror.tochlab.net/pub/gnu/mpfr/mpfr-$mpfr_ver.tar.xz -P download +[ ! -f download/gmp-$gmp_ver.tar.xz ] && \ + wget http://mirror.tochlab.net/pub/gnu/gmp/gmp-$gmp_ver.tar.xz -P download +[ ! -f download/mpc-$mpc_ver.tar.gz ] && \ + wget http://mirror.tochlab.net/pub/gnu/mpc/mpc-$mpc_ver.tar.gz -P download +[ ! -f download/isl-$isl_ver.tar.bz2 ] && \ + wget ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-$isl_ver.tar.bz2 -P download +[ ! -f download/cloog-$cloog_ver.tar.gz ] && \ + wget ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-$cloog_ver.tar.gz -P download +echo Done downloading diff --git a/2-unpack.sh b/2-unpack.sh new file mode 100644 index 0000000..b0feab7 --- /dev/null +++ b/2-unpack.sh @@ -0,0 +1,21 @@ +#!/bin/sh +source ./common +set -e + +function unpack() { + if [ ! -d unpacked/$1 ]; then + echo Unpacking $1.$2 + tar xf download/$1.$2 -C unpacked + fi +} + +mkdir -p unpacked +unpack binutils-$binutils_ver tar.xz +unpack newlib-$newlib_ver tar.gz +unpack gcc-$gcc_ver tar.xz +unpack mpfr-$mpfr_ver tar.xz +unpack gmp-$gmp_ver tar.xz +unpack mpc-$mpc_ver tar.gz +unpack isl-$isl_ver tar.bz2 +unpack cloog-$cloog_ver tar.gz +echo Done Unpacking diff --git a/3-build-binutils.sh b/3-build-binutils.sh new file mode 100644 index 0000000..1a7ee8a --- /dev/null +++ b/3-build-binutils.sh @@ -0,0 +1,16 @@ +#!/bin/sh +set -e +source ./common + +mkdir -p build/binutils-$binutils_ver +cd build/binutils-$binutils_ver +echo "Configuring binutils-${binutils_ver}" +../../unpacked/binutils-$binutils_ver/configure --prefix=$prefix_dir --target=$target --disable-multilib >configure.log 2>&1 +if [ ! $? ]; then less configure.log; exit; fi +echo "Building binutils-$binutils_ver" +make -j10 >build.log 2>&1 +if [ ! $? ]; then less build.log; exit; fi +echo "Installing binutils-$binutils_ver" +make install >install.log 2>&1 +if [ ! $? ]; then less install.log; exit; fi +echo Done with binutils-$binutils_ver diff --git a/4-build-gcc-stage-1.sh b/4-build-gcc-stage-1.sh new file mode 100644 index 0000000..40577ec --- /dev/null +++ b/4-build-gcc-stage-1.sh @@ -0,0 +1,16 @@ +#!/bin/sh +set -e +source ./common + +mkdir -p build/gcc-$gcc_ver +cd build/gcc-$gcc_ver +echo "Configuring gcc-${gcc_ver} (stage 1)" +../../unpacked/gcc-$gcc_ver/configure --prefix=$prefix_dir --target=$target --disable-multilib --enable-languages=c,c++ >configure.log 2>&1 +if [ ! $? ]; then less configure.log; exit; fi +echo "Building gcc-$gcc_ver (stage 1)" +make -j10 all-gcc >build.log 2>&1 +if [ ! $? ]; then less build.log; exit; fi +echo "Installing gcc-$gcc_ver (stage 1)" +make install-gcc >install.log 2>&1 +if [ ! $? ]; then less install.log; exit; fi +echo "Done with gcc-$gcc_ver (stage 1)" diff --git a/5-build-newlib.sh b/5-build-newlib.sh new file mode 100644 index 0000000..f4f6d50 --- /dev/null +++ b/5-build-newlib.sh @@ -0,0 +1,17 @@ +#!/bin/sh +set -e +source ./common +export PATH="$prefix_dir/bin:${PATH:+:${PATH}}" + +mkdir -p build/newlib-$newlib_ver +cd build/newlib-$newlib_ver +echo "Configuring newlib-${newlib_ver}" +../../unpacked/newlib-$newlib_ver/configure --prefix=$prefix_dir --target=$target >configure.log 2>&1 +if [ ! $? ]; then less configure.log; exit; fi +echo "Building newlib-$newlib_ver" +make -j10 >build.log 2>&1 +if [ ! $? ]; then less build.log; exit; fi +echo "Installing newlib-$newlib_ver" +make install >install.log 2>&1 +if [ ! $? ]; then less install.log; exit; fi +echo "Done with newlib-$newlib_ver" @@ -0,0 +1,10 @@ +binutils_ver=2.38 +gcc_ver=12.1.0 +newlib_ver=4.2.0.20211231 +mpfr_ver=4.1.0 +gmp_ver=6.2.1 +mpc_ver=1.2.1 +isl_ver=0.24 +cloog_ver=0.18.1 +target=mips-elf +prefix_dir=$(pwd)/preix-${target}-toolchain |
