openfoam/etc/config.csh/compiler
2024-06-20 12:52:06 +02:00

298 lines
7.8 KiB
Bash

#----------------------------------*-sh-*--------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | www.openfoam.com
# \\/ M anipulation |
#------------------------------------------------------------------------------
# Copyright (C) 2016 OpenFOAM Foundation
# Copyright (C) 2016-2024 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
#
# File
# etc/config.csh/compiler
# - sourced by OpenFOAM-*/etc/config.csh/settings
#
# Description
# Setup for custom compiler versions for OpenFOAM
# Per-compiler overrides in "compiler-$WM_COMPILER" files
#
# Note
# The default values for gcc/clang are not a recommendation,
# but typically correspond to the minimum usable version.
#
# I_MPI_CC, I_MPI_CXX environment variables may be defined for the
# Intel mpicc/mpicxx wrappers
#
# Caveat
# Not all compiler versions listed here are necessarily currently tested,
# but can generally be expected to work.
#
#------------------------------------------------------------------------------
# Initial mpi/compiler associations
switch ("$WM_COMPILER")
case Icc*:
setenv I_MPI_CC icc
setenv I_MPI_CXX icpc
breaksw
case Icx*:
setenv I_MPI_CC icx
setenv I_MPI_CXX icpx
breaksw
case Gcc*:
switch ("$WM_MPLIB")
case INTELMPI*:
setenv I_MPI_CC gcc
setenv I_MPI_CXX g++
breaksw
endsw
breaksw
endsw
#------------------------------------------------------------------------------
switch ("$WM_COMPILER_TYPE")
case ThirdParty:
# Default/minimum versions (compiler, GMP, MPFR, MPC) - override as needed
set default_clang_version=llvm-5.0.2
set default_gcc_version=gcc-7.5.0
set default_gmp_version=gmp-system
set default_mpfr_version=mpfr-system
set default_mpc_version=mpc-system
# Clear any old values
set gcc_version=''
set clang_version=''
switch ("$WM_COMPILER")
case Gcc:
set gcc_version="$default_gcc_version"
breaksw
case Gcc141*:
set gcc_version=gcc-14.1.0
breaksw
case Gcc133*:
set gcc_version=gcc-13.3.0
breaksw
case Gcc132*:
set gcc_version=gcc-13.2.0
breaksw
case Gcc131*:
set gcc_version=gcc-13.1.0
breaksw
case Gcc123*:
set gcc_version=gcc-12.3.0
breaksw
case Gcc122*:
set gcc_version=gcc-12.2.0
breaksw
case Gcc121*:
set gcc_version=gcc-12.1.0
breaksw
case Gcc114*:
set gcc_version=gcc-11.4.0
breaksw
case Gcc113*:
set gcc_version=gcc-11.3.0
breaksw
case Gcc112*:
set gcc_version=gcc-11.2.0
breaksw
case Gcc111*:
set gcc_version=gcc-11.1.0
breaksw
case Gcc105*:
set gcc_version=gcc-10.5.0
breaksw
case Gcc104*:
set gcc_version=gcc-10.4.0
breaksw
case Gcc103*:
set gcc_version=gcc-10.3.0
breaksw
case Gcc102*:
set gcc_version=gcc-10.2.0
breaksw
case Gcc101*:
set gcc_version=gcc-10.1.0
breaksw
case Gcc95*:
set gcc_version=gcc-9.5.0
breaksw
case Gcc94*:
set gcc_version=gcc-9.4.0
breaksw
case Gcc93*:
set gcc_version=gcc-9.3.0
breaksw
case Gcc92*:
set gcc_version=gcc-9.2.0
breaksw
case Gcc91*:
set gcc_version=gcc-9.1.0
breaksw
case Gcc85*:
set gcc_version=gcc-8.5.0
breaksw
case Gcc84*:
set gcc_version=gcc-8.4.0
breaksw
case Gcc83*:
set gcc_version=gcc-8.3.0
breaksw
case Gcc82*:
set gcc_version=gcc-8.2.0
breaksw
case Gcc81*:
set gcc_version=gcc-8.1.0
breaksw
case Gcc75*:
set gcc_version=gcc-7.5.0
breaksw
# Older : no assurance that they still work for OpenFOAM
case Gcc74*:
set gcc_version=gcc-7.4.0
breaksw
case Gcc73*:
set gcc_version=gcc-7.3.0
breaksw
case Gcc72*:
set gcc_version=gcc-7.2.0
breaksw
case Gcc71*:
set gcc_version=gcc-7.1.0
breaksw
# Older GCC series that receive no further bugfixes
case Gcc65*:
set gcc_version=gcc-6.5.0
breaksw
case Gcc64*:
set gcc_version=gcc-6.4.0
breaksw
case Gcc63*:
set gcc_version=gcc-6.3.0
breaksw
case Gcc62*:
set gcc_version=gcc-6.2.0
breaksw
case Gcc61*:
set gcc_version=gcc-6.1.0
breaksw
case Gcc55*:
set gcc_version=gcc-5.5.0
breaksw
#ancient# case Gcc54*:
#ancient# set gcc_version=gcc-5.4.0
#ancient# breaksw
#ancient# case Gcc53*:
#ancient# set gcc_version=gcc-5.3.0
#ancient# breaksw
#ancient# case Gcc52*:
#ancient# set gcc_version=gcc-5.2.0
#ancient# breaksw
#ancient# case Gcc51*:
#ancient# set gcc_version=gcc-5.1.0
#ancient# breaksw
#ancient# case Gcc49*:
#ancient# set gcc_version=gcc-4.9.4
#ancient# breaksw
#ancient# case Gcc48*:
#ancient# set gcc_version=gcc-4.8.5
#ancient# breaksw
case Clang:
set clang_version="$default_clang_version"
breaksw
case Clang181*:
set clang_version=llvm-18.1.6
breaksw
case Clang170*:
set clang_version=llvm-17.0.6
breaksw
case Clang160*:
set clang_version=llvm-16.0.6
breaksw
case Clang150*:
set clang_version=llvm-15.0.7
breaksw
case Clang140*:
set clang_version=llvm-14.0.6
breaksw
case Clang130*:
set clang_version=llvm-13.0.1
breaksw
case Clang120*:
set clang_version=llvm-12.0.1
breaksw
case Clang111*:
set clang_version=llvm-11.1.0
breaksw
case Clang110*:
set clang_version=llvm-11.0.1
breaksw
case Clang100*:
set clang_version=llvm-10.0.1
breaksw
case Clang90*:
set clang_version=llvm-9.0.1
breaksw
case Clang80*:
set clang_version=llvm-8.0.1
breaksw
case Clang71*:
set clang_version=llvm-7.1.0
breaksw
case Clang70*:
set clang_version=llvm-7.0.1
breaksw
case Clang60*:
set clang_version=llvm-6.0.1
breaksw
case Clang50*:
set clang_version=llvm-5.0.2
breaksw
#ancient# case Clang40*:
#ancient# set clang_version=llvm-4.0.1
#ancient# breaksw
#ancient# case Clang39*:
#ancient# set clang_version=llvm-3.9.1
#ancient# breaksw
#ancient# case Clang38*:
#ancient# set clang_version=llvm-3.8.1
#ancient# breaksw
#ancient# case Clang37*:
#ancient# set clang_version=llvm-3.7.1
#ancient# breaksw
endsw
_foamEtc -config prefs.compiler ## Optional adjustments
_foamEtc -config "compiler-$WM_COMPILER" ## Per-compiler override
# Trap errors
if ( "${gcc_version}${clang_version}" == "" ) then
/bin/cat << UNKNOWN_COMPILER
===============================================================================
Warning in $WM_PROJECT_DIR/etc/config.csh/compiler:
Unknown ThirdParty compiler type/version - '$WM_COMPILER'
Please check your settings
===============================================================================
UNKNOWN_COMPILER
endif
breaksw
endsw
#------------------------------------------------------------------------------
unset default_gcc_version default_clang_version
unset default_gmp_version default_mpfr_version default_mpc_version
#------------------------------------------------------------------------------