# IT4Innovations easyblock = 'EB_GCC' name = 'GCCcore' version = '4.9.3' 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 = SYSTEM local_mpfr_version = '3.1.2' source_urls = [ 'http://ftpmirror.gnu.org/gcc/gcc-%s' % version, # GCC auto-resolving HTTP mirror 'http://ftpmirror.gnu.org/gmp', # idem for GMP 'http://ftpmirror.gnu.org/mpfr', # idem for MPFR 'http://www.multiprecision.org/mpc/download', # MPC official 'https://ftp.gnu.org/gnu/mpc/', ] sources = [ 'gcc-%(version)s.tar.bz2', 'gmp-6.0.0a.tar.bz2', 'mpfr-%s.tar.gz' % local_mpfr_version, 'mpc-1.0.2.tar.gz', ] builddependencies = [ ('Autotools', '20150215'), ('binutils', '2.25'), ] patches = [ ('mpfr-%s-allpatches-20141204.patch' % local_mpfr_version, '../mpfr-%s' % local_mpfr_version)] checksums = [ '6f831b4d251872736e8e9cc09746f327', # gcc-4.9.3.tar.bz2 'b7ff2d88cae7f8085bd5006096eed470', # gmp-6.0.0a.tar.bz2 '181aa7bb0e452c409f2788a4a7f38476', # mpfr-3.1.2.tar.gz '68fadff3358fb3e7976c7a398a0af4c3', # mpc-1.0.2.tar.gz '58aec98d15982f9744a043d2f1c5af82', # mpfr-3.1.2-allpatches-20141204.patch ] languages = ['c', 'c++', 'fortran'] # building GCC sometimes fails if make parallelism is too high, so let's # limit it maxparallel = 4 moduleclass = 'compiler' # Salomon specific optimalization modextravars = { 'CC': '%(installdir)s/bin/gcc', 'CXX': '%(installdir)s/bin/g++', 'F90': '%(installdir)s/bin/gfortran', 'F77': '%(installdir)s/bin/gfortran', 'FC': '%(installdir)s/bin/gfortran', 'F9X': '%(installdir)s/bin/gfortran', 'OPTFLAGS': '-O3 -march=native', 'DEBUGFLAGS': '-O0 -g' }