Files
openfoam/etc/config.sh/FFTW
Mark Olesen 16d48ed047 CONFIG: improve robustness/flexibility for MPI config handling
- use orte-info to determine prefix/libdir for openmpi.
  This removes a run-time dependency on mpicc, which is actually
  only needed for building with MPI (not running with MPI).
  The corresponding openmpi devel package (deb/rpm) will not
  necessarily be installed on a particular system.

- retain mpicc logic if the new logic using orte-info does not
  deliver an answer. Final fallback to using 'orterun' to
  infer prefix/libdir.

- Additional logic for intel and msmpi to make it easier to
  locate these vendor packages within ThirdParty
  (ie, under ThirdParty/opt/...)

CONFIG: improve robustness

- add check for absolute path when adding PATH/LD_LIBRARY_PATH etc.

- prefix more variables with '_foam*' to prevent accidental overwrite
  of userspace shell variables when sourcing
2021-10-18 11:34:02 +02:00

57 lines
2.0 KiB
Bash

#----------------------------------*-sh-*--------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | www.openfoam.com
# \\/ M anipulation |
#------------------------------------------------------------------------------
# Copyright (C) 2016-2018 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
#
# File
# etc/config.sh/FFTW
# - sourced by OpenFOAM-*/etc/bashrc
#
# Description
# Setup for FFTW include/libraries (usually ThirdParty installation).
#
# To disable its use: fftw_version=fftw-none
# For system-wide installations: fftw_version=fftw-system
#
# For central installations not located under ThirdParty:
# 1. use fftw-system
# 2. and provide full path for FFTW_ARCH_PATH
#
# Note
# When _foamAddLibAuto is unset (eg, called from makeFFTW):
# - fftw_version variable is retained.
# - the lib-path is not adjusted.
#
# Can also disable by renaming/removing this file or by creating an empty
# file with the same name at a user or site location.
#------------------------------------------------------------------------------
# USER EDITABLE PART: Changes made here may be lost with the next upgrade
fftw_version=fftw-3.3.7
export FFTW_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$fftw_version
# END OF (NORMAL) USER EDITABLE PART
#------------------------------------------------------------------------------
if [ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ]
then
echo "Using fftw ($fftw_version) -> $FFTW_ARCH_PATH" 1>&2
fi
if command -v _foamAddLibAuto >/dev/null # Normal sourcing (not makeFFTW)
then
_foamAddLibAuto $FFTW_ARCH_PATH lib$WM_COMPILER_LIB_ARCH
unset fftw_version
fi
#------------------------------------------------------------------------------