name = "GCC"
version = '4.7.4'
versionsuffix = "-CLooG-PPL"

homepage = 'http://gcc.gnu.org/'
description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran,
 Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...)."""

toolchain = {'name': 'dummy', 'version': 'dummy'}

pplver = '0.12.1'

source_urls = [
    'http://ftpmirror.gnu.org/gnu/%(namelower)s/%(namelower)s-%(version)s',  # GCC auto-resolving HTTP mirror
    'http://ftpmirror.gnu.org/gnu/gmp',  # idem for GMP
    'http://ftpmirror.gnu.org/gnu/mpfr',  # idem for MPFR
    'http://ftpmirror.gnu.org/gnu/mpc/',  # idem for MPC
    'http://bugseng.com/products/ppl/download/ftp/releases/%s' % pplver,  # PPL official
    'http://www.bastoul.net/cloog/pages/download/',  # CLooG official
    'ftp://gcc.gnu.org/pub/gcc/infrastructure/',  # GCC dependencies, for PPL and CLooG-PPL
    'http://gcc.cybermirror.org/infrastructure/',  # HTTP mirror for GCC dependencies
]
sources = [
    SOURCELOWER_TAR_GZ,
    'gmp-5.1.3.tar.bz2',
    'mpfr-3.1.2.tar.gz',
    'mpc-1.0.1.tar.gz',
    'cloog-0.16.3.tar.gz',
    'ppl-%s.tar.gz' % pplver,
]

patches = [
    ('ppl-0.12.1-mpfr.patch', '../ppl-%s' % pplver),
    'mpfr-3.1.0-changes_fix.patch',
]

checksums = [
    'f07a9c4078dbccdcc18bc840ab5e0fe9',     # gcc-4.7.4.tar.gz
    'a082867cbca5e898371a97bb27b31fea',     # gmp-5.1.3.tar.bz2
    '181aa7bb0e452c409f2788a4a7f38476',     # mpfr-3.1.2.tar.gz
    'b32a2e1a3daa392372fbd586d1ed3679',     # mpc-1.0.1.tar.gz
    'a0f8a241cd1c4f103f8d2c91642b3498',     # cloog-0.16.3.tar.gz
    'cec8144f2072ac45a850214cca97d075',     # ppl-0.12.1.tar.gz
    'b6153bac75ee9e2a78e08ee97bf045f2',     # ppl-0.12.1-mpfr.patch
    'fa4095252d843d465ac9aa5e2d760dd8',     # mpfr-3.1.0-changes_fix.patch
]

languages = ['c', 'c++', 'fortran']

withcloog = True
withppl = True

clooguseisl = True

# building GCC sometimes fails if make parallelism is too high, so let's limit it
maxparallel = 4

moduleclass = 'compiler'
