. "$PROJECTDIR/build/gcc/package.env" . "$PROJECTDIR/build/gmp/package.env" . "$PROJECTDIR/build/isl/package.env" . "$PROJECTDIR/build/mpc/package.env" . "$PROJECTDIR/build/mpfr/package.env" fetch $GCC_URL fetch $GMP_URL fetch $ISL_URL fetch $MPC_URL fetch $MPFR_URL cd "$SOURCES" && tar xf gcc-$GCC_VERSION.tar.xz && cd gcc-$GCC_VERSION bootstrap() { tar xf ../gmp-$GMP_VERSION.tar.xz && mv gmp-$GMP_VERSION gmp tar xf ../isl-$ISL_VERSION.tar.xz && mv isl-$ISL_VERSION isl tar xf ../mpc-$MPC_VERSION.tar.gz && mv mpc-$MPC_VERSION mpc tar xf ../mpfr-$MPFR_VERSION.tar.xz && mv mpfr-$MPFR_VERSION mpfr sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64 mkdir -p build && cd build ../configure \ --target=$TARGET \ --prefix="$SYSROOT/cross" \ --with-glibc-version=2.43 \ --with-sysroot="$SYSROOT" \ --with-newlib \ --without-headers \ --enable-default-pie \ --enable-default-ssp \ --disable-nls \ --disable-shared \ --disable-multilib \ --disable-threads \ --disable-libatomic \ --disable-libgomp \ --disable-libquadmath \ --disable-libssp \ --disable-libvtv \ --disable-libstdcxx \ --enable-languages=c,c++ > /dev/null make > /dev/null && make install > /dev/null cd .. cat gcc/limitx.h gcc/glimits.h gcc/limity.h > "`dirname $($TARGET-gcc -print-libgcc-file-name)`/include/limits.h" } toolchain() { echo toolchain } setup() { echo setup } final() { echo final } case $1 in bootstrap) bootstrap ;; toolchain) toolchain ;; setup) setup ;; final) final ;; esac cd "$SOURCES" && rm -rf "$SOURCES/gcc-$GCC_VERSION"