apio
0abd9153ae
Wasn't causing problems earlier, but when trying to rebuild the toolchain, it failed because of this.
72 lines
1.7 KiB
Bash
Executable File
72 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
source $(dirname $0)/setup-env.sh
|
|
|
|
cd $LUNA_ROOT
|
|
|
|
if [ ! -x $(command -v $LUNA_ARCH-luna-as) ]
|
|
then
|
|
echo Binutils should be cross-built before GCC.
|
|
exit 1
|
|
fi
|
|
|
|
tools/install-headers.sh # install the LibC headers before building GCC
|
|
|
|
mkdir -p toolchain/tarballs
|
|
mkdir -p toolchain/build
|
|
|
|
if [ ! -f toolchain/tarballs/gcc-$LUNA_GCC_VERSION_REQUIRED.tar.xz ]; then
|
|
echo Downloading GCC...
|
|
|
|
wget -Otoolchain/tarballs/gcc-$LUNA_GCC_VERSION_REQUIRED.tar.xz https://ftp.gnu.org/gnu/gcc/gcc-$LUNA_GCC_VERSION_REQUIRED/gcc-$LUNA_GCC_VERSION_REQUIRED.tar.xz
|
|
fi
|
|
|
|
rm -rf toolchain/build/gcc-$LUNA_ARCH
|
|
rm -rf toolchain/build/gcc-$LUNA_GCC_VERSION_REQUIRED
|
|
|
|
echo Extracting GCC...
|
|
|
|
tar xf toolchain/tarballs/gcc-$LUNA_GCC_VERSION_REQUIRED.tar.xz -C toolchain/build/
|
|
|
|
echo Patching GCC...
|
|
|
|
cd toolchain
|
|
|
|
patch -u -i $LUNA_ROOT/tools/gcc.patch -p 1 -d build
|
|
|
|
cd -
|
|
|
|
cd toolchain/build/gcc-$LUNA_GCC_VERSION_REQUIRED/libstdc++-v3
|
|
autoconf
|
|
cd -
|
|
|
|
echo Configuring GCC...
|
|
|
|
mkdir -p toolchain/build/gcc-$LUNA_ARCH
|
|
|
|
cd toolchain/build/gcc-$LUNA_ARCH
|
|
|
|
unset CC
|
|
unset CXX
|
|
unset LD
|
|
unset AR
|
|
|
|
../gcc-$LUNA_GCC_VERSION_REQUIRED/configure --prefix="$BUILD_PREFIX" --target=$BUILD_TARGET --disable-nls --with-sysroot=$BUILD_SYSROOT --enable-languages=c,c++ --enable-initfini-array
|
|
|
|
echo Building GCC...
|
|
|
|
make all-gcc -j$(nproc)
|
|
make all-target-libgcc -j$(nproc) CFLAGS_FOR_TARGET='-g -O2 -mcmodel=large -mno-red-zone'
|
|
|
|
echo Installing GCC...
|
|
|
|
make install-gcc
|
|
make install-target-libgcc
|
|
|
|
mkdir -p $LUNA_BUILD_DIR
|
|
cmake -S $LUNA_ROOT -B $LUNA_BUILD_DIR -G "$LUNA_CMAKE_GENERATOR_NAME" -DLIBC_BOOTSTRAP=1
|
|
cmake --build $LUNA_BUILD_DIR --target libc
|
|
|
|
make all-target-libstdc++-v3 CXXFLAGS_FOR_TARGET="-fno-exceptions" -j$(nproc)
|
|
make install-target-libstdc++-v3
|