Added build script for the cross-compiler :3

This commit is contained in:
vanten-s 2024-03-28 16:14:25 +01:00
parent b377ef3ef3
commit 44fe07a242
Signed by: vanten-s
GPG key ID: DE3060396884D3F2
2 changed files with 41 additions and 0 deletions

40
build-cross-compiler.sh Executable file
View file

@ -0,0 +1,40 @@
#!/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 :)"

View file

@ -25,6 +25,7 @@ pkgs.mkShell rec {
export PATH=$PATH:''${CARGO_HOME:-~/.cargo}/bin
export PATH=$PATH:''${RUSTUP_HOME:-~/.rustup}/toolchains/nightly-x86_64-unknown-linux-gnu/bin/
export PATH="$PATH:$PWD/opt/bin"
./build-cross-compiler.sh
'';
# Add glibc, clang, glib, and other headers to bindgen search path
BINDGEN_EXTRA_CLANG_ARGS =