aboutsummaryrefslogtreecommitdiff
path: root/configure.sh
diff options
context:
space:
mode:
Diffstat (limited to 'configure.sh')
-rwxr-xr-xconfigure.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/configure.sh b/configure.sh
new file mode 100755
index 0000000..a669fa7
--- /dev/null
+++ b/configure.sh
@@ -0,0 +1,34 @@
+mkdir -p $HOME/.local/opt
+mkdir -p $HOME/.local/opt/cross
+mkdir -p $HOME/.local/src
+export PREFIX="$HOME/.local/opt/cross"
+export TARGET=i686-elf
+export PATH="$PREFIX/bin:$PATH"
+
+cd $HOME/.local/src
+curl https://ftp.gnu.org/gnu/binutils/binutils-2.41.tar.xz | tar -xJ
+
+mkdir build-binutils
+cd build-binutils
+../binutils-2.41/configure --target=$TARGET --prefix="$PREFIX" --with-sysroot --disable-nls --disable-werror
+
+make -j8
+make install
+
+cd $HOME/.local/src
+command -v -- $TARGET-as || echo $TARGET-as is not in the PATH
+curl https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.xz | tar -xJ
+cd gcc-13.2.0
+./contrib/download_prerequisites
+cd ..
+
+mkdir build-gcc
+cd build-gcc
+../gcc-13.2.0/configure --target=$TARGET --prefix="$PREFIX" --disable-nls --enable-languages=c,c++ --without-headers
+
+make -j8 all-gcc
+make -j8 all-target-libgcc
+make install-gcc
+make install-target-libgcc
+
+export PATH="$HOME/.local/opt/cross/bin:$PATH"