diff --git a/etc/config.csh/compiler b/etc/config.csh/compiler new file mode 100644 index 0000000000000000000000000000000000000000..6c457e763a960b0bdbf7cc3d83be7d2714771b14 --- /dev/null +++ b/etc/config.csh/compiler @@ -0,0 +1,90 @@ +#----------------------------------*-sh-*-------------------------------------- +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright (C) 2016 OpenFOAM Foundation +# \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. +#------------------------------------------------------------------------------ +# License +# This file is part of OpenFOAM. +# +# OpenFOAM is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# +# File +# etc/config.csh/compiler +# +# Description +# Startup file for custom compiler versions for OpenFOAM +# Sourced from OpenFOAM-<VERSION>/etc/config.csh/settings +# +#------------------------------------------------------------------------------ + +switch ("$WM_COMPILER_TYPE") +case OpenFOAM: +case ThirdParty: + # Default versions of GMP, MPFR and MPC, override as necessary + set gmp_version=gmp-system + set mpfr_version=mpfr-system + set mpc_version=mpc-system + + switch ("$WM_COMPILER") + case Gcc: + case Gcc48: + set gcc_version=gcc-4.8.5 + breaksw + case Gcc45: + set gcc_version=gcc-4.5.4 + breaksw + case Gcc46: + set gcc_version=gcc-4.6.4 + breaksw + case Gcc47: + set gcc_version=gcc-4.7.4 + breaksw + case Gcc49: + set gcc_version=gcc-4.9.3 + breaksw + case Gcc51: + set gcc_version=gcc-5.1.0 + breaksw + case Gcc52: + set gcc_version=gcc-5.2.0 + breaksw + case Gcc53: + set gcc_version=gcc-5.3.0 + breaksw + case Gcc54: + set gcc_version=gcc-5.4.0 + breaksw + case Gcc61: + set gcc_version=gcc-6.1.0 + breaksw + case Clang: + # Using clang - not gcc + setenv WM_CC 'clang' + setenv WM_CXX 'clang++' + set clang_version=llvm-3.7.0 + # set clang_version=llvm-3.8.0 + breaksw + default: + echo + echo "Warning in $WM_PROJECT_DIR/etc/config.csh/compiler:" + echo " Unknown OpenFOAM compiler type '$WM_COMPILER'" + echo " Please check your settings" + echo + breaksw + endsw +endsw + +#------------------------------------------------------------------------------ diff --git a/etc/config.csh/settings b/etc/config.csh/settings index 6c201aefa847f4e6bd22a0e398672555c8c7a254..592b71bbb37f31b2b59c2433a08c0c851710c169 100644 --- a/etc/config.csh/settings +++ b/etc/config.csh/settings @@ -213,65 +213,21 @@ if ( ! $?WM_COMPILER_TYPE ) then echo " WM_COMPILER_TYPE not set, using '$WM_COMPILER_TYPE'" endif +# Load configured compiler versions, regardless of the compiler type +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/compiler` + switch ("$WM_COMPILER_TYPE") +case system: + # Use system compiler + breaksw + case OpenFOAM: case ThirdParty: - # Default versions of GMP, MPFR and MPC, overide as necessary - set gmp_version=gmp-system - set mpfr_version=mpfr-system - set mpc_version=mpc-system - switch ("$WM_COMPILER") - case Gcc: - case Gcc48: - set gcc_version=gcc-4.8.5 - breaksw - case Gcc45: - set gcc_version=gcc-4.5.4 - breaksw - case Gcc46: - set gcc_version=gcc-4.6.4 - breaksw - case Gcc47: - set gcc_version=gcc-4.7.4 - breaksw - case Gcc49: - set gcc_version=gcc-4.9.3 - breaksw - case Gcc51: - set gcc_version=gcc-5.1.0 - breaksw - case Gcc52: - set gcc_version=gcc-5.2.0 - breaksw - case Gcc53: - set gcc_version=gcc-5.3.0 - breaksw - case Gcc54: - set gcc_version=gcc-5.4.0 - breaksw - case Gcc61: - set gcc_version=gcc-6.1.0 - breaksw - case Clang: - # Using clang - not gcc - setenv WM_CC 'clang' - setenv WM_CXX 'clang++' - set clang_version=llvm-3.7.0 - # set clang_version=llvm-3.8.0 - breaksw - default: - echo - echo "Warning in $WM_PROJECT_DIR/etc/config.csh/settings:" - echo " Unknown OpenFOAM compiler type '$WM_COMPILER'" - echo " Please check your settings" - echo - breaksw - endsw - - # Optional configuration tweaks: - _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/compiler` - if ( $?gcc_version ) then + if ( ! $?gmp_version ) set gmp_version=gmp-system + if ( ! $?mpfr_version ) set mpfr_version=mpfr-system + if ( ! $?mpc_version ) set mpc_version=mpc-system set gccDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gcc_version set gmpDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gmp_version set mpfrDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$mpfr_version @@ -333,14 +289,15 @@ case ThirdParty: _foamAddMan $clangDir/man _foamAddPath $clangDir/bin + + if ($?FOAM_VERBOSE && $?prompt) then + echo "Using ThirdParty compiler" + echo " ${clangDir:t}" + endif endif unset clang_version clangDir breaksw -case system: - # Use system compiler - breaksw - default: echo "Warn: WM_COMPILER_TYPE='$WM_COMPILER_TYPE' is unsupported" echo " treating as 'system' instead" diff --git a/etc/config.sh/compiler b/etc/config.sh/compiler index bcf61cead9130b0a80a2bb124216e556e87ba39a..876fe2b7fba9c3b90ad58b908d9983cb12a20385 100644 --- a/etc/config.sh/compiler +++ b/etc/config.sh/compiler @@ -86,3 +86,5 @@ OpenFOAM | ThirdParty) ;; esac + +#------------------------------------------------------------------------------ diff --git a/etc/config.sh/settings b/etc/config.sh/settings index 48a1f9b0dea6b16c2f96d0e208eeda1e76a590d9..53cb221e0002f6d9739dbcbef1621cf2666f0513 100644 --- a/etc/config.sh/settings +++ b/etc/config.sh/settings @@ -214,8 +214,10 @@ fi _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/compiler` case "$WM_COMPILER_TYPE" in +system) + # Use system compiler + ;; OpenFOAM | ThirdParty) - if [ -n "$gcc_version" ] then gccDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gcc_version @@ -284,12 +286,15 @@ OpenFOAM | ThirdParty) _foamAddMan $clangDir/share/man _foamAddPath $clangDir/bin + + if [ "$FOAM_VERBOSE" -a "$PS1" ] + then + echo "Using ThirdParty compiler" + echo " ${clangDir##*/}" + fi fi unset clang_version clangDir ;; -system) - # Use system compiler - ;; *) echo "Warn: WM_COMPILER_TYPE='$WM_COMPILER_TYPE' is unsupported" 1>&2 echo " treating as 'system' instead" 1>&2