- missed detection of system libraries when installed with multiarch paths like /usr/lib/x86_64-linux-gnu CONFIG: improve handling of group/user config files (#928) - changed bashrc handling of FOAM_CONFIG_NOUSER to use FOAM_CONFIG_MODE instead. Propagate into foamEtcFile to make this a stickier control. This change allows better control, but also enables cluster installations to define their own value within the OpenFOAM prefs.sh file to prevent users accidentally mis-configuring things if necessary. - remove undocumented handling of an (a)ll mode in foamEtcFile to avoid potential pitfalls. - add support for FOAM_CONFIG_ETC handling. This allows injection of an extra search layer when finding project etc files ENH: improvements to foamConfigurePaths (#928) - handle FOAM_CONFIG_ETC implicitly, or explicitly with the new -etc option. STYLE: more explicit wording in foamConfigurePaths usage (#1602) - document that an absolute path (eg, -scotch-path) overrides/ignores the equivalent ThirdParty setting (eg, -scotch) - longer options -system-compiler and -third-compiler for -system and -third, respectively. Clearer as to their purpose. - adjust the location sanity check to look for META-INFO directory.
217 lines
5.4 KiB
Bash
217 lines
5.4 KiB
Bash
#----------------------------------*-sh-*--------------------------------------
|
|
# ========= |
|
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
# \\ / O peration |
|
|
# \\ / 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, distributed under GPL-3.0-or-later.
|
|
#
|
|
# File
|
|
# etc/config.csh/unset
|
|
#
|
|
# Description
|
|
# Clear as many OpenFOAM environment settings as possible
|
|
#
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Clean standard environment variables (PATH, LD_LIBRARY_PATH, MANPATH)
|
|
|
|
unset foamClean
|
|
if ( $?WM_PROJECT_DIR ) then
|
|
set foamClean=$WM_PROJECT_DIR/bin/foamCleanPath
|
|
if ( ! -f "$foamClean" || ! -x "$foamClean" ) unset foamClean
|
|
endif
|
|
|
|
# The old dirs to be cleaned from the environment variables
|
|
set foamOldDirs="$WM_PROJECT_DIR $WM_THIRD_PARTY_DIR $HOME/$WM_PROJECT/$LOGNAME $FOAM_SITE_APPBIN $FOAM_SITE_LIBBIN"
|
|
if ( $?WM_PROJECT_SITE ) then
|
|
set foamOldDirs="$foamOldDirs $WM_PROJECT_SITE"
|
|
endif
|
|
if ( $?ParaView_DIR ) then
|
|
set foamOldDirs="$foamOldDirs $ParaView_DIR"
|
|
endif
|
|
if ( $?ParaView_MESA_DIR ) then
|
|
set foamOldDirs="$foamOldDirs $ParaView_MESA_DIR"
|
|
endif
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Unset WM_* environment variables
|
|
|
|
unsetenv WM_ARCH
|
|
unsetenv WM_ARCH_OPTION
|
|
unsetenv WM_COMPILER
|
|
unsetenv WM_COMPILER_ARCH
|
|
unsetenv WM_COMPILER_TYPE
|
|
unsetenv WM_COMPILER_LIB_ARCH
|
|
unsetenv WM_COMPILE_OPTION
|
|
unsetenv WM_DIR
|
|
unsetenv WM_HOSTS
|
|
unsetenv WM_LABEL_OPTION
|
|
unsetenv WM_LABEL_SIZE
|
|
unsetenv WM_MPLIB
|
|
unsetenv WM_NCOMPPROCS
|
|
unsetenv WM_OPTIONS
|
|
unsetenv WM_OSTYPE
|
|
unsetenv WM_PRECISION_OPTION
|
|
unsetenv WM_PROJECT
|
|
unsetenv WM_PROJECT_API
|
|
unsetenv WM_PROJECT_DIR
|
|
unsetenv WM_PROJECT_INST_DIR
|
|
unsetenv WM_PROJECT_SITE
|
|
unsetenv WM_PROJECT_USER_DIR
|
|
unsetenv WM_PROJECT_VERSION
|
|
unsetenv WM_SCHEDULER
|
|
unsetenv WM_THIRD_PARTY_DIR
|
|
|
|
# Older variables
|
|
|
|
# Before 1906
|
|
unsetenv WM_CC WM_CXX WM_CFLAGS WM_CXXFLAGS WM_LDFLAGS
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Unset FOAM_* environment variables
|
|
|
|
unsetenv FOAM_API
|
|
unsetenv FOAM_APPBIN
|
|
unsetenv FOAM_APP
|
|
unsetenv FOAM_CODE_TEMPLATES
|
|
unsetenv FOAM_CONFIG_ETC
|
|
unsetenv FOAM_CONFIG_MODE
|
|
unsetenv FOAM_ETC
|
|
unsetenv FOAM_EXTRA_CXXFLAGS
|
|
unsetenv FOAM_EXTRA_LDFLAGS
|
|
unsetenv FOAM_EXT_LIBBIN
|
|
unsetenv FOAM_JOB_DIR
|
|
unsetenv FOAM_LIBBIN
|
|
unsetenv FOAM_MPI
|
|
unsetenv FOAM_RUN
|
|
unsetenv FOAM_SETTINGS
|
|
unsetenv FOAM_SIGFPE
|
|
unsetenv FOAM_SIGNAN
|
|
unsetenv FOAM_SITE_APPBIN
|
|
unsetenv FOAM_SITE_LIBBIN
|
|
unsetenv FOAM_SOLVERS
|
|
unsetenv FOAM_SRC
|
|
unsetenv FOAM_TUTORIALS
|
|
unsetenv FOAM_USER_APPBIN
|
|
unsetenv FOAM_USER_LIBBIN
|
|
unsetenv FOAM_UTILITIES
|
|
|
|
# Old variables
|
|
|
|
# Before 1812
|
|
unsetenv FOAM_INST_DIR
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Unset MPI-related environment variables
|
|
|
|
unsetenv MPI_ARCH_PATH
|
|
unsetenv MPI_BUFFER_SIZE
|
|
unsetenv OPAL_PREFIX
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Unset ParaView/VTK-related environment variables
|
|
|
|
unsetenv ParaView_DIR
|
|
unsetenv ParaView_MESA_DIR
|
|
unsetenv ParaView_INCLUDE_DIR
|
|
unsetenv ParaView_VERSION
|
|
unsetenv PV_PLUGIN_PATH
|
|
unsetenv VTK_DIR
|
|
unsetenv Qt5_DIR # Perhaps only unset if it is in WM_THIRD_PARTY_DIR?
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Unset other ThirdParty environment variables
|
|
|
|
unsetenv ADIOS_ARCH_PATH
|
|
unsetenv ADIOS1_ARCH_PATH
|
|
unsetenv ADIOS2_ARCH_PATH
|
|
unsetenv BOOST_ARCH_PATH
|
|
unsetenv CCMIO_ARCH_PATH
|
|
unsetenv CGAL_ARCH_PATH
|
|
unsetenv FFTW_ARCH_PATH
|
|
unsetenv GPERFTOOLS_ARCH_PATH
|
|
unsetenv GMP_ARCH_PATH
|
|
unsetenv MPFR_ARCH_PATH
|
|
unsetenv MESA_ARCH_PATH
|
|
unsetenv METIS_ARCH_PATH
|
|
unsetenv SCOTCH_ARCH_PATH
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Cleanup environment
|
|
# PATH, LD_LIBRARY_PATH, MANPATH
|
|
|
|
if ( $?foamClean ) then
|
|
|
|
eval `$foamClean -csh-env=PATH "$foamOldDirs"`
|
|
|
|
if ($?LD_LIBRARY_PATH) then
|
|
eval `$foamClean -csh-env=LD_LIBRARY_PATH "$foamOldDirs"`
|
|
if ( ${%LD_LIBRARY_PATH} == 0 ) unsetenv LD_LIBRARY_PATH
|
|
endif
|
|
|
|
if ($?MANPATH) then
|
|
eval `$foamClean -csh-env=MANPATH "$foamOldDirs"`
|
|
if ( ${%MANPATH} == 0 ) unsetenv MANPATH
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Cleanup aliases
|
|
|
|
unalias wmSet
|
|
unalias wmInt32
|
|
unalias wmInt64
|
|
unalias wmDP
|
|
unalias wmSP
|
|
unalias wmSPDP
|
|
|
|
unalias wmUnset
|
|
|
|
unalias wmSchedOn
|
|
unalias wmSchedOff
|
|
|
|
unalias foam
|
|
|
|
unalias src
|
|
unalias lib
|
|
unalias app
|
|
unalias sol
|
|
unalias util
|
|
unalias tut
|
|
unalias run
|
|
|
|
unalias ufoam
|
|
unalias uapp
|
|
unalias usol
|
|
unalias uutil
|
|
|
|
unalias wmRefresh
|
|
unalias foamVersion
|
|
unalias foamPV
|
|
|
|
# Remove old completions, which look like:
|
|
# complete APPNAME 'p,*,`bash $WM_PROJECT_DIR/etc/ ...
|
|
if ($?prompt && $?tcsh) then # Interactive tcsh only
|
|
foreach cleaned (`complete | sed -ne '/WM_PROJECT/s/\t.*$//p'`)
|
|
uncomplete $cleaned
|
|
end
|
|
endif
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Intermediate variables (do as last for a clean exit code)
|
|
|
|
unset cleaned foamClean foamOldDirs
|
|
|
|
#------------------------------------------------------------------------------
|