mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-12-28 03:37:59 +00:00
CONFIG: fixes for MacOS (#2555)
- introduce a FOAM_LD_LIBRARY_PATH variable to shadow DYLD_LIBRARY_PATH on MacOS. The DYLD_LIBRARY_PATH and LD_LIBRARY_PATH cannot be modified via sub shells etc when SIP is active. This helps circumvent these restrictions, which is obviously a hack, but seems to be required. COMP: disable -ftrapping-math in geompack for MacOS
This commit is contained in:
committed by
Mark Olesen
parent
5218bfd721
commit
e827c117e3
@ -5,7 +5,7 @@
|
||||
# \\ / A nd | www.openfoam.com
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2018-2020 OpenCFD Ltd.
|
||||
# Copyright (C) 2018-2022 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
@ -46,10 +46,10 @@ alias _foamAddMan 'setenv MANPATH \!*\:${MANPATH}'
|
||||
|
||||
# Special treatment for Darwin
|
||||
# - DYLD_LIBRARY_PATH instead of LD_LIBRARY_PATH
|
||||
if ("${_foam_uname_s}" == "Darwin") then
|
||||
alias _foamAddLib 'setenv DYLD_LIBRARY_PATH \!*\:${DYLD_LIBRARY_PATH}'
|
||||
if ("${_foam_uname_s}" == 'Darwin') then
|
||||
alias _foamAddLib 'if (-e \!*) setenv DYLD_LIBRARY_PATH \!*\:${DYLD_LIBRARY_PATH}; if (-e \!*) setenv FOAM_LD_LIBRARY_PATH \!*\:${FOAM_LD_LIBRARY_PATH}'
|
||||
else
|
||||
alias _foamAddLib 'setenv LD_LIBRARY_PATH \!*\:${LD_LIBRARY_PATH}'
|
||||
alias _foamAddLib 'setenv LD_LIBRARY_PATH \!*\:${LD_LIBRARY_PATH}'
|
||||
endif
|
||||
|
||||
# Prefix to LD_LIBRARY_PATH with additional checking
|
||||
|
||||
@ -69,6 +69,13 @@ set archDir="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER"
|
||||
eval `$WM_PROJECT_DIR/bin/foamCleanPath -csh-path "$ParaView_DIR $archDir/ParaView- $archDir/qt-"`
|
||||
eval `$WM_PROJECT_DIR/bin/foamCleanPath -csh-lib "$ParaView_DIR $archDir/ParaView- $archDir/qt-"`
|
||||
|
||||
# Darwin
|
||||
switch ("$WM_ARCH")
|
||||
case darwin*:
|
||||
setenv DYLD_LIBRARY_PATH "${FOAM_LD_LIBRARY_PATH}"
|
||||
breaksw
|
||||
endsw
|
||||
|
||||
# Evaluate command-line parameters for ParaView
|
||||
while ( $#argv > 0 )
|
||||
switch ($argv[1])
|
||||
@ -206,10 +213,11 @@ default:
|
||||
if ( "$pv_libdirs" != "" ) then
|
||||
switch ("$WM_ARCH")
|
||||
case darwin*:
|
||||
setenv DYLD_LIBRARY_PATH "${pv_libdirs}:$DYLD_LIBRARY_PATH"
|
||||
setenv FOAM_LD_LIBRARY_PATH "${pv_libdirs}:${FOAM_LD_LIBRARY_PATH}"
|
||||
setenv DYLD_LIBRARY_PATH "${FOAM_LD_LIBRARY_PATH}"
|
||||
breaksw
|
||||
default:
|
||||
setenv LD_LIBRARY_PATH "${pv_libdirs}:$LD_LIBRARY_PATH"
|
||||
setenv LD_LIBRARY_PATH "${pv_libdirs}:${LD_LIBRARY_PATH}"
|
||||
breaksw
|
||||
endsw
|
||||
endif
|
||||
|
||||
@ -148,16 +148,21 @@ endif
|
||||
# Clean standard environment variables (PATH, MANPATH, [DY]LD_LIBRARY_PATH)
|
||||
# - avoid local variables shadowing setenv variables
|
||||
|
||||
unset PATH MANPATH LD_LIBRARY_PATH DYLD_LIBRARY_PATH
|
||||
unset PATH MANPATH LD_LIBRARY_PATH DYLD_LIBRARY_PATH FOAM_LD_LIBRARY_PATH
|
||||
if (! $?MANPATH ) setenv MANPATH
|
||||
if (! $?LD_LIBRARY_PATH ) setenv LD_LIBRARY_PATH
|
||||
if ("${_foam_uname_s}" == "Darwin" ) then
|
||||
if ("${_foam_uname_s}" == 'Darwin') then
|
||||
if (! $?DYLD_LIBRARY_PATH ) setenv DYLD_LIBRARY_PATH
|
||||
if (! $?FOAM_LD_LIBRARY_PATH ) setenv FOAM_LD_LIBRARY_PATH
|
||||
else
|
||||
if (! $?LD_LIBRARY_PATH ) setenv LD_LIBRARY_PATH
|
||||
endif
|
||||
|
||||
_foamClean PATH "$foamOldDirs"
|
||||
_foamClean MANPATH "$foamOldDirs"
|
||||
_foamClean -lib "$foamOldDirs"
|
||||
if ("${_foam_uname_s}" == 'Darwin') then
|
||||
setenv DYLD_LIBRARY_PATH "${FOAM_LD_LIBRARY_PATH}"
|
||||
endif
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@ -213,6 +218,9 @@ endif
|
||||
_foamClean PATH
|
||||
_foamClean MANPATH
|
||||
_foamClean -lib
|
||||
if ("${_foam_uname_s}" == 'Darwin') then
|
||||
setenv DYLD_LIBRARY_PATH "${FOAM_LD_LIBRARY_PATH}"
|
||||
endif
|
||||
|
||||
# Add trailing ':' for system manpages
|
||||
if ( $?MANPATH ) then
|
||||
@ -224,8 +232,8 @@ if ($?LD_LIBRARY_PATH) then
|
||||
endif
|
||||
|
||||
# Darwin
|
||||
if ($?DYLD_LIBRARY_PATH) then
|
||||
if ("${DYLD_LIBRARY_PATH}" == "") unsetenv DYLD_LIBRARY_PATH
|
||||
if ($?FOAM_LD_LIBRARY_PATH) then
|
||||
if ("${FOAM_LD_LIBRARY_PATH}" == "") unsetenv DYLD_LIBRARY_PATH FOAM_LD_LIBRARY_PATH
|
||||
endif
|
||||
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
# Copyright (C) 2016-2021 OpenCFD Ltd.
|
||||
# Copyright (C) 2016-2022 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
@ -172,8 +172,10 @@ if ( $?foamClean ) then
|
||||
if ($?LD_LIBRARY_PATH) then
|
||||
eval `$foamClean -csh-env=LD_LIBRARY_PATH "$foamOldDirs"`
|
||||
endif
|
||||
if ($?DYLD_LIBRARY_PATH) then
|
||||
eval `$foamClean -csh-env=DYLD_LIBRARY_PATH "$foamOldDirs"`
|
||||
# Darwin
|
||||
if ($?FOAM_LD_LIBRARY_PATH) then
|
||||
eval `$foamClean -csh-env=FOAM_LD_LIBRARY_PATH "$foamOldDirs"`
|
||||
setenv DYLD_LIBRARY_PATH ${FOAM_LD_LIBRARY_PATH}
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -188,7 +190,7 @@ if ($?DYLD_LIBRARY_PATH) then
|
||||
endif
|
||||
|
||||
# Remove any shadow env variables
|
||||
unsetenv FOAM_DYLD_LIBRARY_PATH
|
||||
unsetenv FOAM_DYLD_LIBRARY_PATH FOAM_LD_LIBRARY_PATH
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Cleanup aliases
|
||||
|
||||
Reference in New Issue
Block a user