Files
axe-os/build/gcc/build.bash

83 lines
1.6 KiB
Bash

. $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