55 lines
1.5 KiB
Bash
Executable file
55 lines
1.5 KiB
Bash
Executable file
#!/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"
|