openfoam/etc/config.sh/compiler
Henry Weller 7996a9138f C++11: Update compilation rules to specify C++11 support and conformance
The change from C++0x to C++11 allows all of C++11 functionality to be
used in OpenFOAM, in particular constructor delegation which avoids code
duplication or constructor helper functions.  However, this also means a
change to the minimum gcc version supported which is now 4.7 rather than
4.5.

Note that gcc-4.7 does not support the entire C++11 standard but does
support all of the functionality currently needed for further OpenFOAM
development.  The minimum gcc-version which supports the entire C++11
standard is 4.8 which is now the recommended minimum gcc version.
2016-08-05 16:28:19 +01:00

93 lines
2.6 KiB
Bash

#----------------------------------*-sh-*--------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2011-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.sh/compiler
#
# Description
# Startup file for custom compiler versions for OpenFOAM
# Sourced from OpenFOAM-<VERSION>/etc/config.sh/settings
#
#------------------------------------------------------------------------------
case "$WM_COMPILER_TYPE" in
ThirdParty)
# Default versions of GMP, MPFR and MPC, override as necessary
gmp_version=gmp-system
mpfr_version=mpfr-system
mpc_version=mpc-system
case "$WM_COMPILER" in
Gcc | Gcc48)
gcc_version=gcc-4.8.5
;;
Gcc47)
gcc_version=gcc-4.7.4
;;
Gcc49)
gcc_version=gcc-4.9.3
;;
Gcc51)
gcc_version=gcc-5.1.0
;;
Gcc52)
gcc_version=gcc-5.2.0
;;
Gcc53)
gcc_version=gcc-5.3.0
;;
Gcc61)
gcc_version=gcc-6.1.0
;;
Gcc54)
gcc_version=gcc-5.4.0
;;
Gcc61)
gcc_version=gcc-6.1.0
;;
Clang)
clang_version=llvm-3.7.0
# clang_version=llvm-3.8.0
;;
*)
echo 1>&2
echo "Warning in $WM_PROJECT_DIR/etc/config.sh/compiler:" 1>&2
echo " Unknown OpenFOAM compiler type '$WM_COMPILER'" 1>&2
echo " Please check your settings" 1>&2
echo 1>&2
;;
esac
;;
esac
# common settings (system or ThirdParty)
case "$WM_COMPILER" in
Clang)
# Using clang - not gcc
export WM_CC='clang'
export WM_CXX='clang++'
;;
esac
#------------------------------------------------------------------------------