blob: 8b8cd4d9d24590d54fcb210702c0963224e1b77c [file] [log] [blame]
#!/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; }