diff --git a/bin/tools/foamConfigurePaths b/bin/tools/foamConfigurePaths
index b99f37986b88ae1beaf3624bb2ec8c91f3001506..aff78a496bd131df7d61563c65eb460981c55d32 100755
--- a/bin/tools/foamConfigurePaths
+++ b/bin/tools/foamConfigurePaths
@@ -4,7 +4,7 @@
 # \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
 #  \\    /   O peration     |
 #   \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-#    \\/     M anipulation  | Copyright (C) 2016-2017 OpenCFD Ltd.
+#    \\/     M anipulation  | Copyright (C) 2016-2018 OpenCFD Ltd.
 #------------------------------------------------------------------------------
 # License
 #     This file is part of OpenFOAM, licensed under GNU General Public License
@@ -36,7 +36,8 @@ usage: ${0##*/}
   -boost-path DIR         specify 'BOOST_ARCH_PATH'
   -cgal ver               specify 'cgal_version'
   -cgal-path DIR          specify 'CGAL_ARCH_PATH'
-  -clang VER              specify 'clang_version' for ThirdParty Clang
+  -clang VER              specify 'default_clang_version' for ThirdParty Clang
+  -gcc VER                specify 'default_gcc_version' for ThirdParty Gcc
   -cmake VER              specify 'cmake_version'
   -fftw VER               specify 'fffw_version'
   -fftw-path DIR          specify 'FFTW_ARCH_PATH'
@@ -325,9 +326,17 @@ do
         ;;
 
     -clang)
-        # Replace clang_version=...
+        # Replace default_clang_version=...
         [ "$#" -ge 2 ] || die "'$1' option requires an argument"
-        replace etc/config.sh/compiler  clang_version "$2"
+        replace etc/config.sh/compiler  default_clang_version "$2"
+        adjusted=true
+        shift
+        ;;
+
+    -gcc)
+        # Replace default_gcc_version=...
+        [ "$#" -ge 2 ] || die "'$1' option requires an argument"
+        replace etc/config.sh/compiler  default_gcc_version "$2"
         adjusted=true
         shift
         ;;
@@ -466,19 +475,19 @@ do
 
     gmp-[4-9]* | gmp-system)
         # gcc-related package
-        replace etc/config.sh/compiler  gmp_version "$1"
+        replace etc/config.sh/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.sh/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.sh/compiler  default_mpc_version "$1"
         adjusted=true
         ;;
 
diff --git a/etc/config.csh/compiler b/etc/config.csh/compiler
index 9b46fd1f3c33051f464625fe99d1683c06c1ad90..d07886a4a41526f92f29de5be5e3c3231e8cb76d 100644
--- a/etc/config.csh/compiler
+++ b/etc/config.csh/compiler
@@ -2,12 +2,14 @@
 # =========                 |
 # \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
 #  \\    /   O peration     |
-#   \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
-#    \\/     M anipulation  | Copyright (C) 2016-2018 OpenCFD Ltd.
+#   \\  /    A nd           | www.openfoam.com
+#    \\/     M anipulation  |
+#------------------------------------------------------------------------------
+#     Copyright (C) 2016 OpenFOAM Foundation
+#     Copyright (C) 2016-2020 OpenCFD Ltd.
 #------------------------------------------------------------------------------
 # License
-#     This file is part of OpenFOAM, licensed under GNU General Public License
-#     <http://www.gnu.org/licenses/>.
+#     This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
 #
 # File
 #     etc/config.csh/compiler
@@ -20,13 +22,19 @@
 
 switch ("$WM_COMPILER_TYPE")
 case ThirdParty:
-    # Default versions of GMP, MPFR, MPC - override as necessary
-    set gmp_version=gmp-system
-    set mpfr_version=mpfr-system
-    set mpc_version=mpc-system
+    # Default versions (CLANG, GCC, GMP, MPFR, MPC) - override as necessary
+
+    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
@@ -92,6 +100,8 @@ case ThirdParty:
         breaksw
 
     case Clang:
