#!/usr/bin/env bash if which i686-elf-gcc && which i686-elf-as; then echo "Cross Compiler Already Built" echo "Exiting" exit fi mkdir opt cd opt CCFLAGS="-j 8" PREFIX="$PWD" TARGET="i686-elf" # binutils curl -o binutils.tar.xz https://sourceware.org/pub/binutils/snapshots/binutils-2.40.90.tar.xz tar -xf binutils.tar.xz cd binutils-2.40.90 mkdir build-binutils cd build-binutils ../configure --target=$TARGET --prefix=$PREFIX --with-sysroot --disable-nls --disable-werror make $CCFLAGS make $CCFLAGS install # gcc curl -o gcc.tar.xz https://mirrorservice.org/sites/sourceware.org/pub/gcc/snapshots/LATEST-12/gcc-12-20240322.tar.xz tar -xf gcc.tar.xz cd gcc-12-20240322 mkdir build-gcc cd build-gcc ../configure --target=$TARGET --prefix=$PREFIX --disable-nls --enable-languages=c,c++ --without-headers make $CCFLAGS all-gcc make $CCFLAGS all-target-libgcc make $CCFLAGS install-gcc make $CCFLAGS install-target-libgcc echo "All done :)"