diff --git a/bin/tools/query-versions b/bin/tools/query-versions index 3445cf6420bacab38b5ccb13fe475e34928f77f3..183d004f0d54b4764450e7e79757e644573db1d6 100755 --- a/bin/tools/query-versions +++ b/bin/tools/query-versions @@ -6,7 +6,7 @@ # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------ -# Copyright (C) 2020 OpenCFD Ltd. +# Copyright (C) 2020-2023 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -116,11 +116,10 @@ export WM_PROJECT_DIR="$projectDir" # # parse this type of content # ---- -# default_clang_version=llvm-3.7.1 -# default_gcc_version=gcc-4.8.5 +# default_clang_version=llvm-[digits].[digits].[digits] +# default_gcc_version=gcc-[digits].[digits].[digits] # -# Gcc48*) gcc_version=gcc-4.8.5 ;; -# Gcc49*) gcc_version=gcc-4.9.4 ;; +# Gcc121*) gcc_version=gcc-[digits].[digits].[digits] ;; # ---- queryCompiler() diff --git a/doc/Requirements.md b/doc/Requirements.md index d4c8e9e1aa522262646a32ea588efdb18f3ea2ef..abd3e7f84865e1fbb58d402a6c1286f02b7c5c09 100644 --- a/doc/Requirements.md +++ b/doc/Requirements.md @@ -1,10 +1,10 @@ ## OpenFOAM® System Requirements -OpenFOAM requires a functioning C++11 compiler and GNU `make` build toolchain. +OpenFOAM requires a functioning C++14 compiler and GNU `make` build toolchain. ### Minimum recommended versions -- gcc : 4.8.5 (absolute minimum, not really recommended) +- gcc : 7.5.0 (minimum, not necessarily recommended) - cmake: 3.8 (required for ParaView and CGAL build) - boost: 1.48 (required for CGAL build and some functionality) - fftw: 3.3.7 (recommended - required for FFT-related functionality) @@ -217,4 +217,4 @@ at any later stage _without_ recompiling OpenFOAM itself. [wiki-config]: https://develop.openfoam.com/Development/openfoam/-/wikis/configuring --- -Copyright 2019-2022 OpenCFD Ltd +Copyright 2019-2023 OpenCFD Ltd diff --git a/etc/config.csh/compiler b/etc/config.csh/compiler index 73df3611b1ef4c48b816609777d33d9323eedada..262c79212522bb5a3a36d9349fea543272023de6 100644 --- a/etc/config.csh/compiler +++ b/etc/config.csh/compiler @@ -6,7 +6,7 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # Copyright (C) 2016 OpenFOAM Foundation -# Copyright (C) 2016-2022 OpenCFD Ltd. +# Copyright (C) 2016-2023 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -58,8 +58,8 @@ switch ("$WM_COMPILER_TYPE") case ThirdParty: # Default/minimum versions (compiler, GMP, MPFR, MPC) - override as needed - set default_clang_version=llvm-3.7.1 - set default_gcc_version=gcc-4.8.5 + set default_clang_version=llvm-5.0.2 + set default_gcc_version=gcc-7.5.0 set default_gmp_version=gmp-system set default_mpfr_version=mpfr-system @@ -127,6 +127,7 @@ case ThirdParty: case Gcc75*: set gcc_version=gcc-7.5.0 breaksw + # Older : no assurance that they still work for OpenFOAM case Gcc74*: set gcc_version=gcc-7.4.0 breaksw @@ -159,24 +160,24 @@ case ThirdParty: case Gcc55*: set gcc_version=gcc-5.5.0 breaksw - case Gcc54*: - set gcc_version=gcc-5.4.0 - breaksw - case Gcc53*: - set gcc_version=gcc-5.3.0 - breaksw - case Gcc52*: - set gcc_version=gcc-5.2.0 - breaksw - case Gcc51*: - set gcc_version=gcc-5.1.0 - breaksw - case Gcc49*: - set gcc_version=gcc-4.9.4 - breaksw - case Gcc48*: - set gcc_version=gcc-4.8.5 - breaksw + #ancient# case Gcc54*: + #ancient# set gcc_version=gcc-5.4.0 + #ancient# breaksw + #ancient# case Gcc53*: + #ancient# set gcc_version=gcc-5.3.0 + #ancient# breaksw + #ancient# case Gcc52*: + #ancient# set gcc_version=gcc-5.2.0 + #ancient# breaksw + #ancient# case Gcc51*: + #ancient# set gcc_version=gcc-5.1.0 + #ancient# breaksw + #ancient# case Gcc49*: + #ancient# set gcc_version=gcc-4.9.4 + #ancient# breaksw + #ancient# case Gcc48*: + #ancient# set gcc_version=gcc-4.8.5 + #ancient# breaksw case Clang: set clang_version="$default_clang_version" @@ -217,18 +218,18 @@ case ThirdParty: case Clang50*: set clang_version=llvm-5.0.2 breaksw - case Clang40*: - set clang_version=llvm-4.0.1 - breaksw - case Clang39*: - set clang_version=llvm-3.9.1 - breaksw - case Clang38*: - set clang_version=llvm-3.8.1 - breaksw - case Clang37*: - set clang_version=llvm-3.7.1 - breaksw + #ancient# case Clang40*: + #ancient# set clang_version=llvm-4.0.1 + #ancient# breaksw + #ancient# case Clang39*: + #ancient# set clang_version=llvm-3.9.1 + #ancient# breaksw + #ancient# case Clang38*: + #ancient# set clang_version=llvm-3.8.1 + #ancient# breaksw + #ancient# case Clang37*: + #ancient# set clang_version=llvm-3.7.1 + #ancient# breaksw endsw diff --git a/etc/config.sh/compiler b/etc/config.sh/compiler index 4fa14f93e4f10feb75e44c6caf4b814c105189a7..94c03678d1966172f37a71a7f5d19f7df6c77139 100644 --- a/etc/config.sh/compiler +++ b/etc/config.sh/compiler @@ -6,7 +6,7 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # Copyright (C) 2011-2016 OpenFOAM Foundation -# Copyright (C) 2016-2022 OpenCFD Ltd. +# Copyright (C) 2016-2023 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. @@ -58,8 +58,8 @@ case "$WM_COMPILER_TYPE" in ThirdParty) # Default/minimum versions (compiler, GMP, MPFR, MPC) - override as needed - default_clang_version=llvm-3.7.1 - default_gcc_version=gcc-4.8.5 + default_clang_version=llvm-5.0.2 + default_gcc_version=gcc-7.5.0 default_gmp_version=gmp-system default_mpfr_version=mpfr-system @@ -92,6 +92,7 @@ ThirdParty) Gcc82*) gcc_version=gcc-8.2.0 ;; Gcc81*) gcc_version=gcc-8.1.0 ;; Gcc75*) gcc_version=gcc-7.5.0 ;; + # Older : no assurance that they still work for OpenFOAM Gcc74*) gcc_version=gcc-7.4.0 ;; Gcc73*) gcc_version=gcc-7.3.0 ;; Gcc72*) gcc_version=gcc-7.2.0 ;; @@ -103,12 +104,12 @@ ThirdParty) Gcc62*) gcc_version=gcc-6.2.0 ;; Gcc61*) gcc_version=gcc-6.1.0 ;; Gcc55*) gcc_version=gcc-5.5.0 ;; - Gcc54*) gcc_version=gcc-5.4.0 ;; - Gcc53*) gcc_version=gcc-5.3.0 ;; - Gcc52*) gcc_version=gcc-5.2.0 ;; - Gcc51*) gcc_version=gcc-5.1.0 ;; - Gcc49*) gcc_version=gcc-4.9.4 ;; - Gcc48*) gcc_version=gcc-4.8.5 ;; + #ancient# Gcc54*) gcc_version=gcc-5.4.0 ;; + #ancient# Gcc53*) gcc_version=gcc-5.3.0 ;; + #ancient# Gcc52*) gcc_version=gcc-5.2.0 ;; + #ancient# Gcc51*) gcc_version=gcc-5.1.0 ;; + #ancient# Gcc49*) gcc_version=gcc-4.9.4 ;; + #ancient# Gcc48*) gcc_version=gcc-4.8.5 ;; Clang) clang_version="$default_clang_version" ;; Clang140*) clang_version=llvm-14.0.5 ;; @@ -123,10 +124,10 @@ ThirdParty) Clang70*) clang_version=llvm-7.0.1 ;; Clang60*) clang_version=llvm-6.0.1 ;; Clang50*) clang_version=llvm-5.0.2 ;; - Clang40*) clang_version=llvm-4.0.1 ;; - Clang39*) clang_version=llvm-3.9.1 ;; - Clang38*) clang_version=llvm-3.8.1 ;; - Clang37*) clang_version=llvm-3.7.1 ;; + #ancient# Clang40*) clang_version=llvm-4.0.1 ;; + #ancient# Clang39*) clang_version=llvm-3.9.1 ;; + #ancient# Clang38*) clang_version=llvm-3.8.1 ;; + #ancient# Clang37*) clang_version=llvm-3.7.1 ;; esac diff --git a/wmake/rules/General/Gcc/c++ b/wmake/rules/General/Gcc/c++ index 1ccc6dd61abe7c15d95cb48f0ffdff8922e85d92..d87479014fc87447907c9160ae7bedaa09fbe1f7 100644 --- a/wmake/rules/General/Gcc/c++ +++ b/wmake/rules/General/Gcc/c++ @@ -1,12 +1,12 @@ #------------------------------------------------------------------------------ -# C++14 support with gcc-5 and later, but several systems (as of 2021) -# are still using gcc-4.8.4 (centos7, suse SLES12, ...) +# gcc compiler # -# NOTE if your system gcc is new enough can simply use c++14 too. +# On older systems: may need to upgrade the compiler, use a ThirdParty compiler +# or clang to have sufficient C++ language. #------------------------------------------------------------------------------ SUFFIXES += .C .cc .cpp .cxx -CC := g++$(COMPILER_VERSION) -std=c++11 +CC := g++$(COMPILER_VERSION) -std=c++14 c++ARCH := c++DBUG :=