blob: 1f0332ae68d6c67e44b8e440e4a0d9310bd4857a [file] [log] [blame]
#!/bin/sh -e
# Simple script to build GCC natively including its prerequisites.
#
# Depending on your needs you maybe able to speed up the GCC build:
#
# (a) Do not build a c++ compiler
# c++ is only needed for "make check" and running regression tests
# --> choose LANGUEGES=c below
# (b) Do not build a compiler that can produce 32-bit executables
# on a 64-bit platform
# --> choose MULTILIB=--disable-multilib below
#
# Define the following 5 variables:
BUILD_DIR=/tmp/build-gcc
INSTALL_DIR=/tmp/install
GCC_VERSION=5.1.0
LANGUAGES=c,c++
MULTILIB=
#LANGUAGES=c
#MULTILIB=--disable-multilib
#-----------------------------------------------------------
# No changes should be needed below this line
#-----------------------------------------------------------
# Create build directory
echo "...creating build directory $BUILD_DIR"
mkdir -p $BUILD_DIR
cd $BUILD_DIR
# Download tarballs
echo "...downloading tarball"
wget ftp://ftp.gnu.org/gnu/gcc/gcc-$GCC_VERSION/gcc-$GCC_VERSION.tar.bz2
# Build GCC
echo "...building GCC"
rm -rf gcc-$GCC_VERSION
tar xf gcc-$GCC_VERSION.tar.bz2
cd gcc-$GCC_VERSION
./contrib/download_prerequisites
cd ..
rm -rf objdir
mkdir objdir
cd objdir
../gcc-$GCC_VERSION/configure --prefix=$INSTALL_DIR --disable-bootstrap \
$MULTILIB --enable-languages=$LANGUAGES 2>&1 > gcc-config.log
make -s 2>&1 > gcc-make.log
make -s install 2>&1 > gcc-install.log
mv gcc-config.log gcc-make.log gcc-install.log ..
# done
echo "...done"