+        set clang_version="$default_clang_version"
+        breaksw
     case Clang37*:
         set clang_version=llvm-3.7.1
         breaksw
@@ -113,6 +123,9 @@ case ThirdParty:
     case Clang70*:
         set clang_version=llvm-7.0.1
         breaksw
+    case Clang71*:
+        set clang_version=llvm-7.1.0
+        breaksw
     case Clang80*:
         set clang_version=llvm-8.0.1
         breaksw
@@ -131,7 +144,13 @@ Please check your settings
 UNKNOWN_COMPILER
         breaksw
     endsw
+
+    # Per-compiler overrides in "compiler-$WM_COMPILER" files
+    _foamEtc -config "compiler-$WM_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 dc3fa77ae6b0f2f7bcf79ecc79e8b89379ad78af..fb0bffd85541b8c495f833bb2ee124d00601a8ca 100644
--- a/etc/config.csh/example/compiler
+++ b/etc/config.csh/example/compiler
@@ -6,15 +6,17 @@
 #    \\/     M anipulation  | Copyright (C) 2017 OpenCFD Ltd.
 #------------------------------------------------------------------------------
 # License
-#     This file is part of OpenFOAM, licensed under GNU General Public License
-#     <http://www.gnu.org/licenses/>.
+#     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.
 #
 #------------------------------------------------------------------------------
 
@@ -23,7 +25,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 0000000000000000000000000000000000000000..9bf5baeb277ec12c46804951c0cda91892a52c64
--- /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 980ce3f00a69c8ee0d469538eae495cc1221e223..bed1e2c43de8d6e73f3e48a993ce24d8af106af3 100644
--- a/etc/config.sh/compiler
+++ b/etc/config.sh/compiler
@@ -2,12 +2,14 @@
 # =========                 |
 # \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
 #  \\    /   O peration     |
-#   \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-#    \\/     M anipulation  | Copyright (C) 2016-2018 OpenCFD Ltd.
+#   \\  /    A nd           | www.openfoam.com
+#    \\/     M anipulation  |
+#------------------------------------------------------------------------------
+#     Copyright (C) 2011-2016 OpenFOAM Foundation
+#     Copyright (C) 2016-2020 OpenCFD Ltd.
 #------------------------------------------------------------------------------
 # License
-#     This file is part of OpenFOAM, licensed under GNU General Public License
-#     <http://www.gnu.org/licenses/>.
+#     This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
 #
 # File
 #     etc/config.sh/compiler
@@ -20,103 +22,55 @@
 
 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 | Gcc48*)
