| #!/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; } |