Added build script for the cross-compiler :3
This commit is contained in:
parent
b377ef3ef3
commit
44fe07a242
40
build-cross-compiler.sh
Executable file
40
build-cross-compiler.sh
Executable 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 :)"
|
||||
|
||||
|
|
@ -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 =
|
||||
|
|
Loading…
Reference in a new issue