diff --git a/etc/config.csh/compiler b/etc/config.csh/compiler
new file mode 100644
index 0000000000..6c457e763a
--- /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 .
+#
+# File
+# etc/config.csh/compiler
+#
+# Description
+# Startup file for custom compiler versions for OpenFOAM
+# Sourced from OpenFOAM-/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 6c201aefa8..592b71bbb3 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 bcf61cead9..876fe2b7fb 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 48a1f9b0de..53cb221e00 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