41 lines
958 B
Bash
41 lines
958 B
Bash
|
#!/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 :)"
|
||
|
|
||
|
|