-        gcc_version=gcc-4.8.5
-        ;;
-    Gcc49*)
-        gcc_version=gcc-4.9.4
-        ;;
-    Gcc51*)
-        gcc_version=gcc-5.1.0
-        ;;
-    Gcc52*)
-        gcc_version=gcc-5.2.0
-        ;;
-    Gcc53*)
-        gcc_version=gcc-5.3.0
-        ;;
-    Gcc54*)
-        gcc_version=gcc-5.4.0
-        ;;
-    Gcc55*)
-        gcc_version=gcc-5.5.0
-        ;;
-    Gcc61*)
-        gcc_version=gcc-6.1.0
-        ;;
-    Gcc62*)
-        gcc_version=gcc-6.2.0
-        ;;
-    Gcc63*)
-        gcc_version=gcc-6.3.0
-        ;;
-    Gcc64*)
-        gcc_version=gcc-6.4.0
-        ;;
-    Gcc65*)
-        gcc_version=gcc-6.5.0
-        ;;
-    Gcc71*)
-        gcc_version=gcc-7.1.0
-        ;;
-    Gcc72*)
-        gcc_version=gcc-7.2.0
-        ;;
-    Gcc73*)
-        gcc_version=gcc-7.3.0
-        ;;
-    Gcc74*)
-        gcc_version=gcc-7.4.0
-        ;;
-    Gcc81*)
-        gcc_version=gcc-8.1.0
-        ;;
-    Gcc82*)
-        gcc_version=gcc-8.2.0
-        ;;
-    Gcc83*)
-        gcc_version=gcc-8.3.0
-        ;;
-    Gcc91*)
-        gcc_version=gcc-9.1.0
-        ;;
-    Gcc92*)
-        gcc_version=gcc-9.2.0
-        ;;
+    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 ;;
+    Gcc52*) gcc_version=gcc-5.2.0 ;;
+    Gcc53*) gcc_version=gcc-5.3.0 ;;
+    Gcc54*) gcc_version=gcc-5.4.0 ;;
+    Gcc55*) gcc_version=gcc-5.5.0 ;;
+    Gcc61*) gcc_version=gcc-6.1.0 ;;
+    Gcc62*) gcc_version=gcc-6.2.0 ;;
+    Gcc63*) gcc_version=gcc-6.3.0 ;;
+    Gcc64*) gcc_version=gcc-6.4.0 ;;
+    Gcc65*) gcc_version=gcc-6.5.0 ;;
+    Gcc71*) gcc_version=gcc-7.1.0 ;;
+    Gcc72*) gcc_version=gcc-7.2.0 ;;
+    Gcc73*) gcc_version=gcc-7.3.0 ;;
+    Gcc74*) gcc_version=gcc-7.4.0 ;;
+    Gcc75*) gcc_version=gcc-7.5.0 ;;
+    Gcc81*) gcc_version=gcc-8.1.0 ;;
+    Gcc82*) gcc_version=gcc-8.2.0 ;;
+    Gcc83*) gcc_version=gcc-8.3.0 ;;
+    Gcc91*) gcc_version=gcc-9.1.0 ;;
+    Gcc92*) gcc_version=gcc-9.2.0 ;;
 
-    Clang | Clang37*)
-        clang_version=llvm-3.7.1
-        ;;
-    Clang38*)
-        clang_version=llvm-3.8.1
-        ;;
-    Clang39*)
-        clang_version=llvm-3.9.1
-        ;;
-    Clang40*)
-        clang_version=llvm-4.0.1
-        ;;
-    Clang50*)
-        clang_version=llvm-5.0.2
-        ;;
-    Clang60*)
-        clang_version=llvm-6.0.1
-        ;;
-    Clang70*)
-        clang_version=llvm-7.0.1
-        ;;
-    Clang80*)
-        clang_version=llvm-8.0.1
-        ;;
-    Clang90*)
-        clang_version=llvm-9.0.0
-        ;;
+    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 ;;
+    Clang40*) clang_version=llvm-4.0.1 ;;
+    Clang50*) clang_version=llvm-5.0.2 ;;
+    Clang60*) clang_version=llvm-6.0.1 ;;
+    Clang70*) clang_version=llvm-7.0.1 ;;
+    Clang71*) clang_version=llvm-7.1.0 ;;
+    Clang80*) clang_version=llvm-8.0.1 ;;
+    Clang90*) clang_version=llvm-9.0.0 ;;
 
     *)
         /bin/cat << UNKNOWN_COMPILER 1>&2
@@ -129,7 +83,13 @@ Please check your settings
 UNKNOWN_COMPILER
         ;;
     esac
+
+    # Per-compiler overrides in "compiler-$WM_COMPILER" files
+    _foamEtc -config "compiler-$WM_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 995ad71dafee4d341bcb66789dc08930d7406600..639a483bb2a9eb04110c9b501d558bbc12d89147 100644
--- a/etc/config.sh/example/compiler
+++ b/etc/config.sh/example/compiler
@@ -6,15 +6,17 @@
 #    \\/     M anipulation  | Copyright (C) 2017 OpenCFD Ltd.
 #------------------------------------------------------------------------------
 # License
-#     This file is part of OpenFOAM, licensed under GNU General Public License
-#     <http://www.gnu.org/licenses/>.
+#     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.
 #
 #------------------------------------------------------------------------------
 
@@ -23,18 +25,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 WM_CC='gcc-4.8'
-    export WM_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 0000000000000000000000000000000000000000..75b4de4cfad6c1c86a78410851834fe0e6a48ff3
--- /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
+
+#------------------------------------------------------------------------------