aboutsummaryrefslogtreecommitdiffstats
path: root/arm-stmos/create-toolchain.sh
diff options
context:
space:
mode:
Diffstat (limited to 'arm-stmos/create-toolchain.sh')
-rwxr-xr-xarm-stmos/create-toolchain.sh59
1 files changed, 59 insertions, 0 deletions
diff --git a/arm-stmos/create-toolchain.sh b/arm-stmos/create-toolchain.sh
new file mode 100755
index 0000000..1df12ee
--- /dev/null
+++ b/arm-stmos/create-toolchain.sh
@@ -0,0 +1,59 @@
+#!/bin/bash
+#
+# Based on:
+# binutils 2.31.1
+# gcc 8.2.0
+#
+# Need:
+# build-essential
+# bison
+# flex
+# libgmp3-dev
+# libmpc-dev
+# libmpfr-dev
+
+# Get sources
+wget https://ftp.gnu.org/gnu/binutils/binutils-2.31.1.tar.xz
+wget https://ftp.gnu.org/gnu/gcc/gcc-8.2.0/gcc-8.2.0.tar.xz
+tar xfv ./binutils-2.31.1.tar.xz
+tar xfv ./gcc-8.2.0.tar.xz
+
+# Apply binutils changes
+for file in $(find ./binutils-files -name '*.*'); do
+ cp -v $file $(echo $file | sed s/binutils-files/binutils-2.31.1/)
+done
+
+# Apply gcc changes
+for file in $(find ./gcc-files -name '*.*'); do
+ cp -v $file $(echo $file | sed s/gcc-files/gcc-8.2.0/)
+done
+
+# Prepare
+export TARGET=arm-stmos
+mkdir -p $HOME/$TARGET
+export PATH="$HOME/$TARGET/bin:$PATH"
+
+# Build binutils
+cd ./binutils-2.31.1/ld
+automake
+
+mkdir ../build
+cd ../build
+echo "Configure binutils... (../configure)"
+bash
+echo "Building binutils..."
+make -j8
+make install
+
+# Build gcc
+cd ../../gcc-8.2.0/libstdc++-v3/
+autoconf
+
+mkdir ../build
+cd ../build
+echo "Configure gcc... (../configure)"
+bash
+echo "Building gcc..."
+make -j8
+make install
+