#!/bin/bash # Make sure that libgmp and libmpfr are installed before you run this script. # On Debian systems, e.g. Ubuntu, you can install these libraries as follows: # sudo apt-get install libgmp3-dev libmpfr-dev. In openSUSE these packages # are called gmp-devel and mpfr-devel. GCC_VERSION=4.5.0 FSF_MIRROR=ftp://ftp.easynet.be/gnu SRCDIR=$HOME/software DOWNLOADS=$SRCDIR/downloads SRC=$HOME/software/gcc-${GCC_VERSION} BUILD=${SRC}-build TAR=gcc-${GCC_VERSION}.tar.bz2 PREFIX=$HOME/gcc-${GCC_VERSION} GMP_PREFIX=/usr #GMP_PREFIX=$HOME/gmp-5.0.1 MPFR_PREFIX=/usr #MPFR_PREFIX=$HOME/mpfr-2.4.2 MPC_PREFIX=/usr #MPC_PREFIX=$HOME/mpc-0.8.1 export LC_ALL=C export MAKEFLAGS="-j$(($(grep -c '^processor' /proc/cpuinfo) + 1))" if [ ! -e $GMP_PREFIX/include/gmp.h ]; then echo "Please install the gmp library development package first." exit 1 fi if [ ! -e $MPFR_PREFIX/include/mpfr.h ]; then echo "Please install the mpfr library development package first." exit 1 fi if [ ! -e $MPC_PREFIX/include/mpc.h ]; then echo "Please install the mpc library development package first." exit 1 fi rm -rf ${BUILD} || exit $? rm -rf ${PREFIX} || exit $? mkdir -p ${DOWNLOADS} || exit $? mkdir -p ${BUILD} || exit $? cd ${BUILD} || exit $? if [ ! -e $DOWNLOADS/$TAR ]; then ( if cd $DOWNLOADS; then wget -q $FSF_MIRROR/gcc/gcc-${GCC_VERSION}/$TAR \ || { wget -q -O- $FSF_MIRROR/gcc/gcc-${GCC_VERSION}/${TAR%bz2}gz \ | gzip -cd | bzip2 -9 >${TAR}; } fi ) fi if [ ! -e $SRC ]; then ( cd $SRCDIR && tar -xjf $DOWNLOADS/$TAR ) fi ${SRC}/configure \ --disable-linux-futex \ --disable-mudflap \ --disable-nls \ --enable-languages=c,c++ \ --enable-threads=posix \ --enable-tls \ --prefix=$PREFIX \ --with-gmp=$GMP_PREFIX \ --with-mpfr=$MPFR_PREFIX \ --with-mpc=$MPC_PREFIX time { make -s && make -s install; }