diff --git a/.gitignore b/.gitignore index 60dcba5..c68fb30 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ limine/ ovmf/ iso_root/ output/ +sdk/ *.so *.o *.ko diff --git a/scripts/build_sdk.sh b/scripts/build_sdk.sh new file mode 100644 index 0000000..f7a5a56 --- /dev/null +++ b/scripts/build_sdk.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +mkdir -p sdk +cd sdk + +echo "Updating..." + +sudo apt-get update +sudo apt-get -y install build-essential g++ make bison flex texinfo libgmp-dev libmpc-dev libmpfr-dev libisl-dev +if [ ! -d "gcc-12.3.0" ]; then + echo "Installing gcc..." + wget https://ftp.gnu.org/gnu/gcc/gcc-12.3.0/gcc-12.3.0.tar.xz + tar -xf gcc-12.3.0.tar.xz +fi +cd gcc-12.3.0/ +echo "Configure..." +contrib/download_prerequisites +mkdir -p build +cd build +pwd +../configure --target=x86_64-elf --prefix=$PWD/cross --disable-nls --enable-languages=c --without-headers +echo "Build GCC..." +make all-gcc -j$(nproc) +echo "Build all-target-libgcc..." +make all-target-libgcc -j$(nproc) +echo "install-gcc..." +make install-gcc +echo "install-target-libgcc..." +make install-target-libgcc \ No newline at end of file