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:''${CARGO_HOME:-~/.cargo}/bin
|
||||||
export PATH=$PATH:''${RUSTUP_HOME:-~/.rustup}/toolchains/nightly-x86_64-unknown-linux-gnu/bin/
|
export PATH=$PATH:''${RUSTUP_HOME:-~/.rustup}/toolchains/nightly-x86_64-unknown-linux-gnu/bin/
|
||||||
export PATH="$PATH:$PWD/opt/bin"
|
export PATH="$PATH:$PWD/opt/bin"
|
||||||
|
./build-cross-compiler.sh
|
||||||
'';
|
'';
|
||||||
# Add glibc, clang, glib, and other headers to bindgen search path
|
# Add glibc, clang, glib, and other headers to bindgen search path
|
||||||
BINDGEN_EXTRA_CLANG_ARGS =
|
BINDGEN_EXTRA_CLANG_ARGS =
|
||||||
|
|
Loading…
Reference in a new issue