easybuild.tools.toolchain.toolchainvariables module

Toolchain specific variables

author:Stijn De Weirdt (Ghent University)
author:Kenneth Hoste (Ghent University)
class easybuild.tools.toolchain.toolchainvariables.ToolchainVariables(*args, **kwargs)

Bases: easybuild.tools.variables.Variables

Class to hold variable-like key/value pairs in context of compilers (i.e. the generated string are e.g. compiler options or link flags)

DEFAULT_CLASS

alias of FlagList

LINKER_TOGGLE_START_STOP_GROUP = None
LINKER_TOGGLE_STATIC_DYNAMIC = None
MAP_CLASS = {<class 'easybuild.tools.toolchain.variables.CommandFlagList'>: ['CC', 'CXX', 'F77', 'F90', 'FC', 'MPICC', 'MPICXX', 'MPIF77', 'MPIF90', 'MPIFC', 'CC_SEQ', 'CXX_SEQ', 'F77_SEQ', 'F90_SEQ', 'FC_SEQ', 'CUDA_CC', 'CUDA_CXX', 'CUDA_F77', 'CUDA_F90', 'CUDA_FC'], <class 'easybuild.tools.toolchain.variables.FlagList'>: ['OPTFLAGS', 'PRECFLAGS', 'CFLAGS', 'CXXFLAGS', 'FCFLAGS', 'FFLAGS', 'F90FLAGS', 'CUDA_CFLAGS', 'CUDA_CXXFLAGS', 'CUDA_FCFLAGS', 'CUDA_FFLAGS', 'CUDA_F90FLAGS'], <class 'easybuild.tools.variables.AbsPathList'>: ['MPI_LIB_STATIC', 'MPI_LIB_SHARED', 'MPI_LIB_DIR', 'MPI_INC_DIR', 'BLAS_LIB_DIR', 'BLAS_INC_DIR', 'LAPACK_LIB_DIR', 'LAPACK_INC_DIR', 'BLAS_LAPACK_LIB_DIR', 'BLAS_LAPACK_INC_DIR', 'BLACS_LIB_DIR', 'BLACS_INC_DIR', 'SCALAPACK_LIB_DIR', 'SCALAPACK_INC_DIR', 'FFT_LIB_DIR', 'FFT_INC_DIR', 'FFTW_LIB_DIR', 'FFTW_INC_DIR'], <class 'easybuild.tools.toolchain.variables.LibraryList'>: ['LIBS', 'FLIBS', 'LIBBLAS', 'LIBBLAS_MT', 'LIBLAPACK_ONLY', 'LIBLAPACK_MT_ONLY', 'LIBLAPACK', 'LIBLAPACK_MT', 'LIBBLACS', 'LIBBLACS_MT', 'LIBSCALAPACK_ONLY', 'LIBSCALAPACK_MT_ONLY', 'LIBSCALAPACK', 'LIBSCALAPACK_MT', 'LIBFFT', 'LIBFFT_MT'], <class 'easybuild.tools.toolchain.variables.IncludePaths'>: ['CPPFLAGS'], <class 'easybuild.tools.toolchain.variables.LinkLibraryPaths'>: ['LDFLAGS'], <class 'easybuild.tools.toolchain.variables.CommaStaticLibs'>: ['BLAS_STATIC_LIBS', 'BLAS_MT_STATIC_LIBS', 'LAPACK_STATIC_LIBS', 'LAPACK_MT_STATIC_LIBS', 'BLAS_LAPACK_STATIC_LIBS', 'BLAS_LAPACK_MT_STATIC_LIBS', 'BLACS_STATIC_LIBS', 'BLACS_MT_STATIC_LIBS', 'SCALAPACK_STATIC_LIBS', 'SCALAPACK_MT_STATIC_LIBS', 'FFT_STATIC_LIBS', 'FFT_STATIC_LIBS_MT', 'FFTW_STATIC_LIBS']}
add_begin_end_linkerflags(lib, toggle_startstopgroup=False, toggle_staticdynamic=False)
For given lib
if toggle_startstopgroup: toggle begin/end group if toggle_staticdynamic: toggle static/dynamic