diff --git a/bin/tools/foamConfigurePaths b/bin/tools/foamConfigurePaths
index 4352152125..b267a235e2 100755
--- a/bin/tools/foamConfigurePaths
+++ b/bin/tools/foamConfigurePaths
@@ -7,11 +7,10 @@
# \\/ M anipulation |
#------------------------------------------------------------------------------
# Copyright (C) 2011-2016 OpenFOAM Foundation
-# Copyright (C) 2016-2019 OpenCFD Ltd.
+# Copyright (C) 2016-2020 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
-# This file is part of OpenFOAM, licensed under GNU General Public License
-# .
+# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
#
# Script
# foamConfigurePaths
@@ -39,8 +38,8 @@ Basic
Compiler
-system NAME specify 'system' compiler to use (eg, Gcc, Icc,...)
-third NAME specify 'ThirdParty' compiler to use (eg, Clang40,...)
- -gcc VER specify 'gcc_version' for ThirdParty Gcc
- -clang VER specify 'clang_version' for ThirdParty Clang
+ -gcc VER specify 'default_gcc_version' for ThirdParty Gcc
+ -clang VER specify 'default_clang_version' for ThirdParty Clang
gmp-VERSION for ThirdParty gcc (gmp-system for system library)
mpfr-VERSION for ThirdParty gcc (mpfr-system for system library)
mpc-VERSION for ThirdParty gcc (mpc-system for system library)
@@ -346,19 +345,19 @@ do
## Compiler ##
-clang)
- # Replace clang_version=...
+ # Replace default_clang_version=...
optionValue=$(getOptionValue "$@")
- replace etc/config.sh/compiler clang_version "$optionValue"
- replace etc/config.csh/compiler clang_version "$optionValue"
+ replace etc/config.sh/compiler default_clang_version "$optionValue"
+ replace etc/config.csh/compiler default_clang_version "$optionValue"
adjusted=true
shift
;;
-gcc)
- # Replace gcc_version=...
+ # Replace default_gcc_version=...
optionValue=$(getOptionValue "$@")
- replace etc/config.sh/compiler gcc_version "$optionValue"
- replace etc/config.csh/compiler gcc_version "$optionValue"
+ replace etc/config.sh/compiler default_gcc_version "$optionValue"
+ replace etc/config.csh/compiler default_gcc_version "$optionValue"
adjusted=true
shift
;;
@@ -391,22 +390,22 @@ do
gmp-[4-9]* | gmp-system)
# gcc-related package
- replace etc/config.sh/compiler gmp_version "$1"
- replace etc/config.csh/compiler gmp_version "$1"
+ replace etc/config.sh/compiler default_gmp_version "$1"
+ replace etc/config.csh/compiler default_gmp_version "$1"
adjusted=true
;;
mpfr-[2-9]* | mpfr-system)
# gcc-related package
- replace etc/config.sh/compiler mpfr_version "$1"
- replace etc/config.csh/compiler mpfr_version "$1"
+ replace etc/config.sh/compiler default_mpfr_version "$1"
+ replace etc/config.csh/compiler default_mpfr_version "$1"
adjusted=true
;;
mpc-[0-9]* | mpc-system)
# gcc-related package
- replace etc/config.sh/compiler mpc_version "$1"
- replace etc/config.csh/compiler mpc_version "$1"
+ replace etc/config.sh/compiler default_mpc_version "$1"
+ replace etc/config.csh/compiler default_mpc_version "$1"
adjusted=true
;;
diff --git a/etc/config.csh/compiler b/etc/config.csh/compiler
index 886dea905b..88300272a1 100644
--- a/etc/config.csh/compiler
+++ b/etc/config.csh/compiler
@@ -6,11 +6,10 @@
# \\/ M anipulation |
#------------------------------------------------------------------------------
# Copyright (C) 2016 OpenFOAM Foundation
-# Copyright (C) 2016-2019 OpenCFD Ltd.
+# Copyright (C) 2016-2020 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
-# This file is part of OpenFOAM, licensed under GNU General Public License
-# .
+# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
#
# File
# etc/config.csh/compiler
@@ -24,14 +23,19 @@
switch ("$WM_COMPILER_TYPE")
case ThirdParty:
- # Default versions of GMP, MPFR, MPC - override as necessary
+ # Default versions (CLANG, GCC, GMP, MPFR, MPC) - override as necessary
- set gmp_version=gmp-system
- set mpfr_version=mpfr-system
- set mpc_version=mpc-system
+ set default_clang_version=llvm-3.7.1
+ set default_gcc_version=gcc-4.8.5
+
+ set default_gmp_version=gmp-system
+ set default_mpfr_version=mpfr-system
+ set default_mpc_version=mpc-system
switch ("$WM_COMPILER")
case Gcc:
+ set gcc_version="$default_gcc_version"
+ breaksw
case Gcc48*:
set gcc_version=gcc-4.8.5
breaksw
@@ -95,7 +99,10 @@ case ThirdParty:
case Gcc92*:
set gcc_version=gcc-9.2.0
breaksw
+
case Clang:
+ set clang_version="$default_clang_version"
+ breaksw
case Clang37*:
set clang_version=llvm-3.7.1
breaksw
@@ -126,6 +133,7 @@ case ThirdParty:
case Clang90*:
set clang_version=llvm-9.0.0
breaksw
+
default:
/bin/cat << UNKNOWN_COMPILER
===============================================================================
@@ -143,4 +151,7 @@ UNKNOWN_COMPILER
breaksw
endsw
+unset default_gcc_version default_clang_version
+unset default_gmp_version default_mpfr_version default_mpc_version
+
#------------------------------------------------------------------------------
diff --git a/etc/config.csh/example/compiler b/etc/config.csh/example/compiler
index 25e7eacdde..9355dac790 100644
--- a/etc/config.csh/example/compiler
+++ b/etc/config.csh/example/compiler
@@ -9,15 +9,17 @@
# Copyright (C) 2017 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
-# This file is part of OpenFOAM, licensed under GNU General Public License
-# .
+# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
#
# File
# config.csh/example/compiler
# - sourced by OpenFOAM-*/etc/config.csh/settings
#
# Description
-# Example of fine tuning ThirdParty compiler settings for OpenFOAM
+# Older example of fine tuning compiler settings for OpenFOAM
+#
+# The preferred mechanism is now with a "compiler-$WM_COMPILER" file
+# in one of the etc/ directories.
#
#------------------------------------------------------------------------------
@@ -26,7 +28,7 @@ eval `$WM_PROJECT_DIR/bin/foamEtcFile -csh -config -mode=o compiler`
# Modify/override compiler settings
switch ("$WM_COMPILER")
-case Gcc70:
+case Gcc70*:
set gcc_version=gcc-7.0.0
set gmp_version=gmp-6.1.2
set mpfr_version=mpfr-3.1.5
diff --git a/etc/config.csh/example/compiler-Gcc92 b/etc/config.csh/example/compiler-Gcc92
new file mode 100644
index 0000000000..9bf5baeb27
--- /dev/null
+++ b/etc/config.csh/example/compiler-Gcc92
@@ -0,0 +1,28 @@
+#----------------------------------*-sh-*--------------------------------------
+# ========= |
+# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+# \\ / O peration |
+# \\ / A nd | www.openfoam.com
+# \\/ M anipulation |
+#------------------------------------------------------------------------------
+# Copyright (C) 2020 OpenCFD Ltd.
+#------------------------------------------------------------------------------
+# License
+# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
+#
+# File
+# config.csh/example/compiler-Gcc92
+# - sourced by OpenFOAM-*/etc/config.csh/compiler
+#
+# Description
+# Example of fine tuning compiler settings with a hook
+#
+#------------------------------------------------------------------------------
+
+# Modify/override compiler settings
+set gcc_version=gcc-9.2.0
+set gmp_version=gmp-6.2.0
+set mpfr_version=mpfr-4.0.2
+set mpc_version=mpc-1.1.0
+
+#------------------------------------------------------------------------------
diff --git a/etc/config.sh/compiler b/etc/config.sh/compiler
index 41e73eeba4..36e4fda3bb 100644
--- a/etc/config.sh/compiler
+++ b/etc/config.sh/compiler
@@ -6,11 +6,10 @@
# \\/ M anipulation |
#------------------------------------------------------------------------------
# Copyright (C) 2011-2016 OpenFOAM Foundation
-# Copyright (C) 2016-2019 OpenCFD Ltd.
+# Copyright (C) 2016-2020 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
-# This file is part of OpenFOAM, licensed under GNU General Public License
-# .
+# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
#
# File
# etc/config.sh/compiler
@@ -24,13 +23,21 @@
case "$WM_COMPILER_TYPE" in
ThirdParty)
- # Default versions of GMP, MPFR, MPC - override as necessary
- gmp_version=gmp-system
- mpfr_version=mpfr-system
- mpc_version=mpc-system
+ # Default versions (CLANG, GCC, GMP, MPFR, MPC) - override as necessary
+
+ default_clang_version=llvm-3.7.1
+ default_gcc_version=gcc-4.8.5
+
+ default_gmp_version=gmp-system
+ default_mpfr_version=mpfr-system
+ default_mpc_version=mpc-system
+
+ gmp_version="$default_gmp_version"
+ mpfr_version="$default_mpfr_version"
+ mpc_version="$default_mpc_version"
case "$WM_COMPILER" in
- Gcc |\
+ Gcc) gcc_version="$default_gcc_version" ;;
Gcc48*) gcc_version=gcc-4.8.5 ;;
Gcc49*) gcc_version=gcc-4.9.4 ;;
Gcc51*) gcc_version=gcc-5.1.0 ;;
@@ -54,7 +61,7 @@ ThirdParty)
Gcc91*) gcc_version=gcc-9.1.0 ;;
Gcc92*) gcc_version=gcc-9.2.0 ;;
- Clang |\
+ Clang) clang_version="$default_clang_version" ;;
Clang37*) clang_version=llvm-3.7.1 ;;
Clang38*) clang_version=llvm-3.8.1 ;;
Clang39*) clang_version=llvm-3.9.1 ;;
@@ -83,4 +90,7 @@ UNKNOWN_COMPILER
;;
esac
+unset default_gcc_version default_clang_version
+unset default_gmp_version default_mpfr_version default_mpc_version
+
#------------------------------------------------------------------------------
diff --git a/etc/config.sh/example/compiler b/etc/config.sh/example/compiler
index f55a55b458..385ef8ae7c 100644
--- a/etc/config.sh/example/compiler
+++ b/etc/config.sh/example/compiler
@@ -9,15 +9,17 @@
# Copyright (C) 2017 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
-# This file is part of OpenFOAM, licensed under GNU General Public License
-# .
+# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
#
# File
# config.sh/example/compiler
# - sourced by OpenFOAM-*/etc/config.sh/settings
#
# Description
-# Example of fine tuning compiler versions and settings for OpenFOAM
+# Older example of fine tuning compiler settings for OpenFOAM.
+#
+# The preferred mechanism is now with a "compiler-$WM_COMPILER" file
+# in one of the etc/ directories.
#
#------------------------------------------------------------------------------
@@ -26,18 +28,12 @@ eval $($WM_PROJECT_DIR/bin/foamEtcFile -sh -config -mode=o compiler)
# Modify/override compiler settings
case "$WM_COMPILER" in
-Gcc70)
+Gcc70*)
gcc_version=gcc-7.0.0
gmp_version=gmp-6.1.2
mpfr_version=mpfr-3.1.5
mpc_version=mpc-1.0.3
;;
-Gcc48u)
- # Example of using the system GCC 4.8 in Ubuntu 15.10. Keep in mind you
- # will also need to create the respective directory in "wmake/rules"
- export CC='gcc-4.8'
- export CXX='g++-4.8'
- ;;
esac
#------------------------------------------------------------------------------
diff --git a/etc/config.sh/example/compiler-Gcc92 b/etc/config.sh/example/compiler-Gcc92
new file mode 100644
index 0000000000..75b4de4cfa
--- /dev/null
+++ b/etc/config.sh/example/compiler-Gcc92
@@ -0,0 +1,28 @@
+#----------------------------------*-sh-*--------------------------------------
+# ========= |
+# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+# \\ / O peration |
+# \\ / A nd | www.openfoam.com
+# \\/ M anipulation |
+#------------------------------------------------------------------------------
+# Copyright (C) 2020 OpenCFD Ltd.
+#------------------------------------------------------------------------------
+# License
+# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
+#
+# File
+# config.sh/example/compiler-Gcc92
+# - sourced by OpenFOAM-*/etc/config.sh/compiler
+#
+# Description
+# Example of fine tuning compiler settings with a hook
+#
+#------------------------------------------------------------------------------
+
+# Modify/override compiler settings
+gcc_version=gcc-9.2.0
+gmp_version=gmp-6.2.0
+mpfr_version=mpfr-4.0.2
+mpc_version=mpc-1.1.0
+
+#------------------------------------------------------------------------------