mirror of
https://github.com/usatiuk/ficus.git
synced 2025-10-28 16:17:51 +01:00
Reviewed-on: #2 Co-authored-by: Stepan Usatiuk <stepan@usatiuk.com> Co-committed-by: Stepan Usatiuk <stepan@usatiuk.com>
60 lines
1.3 KiB
Bash
Executable File
60 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euxo pipefail
|
|
|
|
if [ -z "$FICUS_ROOT" ]; then
|
|
echo "$FICUS_ROOT" is blank
|
|
fi
|
|
|
|
mkdir -p $FICUS_ROOT/toolchain || exit 1
|
|
|
|
pushd $FICUS_ROOT/toolchain
|
|
|
|
mkdir -p gcc-i686-elf
|
|
|
|
pushd gcc-i686-elf
|
|
|
|
if [ ! -d gcc-13.2.0 ]; then
|
|
wget https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.xz
|
|
tar xf gcc-13.2.0.tar.xz
|
|
rm gcc-13.2.0.tar.xz
|
|
fi
|
|
|
|
cd gcc-13.2.0
|
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
|
|
patch -p1 -u -i "$SCRIPT_DIR/p1.patch"
|
|
patch -p1 -u -i "$SCRIPT_DIR/p2.patch"
|
|
|
|
cd ..
|
|
|
|
mkdir -p build
|
|
pushd build
|
|
|
|
export PREFIX="$FICUS_ROOT/toolchain/gcc-i686-elf-prefix/"
|
|
export TARGET=i686-elf
|
|
export PATH="$PREFIX/bin:$PATH"
|
|
|
|
if [ ! -f "$FICUS_ROOT/toolchain/gcc-i686-elf-prefix/bin/i686-elf-as" ]; then
|
|
echo "binutils not found"
|
|
exit 1
|
|
fi
|
|
|
|
HOMEBREW_LIBS="--with-gmp=/opt/homebrew --with-mpc=/opt/homebrew --with-mpfr=/opt/homebrew"
|
|
|
|
ADDONS=""
|
|
|
|
if [ ! -z ${USE_BREW_LIBS+x} ]; then
|
|
ADDONS="$HOMEBREW_LIBS $ADDONS"
|
|
fi
|
|
|
|
pushd ../gcc-13.2.0/
|
|
./contrib/download_prerequisites
|
|
popd
|
|
../gcc-13.2.0/configure --target=$TARGET --prefix="$PREFIX" --disable-nls --enable-languages=c,c++ --with-newlib --without-headers --enable-version-specific-runtime-libs $ADDONS
|
|
make -j$(nproc) all-gcc
|
|
make -j$(nproc) all-target-libgcc
|
|
make install-gcc
|
|
make install-target-libgcc
|
|
|
|
touch -m ../done
|