From b9bb92b65de084f88f3be84e4896a6bc0f71307d Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@Germany> Date: Tue, 28 Jun 2016 15:27:11 +0200 Subject: [PATCH] ENH: provide configuration settings for FFTW --- etc/bashrc | 1 + etc/config.csh/FFTW | 71 +++++++++++++++++++++++++++++++++++++++++ etc/config.sh/FFTW | 77 +++++++++++++++++++++++++++++++++++++++++++++ etc/cshrc | 1 + 4 files changed, 150 insertions(+) create mode 100644 etc/config.csh/FFTW create mode 100644 etc/config.sh/FFTW diff --git a/etc/bashrc b/etc/bashrc index 225f5e22ffe..78fe3bd9753 100644 --- a/etc/bashrc +++ b/etc/bashrc @@ -180,6 +180,7 @@ _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/ensight` _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/gperftools` _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/CGAL` _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/scotch` +_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/FFTW` # Clean environment paths again. Only remove duplicates diff --git a/etc/config.csh/FFTW b/etc/config.csh/FFTW new file mode 100644 index 00000000000..514216e1bff --- /dev/null +++ b/etc/config.csh/FFTW @@ -0,0 +1,71 @@ +#----------------------------------*-sh-*-------------------------------------- +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# License +# This file is part of OpenFOAM. +# +# OpenFOAM is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# +# File +# etc/config.sh/FFTW +# +# Description +# Setup file for FFTW include/libraries. +# Sourced from OpenFOAM-<VERSION>/etc/cshrc +# +# If using system-wide installations, use the following settings: +# +# fftw_version=fftw-system +# +# If the system fftw is unusable (eg, too old) and you don't +# have or want a ThirdParty installation: +# +# fftw_version=fftw-none +# +# If using a central installation, but not located under ThirdParty: +# - specify fftw-system +# - provide full paths for FFTW_ARCH_PATH +# +# Note +# When building OpenFOAM, any changes made here MUST be made in the +# equivalent config.sh version too, since that is the one which will +# be used during the build process. +# +#------------------------------------------------------------------------------ + +set fftw_version=fftw-system + +setenv FFTW_ARCH_PATH $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$fftw_version + +#------------------------------------------------------------------------------ +if ($?FOAM_VERBOSE && $?prompt) then + echo "Using fftw ($fftw_version) -> $FFTW_ARCH_PATH" +endif + +# If FFTW_ARCH_PATH does not end with '-system' or '-none', +# it is either located within ThirdParty, or a central installation +# outside of ThirdParty and must be added to the lib-path. + +set ending="${FFTW_ARCH_PATH:t}" +if ( "$ending" != "fftw-none" && "$ending" != "fftw-system" ) then + _foamAddLib $FFTW_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH +endif + +unset fftw_version ending + +#------------------------------------------------------------------------------ diff --git a/etc/config.sh/FFTW b/etc/config.sh/FFTW new file mode 100644 index 00000000000..74115fccfca --- /dev/null +++ b/etc/config.sh/FFTW @@ -0,0 +1,77 @@ +#----------------------------------*-sh-*-------------------------------------- +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# License +# This file is part of OpenFOAM. +# +# OpenFOAM is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# +# File +# etc/config.sh/FFTW +# +# Description +# Setup file for FFTW include/libraries. +# Sourced from OpenFOAM-<VERSION>/etc/bashrc +# +# If using system-wide installations, use the following settings: +# +# fftw_version=fftw-system +# +# If the system fftw is unusable (eg, too old) and you don't +# have or want a ThirdParty installation: +# +# fftw_version=fftw-none +# +# If using a central installation, but not located under ThirdParty: +# - specify fftw-system +# - provide full paths for FFTW_ARCH_PATH +# +# Note +# When _foamAddLib is unset (eg, called from makeFFTW): +# - fftw_version variable is retained. +# - the LD_LIBRARY_PATH is not adjusted. +#------------------------------------------------------------------------------ + +fftw_version=fftw-system + +export FFTW_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$fftw_version + +#------------------------------------------------------------------------------ +if [ "$FOAM_VERBOSE" -a "$PS1" ] +then + echo "Using fftw ($fftw_version) -> $FFTW_ARCH_PATH" 1>&2 +fi + +if type _foamAddLib > /dev/null 2>&1 # normal sourcing +then + + # If FFTW_ARCH_PATH does not end with '-system' or '-none', + # it is either located within ThirdParty, or a central installation + # outside of ThirdParty and must be added to the lib-path. + + ending="${FFTW_ARCH_PATH_PATH##*-}" + if [ "$ending" != none -a "$ending" != system ] + then + _foamAddLib $FFTW_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH + fi + + unset fftw_version ending + +fi + +#------------------------------------------------------------------------------ diff --git a/etc/cshrc b/etc/cshrc index 30138fdb366..099662b296d 100644 --- a/etc/cshrc +++ b/etc/cshrc @@ -211,6 +211,7 @@ _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/mpi` _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/paraview` _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/ensight` _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/CGAL` +_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/FFTW` # Clean environment paths again. Only remove duplicates -- GitLab