blob: 85989f030c70b5f48163989ba079e91cb02ff042 [file] [log] [blame]
bart523c3042008-06-18 08:26:45 +00001#!/bin/bash
barte3f40712008-06-04 18:08:10 +00002
3# Make sure that libgmp and libmpfr are installed before you run this script.
4# On Debian systems, e.g. Ubuntu, you can install these libraries as follows:
5# sudo apt-get install libgmp3-dev libmpfr-dev. In openSUSE these packages
6# are called gmp-devel and mpfr-devel.
7
8
bart68978182009-07-28 08:01:40 +00009GCC_VERSION=4.4.1
barte3f40712008-06-04 18:08:10 +000010FSF_MIRROR=ftp://ftp.easynet.be/gnu
11SRCDIR=$HOME/software
12DOWNLOADS=$SRCDIR/downloads
13SRC=$HOME/software/gcc-${GCC_VERSION}
14BUILD=${SRC}-build
15TAR=gcc-${GCC_VERSION}.tar.bz2
16PREFIX=$HOME/gcc-${GCC_VERSION}
bart6d606582008-06-12 13:49:49 +000017export LC_ALL=C
bartf0fca442008-06-04 18:57:08 +000018export MAKEFLAGS="-j$(($(grep -c '^processor' /proc/cpuinfo) + 1))"
barte3f40712008-06-04 18:08:10 +000019
20if [ ! -e /usr/include/gmp.h ]; then
21 echo "Please install the gmp library development package first."
22 exit 1
23fi
24
25if [ ! -e /usr/include/mpfr.h ]; then
26 echo "Please install the mpfr library development package first."
27 exit 1
28fi
29
30rm -rf ${BUILD} || exit $?
31rm -rf ${PREFIX} || exit $?
barte3f40712008-06-04 18:08:10 +000032mkdir -p ${DOWNLOADS} || exit $?
bart62bc4122008-06-28 09:59:35 +000033mkdir -p ${BUILD} || exit $?
barte3f40712008-06-04 18:08:10 +000034cd ${BUILD} || exit $?
35
36if [ ! -e $DOWNLOADS/$TAR ]; then
bart4e267ff2008-07-04 14:47:27 +000037(
38 if cd $DOWNLOADS; then
39 wget -q $FSF_MIRROR/gcc/gcc-${GCC_VERSION}/$TAR \
40 || { wget -q -O- $FSF_MIRROR/gcc/gcc-${GCC_VERSION}/${TAR%bz2}gz \
41 | gzip -cd | bzip2 -9 >${TAR}; }
42 fi
43)
barte3f40712008-06-04 18:08:10 +000044fi
45
46if [ ! -e $SRC ]; then
47 ( cd $SRCDIR && tar -xjf $DOWNLOADS/$TAR )
48fi
49
50${SRC}/configure \
51 --disable-linux-futex \
52 --disable-mudflap \
53 --disable-nls \
54 --enable-languages=c,c++ \
55 --enable-threads=posix \
56 --enable-tls \
57 --prefix=$PREFIX
58
bartf0fca442008-06-04 18:57:08 +000059time { make -s && make -s install; }