ENH: minor improvements to environment

- handle sourcing bashrc with a relative path (issue #383)
- handle sourcing from bash and zsh.
  Still need manual intervention when sourcing dash, sh, or ksh.
- replace grep in etc/cshrc with sed only
- logical instead of physical path for WM_PROJECT_DIR (issue #431).
  Doesn't seem to be possible for csh/tcsh.

  * Continue using physical locations when comparing directories,
    but not for the top-level FOAM_INST_DIR, WM_PROJECT_DIR.

- relocate WM_CC, WM_CXX overrides from etc/config.*/compiler
  to etc/config.*/settings to ensure that they are left untouched
  when etc/config.sh/compiler is sourced while making third-party
  packages (eg, gcc, llvm, CGAL).

- provide fallback FOAM_TUTORIALS setting in RunFunctions

STYLE: remove "~OpenFOAM" fallback as being too rare, non-obvious
This commit is contained in:
Mark Olesen
2017-03-20 08:57:12 +01:00
parent 5d62a7430d
commit b970ba0901
20 changed files with 267 additions and 268 deletions

View File

@ -30,39 +30,23 @@
#
#------------------------------------------------------------------------------
# First load the standard versions, if necessary
if foamFile=$($WM_PROJECT_DIR/bin/foamEtcFile -mode o config.sh/compiler)
then
. $foamFile
fi
unset foamFile
# Load the standard versions...
eval $($WM_PROJECT_DIR/bin/foamEtcFile -sh -mode=o config.sh/compiler)
# Override compiler settings
# Modify/override compiler settings
case "$WM_COMPILER" in
Gcc46 | Gcc46++0x)
gcc_version=gcc-4.6.0
gmp_version=gmp-5.0.1
mpfr_version=mpfr-2.4.2
mpc_version=mpc-0.8.1
;;
Gcc45 | Gcc45++0x)
gcc_version=gcc-4.5.2
gmp_version=gmp-5.0.1
mpfr_version=mpfr-2.4.2
mpc_version=mpc-0.8.1
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 respective directory in "wmake/rules"
# will also need to create the respective directory in "wmake/rules"
export WM_CC='gcc-4.8'
export WM_CXX='g++-4.8'
;;
Icc*)
# Example for ensuring that 3rd software uses the Icc compilers
export WM_CC='icc'
export WM_CXX='icpc'
;;
esac
#------------------------------------------------------------------------------