easybuild.toolchains.compiler.gcc module

Support for GCC (GNU Compiler Collection) as toolchain compiler.

author:Stijn De Weirdt (Ghent University)
author:Kenneth Hoste (Ghent University)
class easybuild.toolchains.compiler.gcc.Gcc(*args, **kwargs)

Bases: easybuild.tools.toolchain.compiler.Compiler

GCC compiler class

COMPILER_CC = 'gcc'
COMPILER_CXX = 'g++'
COMPILER_C_UNIQUE_FLAGS = []
COMPILER_F77 = 'gfortran'
COMPILER_F90 = 'gfortran'
COMPILER_FAMILY = 'GCC'
COMPILER_FC = 'gfortran'
COMPILER_F_UNIQUE_FLAGS = ['f2c']
COMPILER_GENERIC_OPTION = {('POWER', 'POWER'): 'mcpu=powerpc64', ('AArch32', 'ARM'): 'mcpu=generic-armv7', ('x86_64', 'Intel'): 'march=x86-64 -mtune=generic', ('AArch64', 'ARM'): 'mcpu=generic', ('x86_64', 'AMD'): 'march=x86-64 -mtune=generic', ('POWER', 'POWER little-endian'): 'mcpu=powerpc64le'}
COMPILER_MODULE_NAME = ['GCC']
COMPILER_OPTIMAL_ARCHITECTURE_OPTION = {('POWER', 'POWER'): 'mcpu=native', ('AArch32', 'ARM'): 'mcpu=native', ('x86_64', 'Intel'): 'march=native', ('AArch64', 'ARM'): 'mcpu=native', ('x86_64', 'AMD'): 'march=native', ('POWER', 'POWER little-endian'): 'mcpu=native'}
COMPILER_UNIQUE_OPTION_MAP = {'precise': ['mno-recip'], 'i8': 'fdefault-integer-8', 'loose': ['mrecip', 'mno-ieee-fp'], 'defaultprec': [], 'ieee': ['mieee-fp', 'fno-trapping-math'], 'f2c': 'ff2c', 'veryloose': ['mrecip=all', 'mno-ieee-fp'], 'r8': 'fdefault-real-8', 'strict': ['mieee-fp', 'mno-recip'], 'unroll': 'funroll-loops', 'lto': 'flto', 'loop': ['ftree-switch-conversion', 'floop-interchange', 'floop-strip-mine', 'floop-block']}
COMPILER_UNIQUE_OPTS = {'f2c': (False, 'Generate code compatible with f2c and f77'), 'lto': (False, 'Enable Link Time Optimization'), 'loop': (False, 'Automatic loop parallellisation')}
LIB_MATH = ['m']
LIB_MULTITHREAD = ['pthread']