diff --git a/etc/config.csh/functions b/etc/config.csh/functions index 685b6462b0db20d593e540bf83ae5dc23c83ad07..c7cec4f07b56791fb1fef7d0ba0de5345155bf56 100644 --- a/etc/config.csh/functions +++ b/etc/config.csh/functions @@ -27,7 +27,14 @@ alias _foamClean 'eval `$WM_PROJECT_DIR/bin/foamCleanPath -csh-env=\!*`' # Prepend PATH, MANPATH, LD_LIBRARY_PATH alias _foamAddPath 'setenv PATH \!*\:${PATH}' alias _foamAddMan 'setenv MANPATH \!*\:${MANPATH}' -alias _foamAddLib 'setenv LD_LIBRARY_PATH \!*\:${LD_LIBRARY_PATH}' + +# Special treatment for Darwin +# - DYLD_LIBRARY_PATH instead of LD_LIBRARY_PATH +if (`uname -s` == "Darwin") then + alias _foamAddLib 'setenv DYLD_LIBRARY_PATH \!*\:${DYLD_LIBRARY_PATH}' +else + alias _foamAddLib 'setenv LD_LIBRARY_PATH \!*\:${LD_LIBRARY_PATH}' +endif # Prefix to LD_LIBRARY_PATH with additional checking # $1 = base directory for 'lib' or 'lib64' @@ -59,6 +66,7 @@ unsetenv FFTW_ARCH_PATH unsetenv GPERFTOOLS_ARCH_PATH unsetenv GMP_ARCH_PATH unsetenv MPFR_ARCH_PATH +unsetenv LLVM_ARCH_PATH unsetenv MESA_ARCH_PATH unsetenv METIS_ARCH_PATH unsetenv SCOTCH_ARCH_PATH diff --git a/etc/config.csh/paraview b/etc/config.csh/paraview index bc57ed568cf1fe3f35b19c4e0d25f9668d4101ef..8f85b808a5d894251a6274f2be8c25bbfb9a9934 100644 --- a/etc/config.csh/paraview +++ b/etc/config.csh/paraview @@ -6,11 +6,10 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # Copyright (C) 2011-2016 OpenFOAM Foundation -# Copyright (C) 2016-2019 OpenCFD Ltd. +# 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 # config.csh/paraview @@ -65,7 +64,7 @@ if (! $?WM_COMPILER_LIB_ARCH ) setenv WM_COMPILER_LIB_ARCH # Compiler-specific location for ThirdParty installations set archDir="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER" -# Clean PATH and LD_LIBRARY_PATH +# Clean path and library path eval `$WM_PROJECT_DIR/bin/foamCleanPath -csh-env=PATH "$ParaView_DIR $archDir/ParaView- $archDir/qt- $archDir/cmake-"` eval `$WM_PROJECT_DIR/bin/foamCleanPath -csh-env=LD_LIBRARY_PATH "$ParaView_DIR $archDir/ParaView- $archDir/qt-"` @@ -106,13 +105,12 @@ case "none": case "system": # Obtain major.minor from `paraview --version` - set pv_api=`paraview --version | \ - sed -ne 's/^[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'` + set pv_api=`paraview --version | sed -ne 's/^[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'` - if ( "${%pv_api}" ) then - setenv PV_PLUGIN_PATH "$FOAM_LIBBIN/paraview-$pv_api" - else + if ("${pv_api}" == "") then unsetenv ParaView_DIR PV_PLUGIN_PATH + else + setenv PV_PLUGIN_PATH "$FOAM_LIBBIN/paraview-$pv_api" endif if ($?FOAM_VERBOSE && $?prompt) then @@ -138,9 +136,8 @@ default: breaksw case [0-9]*: - # Extract API from VERSION - set pv_api=`echo "$ParaView_VERSION" | \ - sed -ne 's/^[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'` + # Extract API from VERSION. + set pv_api=`echo "$ParaView_VERSION" | sed -ne 's/^[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'` breaksw endsw diff --git a/etc/config.csh/settings b/etc/config.csh/settings index 196f66ebb01c010e9e7014460cc31037fc8f50f0..ca3490032fb77533ea6af4f05e7d462f98253757 100644 --- a/etc/config.csh/settings +++ b/etc/config.csh/settings @@ -90,8 +90,9 @@ case Linux: endsw breaksw -case Darwin: # Presumably x86_64 +case Darwin: # Presume x86_64, with clang (not gcc) as system compiler setenv WM_ARCH darwin64 + if ("$WM_COMPILER" == Gcc) setenv WM_COMPILER Clang echo "Darwin support is clang/llvm only" breaksw @@ -168,7 +169,7 @@ endif # OpenFOAM executables (user, group, standard) _foamAddPath "${FOAM_USER_APPBIN}:${FOAM_SITE_APPBIN}:${FOAM_APPBIN}" -# Dummy versions of external libraries. To be found last in LD_LIBRARY_PATH +# Dummy versions of external libraries. To be found last in library path _foamAddLib "$FOAM_LIBBIN/dummy" # External (ThirdParty) libraries. Also allowed to be unset diff --git a/etc/config.csh/setup b/etc/config.csh/setup index 497fdd795d14684984dbf0f78b3f7836ceaeadf2..0d43ccb033bd48d355c685b4394f189c70372365 100644 --- a/etc/config.csh/setup +++ b/etc/config.csh/setup @@ -67,7 +67,7 @@ foreach foamDir (\ endif end -if ( "${%foundDir}" ) then +if ("${foundDir}" == true) then _foamEcho "Using $WM_THIRD_PARTY_DIR" else # Dummy fallback value @@ -141,9 +141,9 @@ endif # Clean standard environment variables (PATH, MANPATH, LD_LIBRARY_PATH) # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Prevent local variables from shadowing setenv variables -unset PATH MANPATH LD_LIBRARY_PATH -if (! $?LD_LIBRARY_PATH ) setenv LD_LIBRARY_PATH +unset PATH MANPATH LD_LIBRARY_PATH DYLD_LIBRARY_PATH if (! $?MANPATH ) setenv MANPATH +if (! $?LD_LIBRARY_PATH ) setenv LD_LIBRARY_PATH _foamClean PATH "$foamOldDirs" _foamClean MANPATH "$foamOldDirs" @@ -185,6 +185,15 @@ if ( $?MANPATH ) then setenv MANPATH "${MANPATH}:" endif +if ($?LD_LIBRARY_PATH) then + if ("${LD_LIBRARY_PATH}" == "") unsetenv LD_LIBRARY_PATH +endif + +# Darwin +if ($?DYLD_LIBRARY_PATH) then + if ("${DYLD_LIBRARY_PATH}" == "") unsetenv DYLD_LIBRARY_PATH +endif + # Cleanup temporary information # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/etc/config.csh/unset b/etc/config.csh/unset index 580fb8c85639b79cf9ad9ca1ca514b40a0f16263..aa1fc04dcd552524cd341bbc0ce52feb60e6d2b1 100644 --- a/etc/config.csh/unset +++ b/etc/config.csh/unset @@ -23,7 +23,7 @@ unset foamClean if ( $?WM_PROJECT_DIR ) then - set foamClean=$WM_PROJECT_DIR/bin/foamCleanPath + set foamClean="$WM_PROJECT_DIR/bin/foamCleanPath" if ( ! -f "$foamClean" || ! -x "$foamClean" ) unset foamClean endif @@ -141,6 +141,7 @@ unsetenv FFTW_ARCH_PATH unsetenv GPERFTOOLS_ARCH_PATH unsetenv GMP_ARCH_PATH unsetenv MPFR_ARCH_PATH +unsetenv LLVM_ARCH_PATH unsetenv MESA_ARCH_PATH unsetenv METIS_ARCH_PATH unsetenv SCOTCH_ARCH_PATH @@ -155,12 +156,12 @@ if ( $?foamClean ) then if ($?LD_LIBRARY_PATH) then eval `$foamClean -csh-env=LD_LIBRARY_PATH "$foamOldDirs"` - if ( ${%LD_LIBRARY_PATH} == 0 ) unsetenv LD_LIBRARY_PATH + if ("${LD_LIBRARY_PATH}" == "") unsetenv LD_LIBRARY_PATH endif if ($?MANPATH) then eval `$foamClean -csh-env=MANPATH "$foamOldDirs"` - if ( ${%MANPATH} == 0 ) unsetenv MANPATH + if ("${MANPATH}" == "") unsetenv MANPATH endif endif diff --git a/etc/config.sh/functions b/etc/config.sh/functions index 30ca825534383825afd3e2f7f35dbde0acd17692..9c55f5cdd8c4b0f61d953632ceff45ca232a45ec 100644 --- a/etc/config.sh/functions +++ b/etc/config.sh/functions @@ -212,6 +212,7 @@ then unset GPERFTOOLS_ARCH_PATH unset GMP_ARCH_PATH unset MPFR_ARCH_PATH + unset LLVM_ARCH_PATH unset MESA_ARCH_PATH unset METIS_ARCH_PATH unset SCOTCH_ARCH_PATH diff --git a/etc/config.sh/gperftools b/etc/config.sh/gperftools index 80ea4c175c8719895962ec6021cdcbe07e31eaca..ea58dc58eabb0773a1e4dc65f8095930d78d3c4a 100644 --- a/etc/config.sh/gperftools +++ b/etc/config.sh/gperftools @@ -9,12 +9,11 @@ # Copyright (C) 2016-2018 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/gperftools -# - sourced by OpenFOAM-*/etc/bashrc +# Not normally sourced by OpenFOAM-*/etc/bashrc # # Description # Setup file for GPERFTOOLS binaries/libraries. diff --git a/etc/config.sh/paraview b/etc/config.sh/paraview index d850ccf307b9f93ec3a0ffc76c81fbf8be1d66b8..4890bc5c3c96ed9188571b0808cf8c6ed8a63143 100644 --- a/etc/config.sh/paraview +++ b/etc/config.sh/paraview @@ -64,7 +64,7 @@ pv_api=auto # Either auto or pair of (major.minor) digits # Compiler-specific location for ThirdParty installations archDir="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER" -# Clean PATH and LD_LIBRARY_PATH +# Clean path and library path eval \ "$($WM_PROJECT_DIR/bin/foamCleanPath -sh-env=PATH \ $ParaView_DIR $archDir/ParaView- $archDir/qt- $archDir/cmake-)" diff --git a/etc/config.sh/paraview-system b/etc/config.sh/paraview-system index c972de3df20d2babce6effc9fca16c98e527f38b..1bdec0f30d9c4af10d406cc071ffeb6a843d6d9e 100644 --- a/etc/config.sh/paraview-system +++ b/etc/config.sh/paraview-system @@ -5,11 +5,10 @@ # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------ -# Copyright (C) 2019 OpenCFD Ltd. +# Copyright (C) 2019-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/paraview-system @@ -26,7 +25,7 @@ # Compiler-specific location for ThirdParty installations archDir="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER" -# Clean PATH and LD_LIBRARY_PATH +# Clean path and library path eval \ "$($WM_PROJECT_DIR/bin/foamCleanPath -sh-env=PATH \ $ParaView_DIR $archDir/ParaView-)" diff --git a/etc/config.sh/settings b/etc/config.sh/settings index fefba566bc47f5b30e13c13ed9557c727a6938a4..69ad56b3857d8ec80d68876d1e3da7beb80224a2 100644 --- a/etc/config.sh/settings +++ b/etc/config.sh/settings @@ -82,8 +82,9 @@ Linux) esac ;; -Darwin) # Presumably x86_64 +Darwin) # Presume x86_64, with clang (not gcc) as system compiler WM_ARCH=darwin64 + [ "$WM_COMPILER" = Gcc ] && WM_COMPILER=Clang echo "Darwin support is clang/llvm only" 1>&2 ;; @@ -165,7 +166,7 @@ fi # OpenFOAM executables (user, group, standard) _foamAddPath "$FOAM_USER_APPBIN:$FOAM_SITE_APPBIN:$FOAM_APPBIN" -# Dummy versions of external libraries. To be found last in LD_LIBRARY_PATH +# Dummy versions of external libraries. To be found last in library path _foamAddLib "$FOAM_LIBBIN/dummy" # External (ThirdParty) libraries. Also allowed to be unset diff --git a/etc/config.sh/setup b/etc/config.sh/setup index 407aa4cce68050705da87b30ce2f570d915aeaea..48287d4f069fca800607286c12a285fcb41f4c30 100644 --- a/etc/config.sh/setup +++ b/etc/config.sh/setup @@ -147,7 +147,6 @@ _foamEtc -config settings _foamEtc -config mpi _foamEtc -config paraview -- "$@" # Pass through for evaluation _foamEtc -config vtk -_foamEtc -config gperftools _foamEtc -config adios2 _foamEtc -config CGAL _foamEtc -config scotch diff --git a/etc/config.sh/unset b/etc/config.sh/unset index 6f05533f1ba0485779468bdec78cdeb3f90e4c5d..407d1364910813cc1c23b11b28fee922bd18f866 100644 --- a/etc/config.sh/unset +++ b/etc/config.sh/unset @@ -137,6 +137,7 @@ unset FFTW_ARCH_PATH unset GPERFTOOLS_ARCH_PATH unset GMP_ARCH_PATH unset MPFR_ARCH_PATH +unset LLVM_ARCH_PATH unset MESA_ARCH_PATH unset KAHIP_ARCH_PATH unset METIS_ARCH_PATH diff --git a/etc/cshrc b/etc/cshrc index 380f9d3d495afd0f9af08b85e1869fd245d62c8f..d9150ae15cb92ebf778d6735f0760aa90fd5de74 100644 --- a/etc/cshrc +++ b/etc/cshrc @@ -105,9 +105,9 @@ setenv WM_PROJECT OpenFOAM # later on in this file. # -- # If the directory naming does not match WM_PROJECT, need to change here +# Important! No line continuation in the lsof evaluation (#1668) set projectName="$WM_PROJECT" -set projectDir=`lsof +p $$ |& \ - sed -ne 's@^[^/]*@@;\@/'"$projectName"'[^/]*/etc/cshrc@{s@/etc/cshrc.*@@p; q}'` +set projectDir=`lsof +p $$ |& sed -ne 's#^[^/]*##;\@/'"$projectName"'[^/]*/etc/cshrc@{s#/etc/cshrc.*##p;q; }'` # set projectDir="$HOME/OpenFOAM/OpenFOAM-$WM_PROJECT_VERSION" # set projectDir="/opt/openfoam/OpenFOAM-$WM_PROJECT_VERSION"