# GNU C Compiler
# Mostly required to support languages different than C or C++
[buildout]
extends =
  ../m4/buildout.cfg
  ../gmp/buildout.cfg
  ../zip/buildout.cfg

parts =
  gcc

[mpfr]
recipe = slapos.recipe.cmmi
url = http://www.mpfr.org/mpfr-3.0.1/mpfr-3.0.1.tar.bz2
md5sum = bfbecb2eacb6d48432ead5cfc3f7390a
configure-options =
  --with-gmp=${gmp-4:location}
  --disable-static
environment =
  LDFLAGS=-Wl,-rpath=${gmp-4:location}/lib

[mpc]
recipe = slapos.recipe.cmmi
url = http://www.multiprecision.org/mpc/download/mpc-0.9.tar.gz
md5sum = 0d6acab8d214bd7d1fbbc593e83dd00d
configure-options =
  --with-gmp=${gmp-4:location}
  --with-mpfr=${mpfr:location}
  --disable-static
environment =
  LDFLAGS=-Wl,-rpath=${mpfr:location}/lib -Wl,-rpath=${gmp-4:location}/lib

[ppl]
recipe = slapos.recipe.cmmi
# we should use version 0.11.x for gcc-4.7
url = http://bugseng.com/external/ppl/download/ftp/releases/0.11/ppl-0.11.tar.bz2
md5sum = c414abd2ecaf1f1f48949c78d383ee1a
patches =
  ${:_profile_base_location_}/ppl-0.11-gcc-4.9.patch#09e00eefba5f8e6e77a9c9c611fccc64

configure-options =
  --with-gmp=${gmp-4:location}
  --with-gmp-prefix=${gmp-4:location}
  --disable-static
environment =
  PATH=${m4:location}/bin:%(PATH)s
  LDFLAGS=-Wl,-rpath=${gmp-4:location}/lib
  CXXFLAGS=-fpermissive


[cloog-ppl]
recipe = slapos.recipe.cmmi
url = ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-0.16.1.tar.gz
md5sum = 947123350d1ff6dcb4b0774947ac015a
configure-options =
  --with-gmp-prefix=${gmp-4:location}
  --with-ppl=${ppl:location}
  --disable-static
environment =
  PATH=${m4:location}/bin:%(PATH)s
  LDFLAGS=-Wl,-rpath=${gmp-4:location}/lib -Wl,-rpath=${ppl:location}/lib

[gcc-common]
recipe = slapos.recipe.cmmi
url = http://ftp.gnu.org/gnu/gcc/gcc-4.7.4/gcc-4.7.4.tar.bz2
md5sum = 4c696da46297de6ae77a82797d2abe28
# make install does not work when several core are used
make-targets = install -j1

[gcc]
<= gcc-common
configure-options =
  --disable-bootstrap
  --disable-multilib
  --with-gmp=${gmp-4:location}
  --with-mpfr=${mpfr:location}
  --with-mpc=${mpc:location}
  --enable-languages="c,c++"
  --with-ppl=${ppl:location}
  --with-cloog=${cloog-ppl:location}
  --enable-cloog-backend=isl
environment =
  LDFLAGS=-Wl,-rpath=${mpfr:location}/lib -Wl,-rpath=${gmp-4:location}/lib -Wl,-rpath=${mpc:location}/lib -Wl,-rpath=${ppl:location}/lib -Wl,-rpath=${cloog-ppl:location}/lib

[gcc-minimal]
<= gcc-common
configure-options =
  --disable-bootstrap
  --disable-multilib
  --with-gmp=${gmp-4:location}
  --with-mpfr=${mpfr:location}
  --with-mpc=${mpc:location}
  --enable-languages=c
  --without-ppl
  --without-cloog
environment =
  LDFLAGS=-Wl,-rpath=${mpfr:location}/lib -Wl,-rpath=${gmp-4:location}/lib -Wl,-rpath=${mpc:location}/lib

[gcc-fortran]
<= gcc-common
configure-options =
  --disable-bootstrap
  --disable-multilib
  --with-gmp=${gmp-4:location}
  --with-mpfr=${mpfr:location}
  --with-mpc=${mpc:location}
  --enable-languages="c,c++,fortran"
  --with-ppl=${ppl:location}
  --with-cloog=${cloog-ppl:location}
  --enable-cloog-backend=isl
environment =
  LDFLAGS=-Wl,-rpath=${mpfr:location}/lib -Wl,-rpath=${gmp-4:location}/lib -Wl,-rpath=${mpc:location}/lib -Wl,-rpath=${ppl:location}/lib -Wl,-rpath=${cloog-ppl:location}/lib