141 lines
5.3 KiB
Text
141 lines
5.3 KiB
Text
|
#!/bin/bash
|
||
|
#------------------------------------------------------------------------------
|
||
|
# ========= |
|
||
|
# \\ / F ield | foam-extend: Open Source CFD
|
||
|
# \\ / O peration |
|
||
|
# \\ / A nd | For copyright notice see file Copyright
|
||
|
# \\/ M anipulation |
|
||
|
#------------------------------------------------------------------------------
|
||
|
# License
|
||
|
# This file is part of foam-extend.
|
||
|
#
|
||
|
# foam-extend 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.
|
||
|
#
|
||
|
# foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||
|
#
|
||
|
# Script
|
||
|
# AllMake.stage2
|
||
|
#
|
||
|
# Description
|
||
|
# Build script for ThirdParty packages: Stage2
|
||
|
#
|
||
|
# Communication libraries
|
||
|
#
|
||
|
# Once this stage is built, you would normally re-initialize your
|
||
|
# foam-extend environment in order redirect foam-extend toward the
|
||
|
# appropriate communication library
|
||
|
#
|
||
|
# NOTE: This stage is optional. Use it only if you want to override
|
||
|
# your system communication libraries
|
||
|
#
|
||
|
# Requirements:
|
||
|
# 1: Your foam-extend environment must be properly initialized
|
||
|
# 2: AllMake.stage1 if you are overriding your system compiler
|
||
|
# 3: The file etc/prefs.sh should be used for setting the variables
|
||
|
# enabling the compilation of the various packages
|
||
|
#
|
||
|
# Author:
|
||
|
# Martin Beaudoin, Hydro-Quebec, (2015)
|
||
|
#
|
||
|
#------------------------------------------------------------------------------
|
||
|
# run from third-party directory only
|
||
|
cd ${0%/*} || exit 1
|
||
|
|
||
|
wmakeCheckPwd "$WM_THIRD_PARTY_DIR" || {
|
||
|
echo "Error: Current directory is not \$WM_THIRD_PARTY_DIR"
|
||
|
echo " The environment variables are inconsistent with the installation."
|
||
|
echo " Check the foam-extend entries in your dot-files and source them."
|
||
|
exit 1
|
||
|
}
|
||
|
. tools/makeThirdPartyFunctionsForRPM
|
||
|
#------------------------------------------------------------------------------
|
||
|
|
||
|
echo ========================================
|
||
|
echo Starting ThirdParty AllMake: Stage2
|
||
|
echo ========================================
|
||
|
echo
|
||
|
|
||
|
if [ "$WM_MPLIB" != "SYSTEMOPENMPI" ]
|
||
|
then
|
||
|
# MPI
|
||
|
|
||
|
# openmpi 1.4.1
|
||
|
#
|
||
|
[ ! -z "$WM_THIRD_PARTY_USE_OPENMPI_141" ] && {
|
||
|
echo "Building openmpi 1.4.1"
|
||
|
( rpm_make -p openmpi-1.4.1 -s openmpi-1.4.1.spec -u http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.1.tar.gz )
|
||
|
}
|
||
|
|
||
|
# openmpi 1.4.3
|
||
|
#
|
||
|
[ ! -z "$WM_THIRD_PARTY_USE_OPENMPI_143" ] && {
|
||
|
echo "Building openmpi 1.4.3"
|
||
|
( rpm_make -p openmpi-1.4.3 -s openmpi-1.4.3.spec -u http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.3.tar.gz )
|
||
|
}
|
||
|
|
||
|
# openmpi 1.5
|
||
|
#
|
||
|
[ ! -z "$WM_THIRD_PARTY_USE_OPENMPI_15" ] && {
|
||
|
echo "Building openmpi 1.5"
|
||
|
( rpm_make -p openmpi-1.5 -s openmpi-1.5.spec -u http://www.open-mpi.org/software/ompi/v1.5/downloads/openmpi-1.5.tar.gz )
|
||
|
}
|
||
|
|
||
|
# openmpi 1.6.5
|
||
|
#
|
||
|
[ ! -z "$WM_THIRD_PARTY_USE_OPENMPI_165" ] && {
|
||
|
echo "Building openmpi 1.6.5"
|
||
|
( rpm_make -p openmpi-1.6.5 -s openmpi-1.6.5.spec -u http://www.open-mpi.org/software/ompi/v1.6/downloads/openmpi-1.6.5.tar.gz \
|
||
|
-f --define '_configureAdditionalArgs "$WM_THIRD_PARTY_USE_OPENMPI_165_ConfigureAdditionalArgs"')
|
||
|
}
|
||
|
|
||
|
# openmpi 1.8.8
|
||
|
#
|
||
|
[ ! -z "$WM_THIRD_PARTY_USE_OPENMPI_188" ] && {
|
||
|
echo "Building openmpi 1.8.8"
|
||
|
( rpm_make -p openmpi-1.8.8 -s openmpi-1.8.8.spec -u https://www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-1.8.8.tar.gz \
|
||
|
-f --define '_configureAdditionalArgs "$WM_THIRD_PARTY_USE_OPENMPI_188_ConfigureAdditionalArgs"')
|
||
|
}
|
||
|
|
||
|
# openmpi 3.1.1
|
||
|
#
|
||
|
[ ! -z "$WM_THIRD_PARTY_USE_OPENMPI_311" ] && {
|
||
|
echo "Building openmpi 3.1.1"
|
||
|
( rpm_make -p openmpi-3.1.1 -s openmpi-3.1.1.spec -u https://www.open-mpi.org/software/ompi/v3.1/downloads/openmpi-3.1.1.tar.gz \
|
||
|
-f --define '_configureAdditionalArgs "$WM_THIRD_PARTY_USE_OPENMPI_311_ConfigureAdditionalArgs"')
|
||
|
}
|
||
|
|
||
|
# openmpi 4.0.0
|
||
|
#
|
||
|
[ ! -z "$WM_THIRD_PARTY_USE_OPENMPI_400" ] && {
|
||
|
echo "Building openmpi 4.0.0"
|
||
|
( rpm_make -p openmpi-4.0.0 -s openmpi-4.0.0.spec -u https://www.open-mpi.org/software/ompi/v4.0/downloads/openmpi-4.0.0.tar.gz \
|
||
|
-f --define '_configureAdditionalArgs "$WM_THIRD_PARTY_USE_OPENMPI_400_ConfigureAdditionalArgs"')
|
||
|
}
|
||
|
|
||
|
# mvipich2-2.2
|
||
|
#
|
||
|
[ ! -z "$WM_THIRD_PARTY_USE_MVAPICH2_22" ] && {
|
||
|
echo "Building mvapich2 2.2"
|
||
|
( rpm_make -p mvapich2-2.2 -s mvapich2-2.2.spec -u http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.2.tar.gz \
|
||
|
-f --define '_configureAdditionalArgs "$WM_THIRD_PARTY_USE_MVAPICH2_22_ConfigureAdditionalArgs"')
|
||
|
}
|
||
|
else
|
||
|
echo "Using system installed OpenMPI"
|
||
|
echo ""
|
||
|
fi
|
||
|
echo ========================================
|
||
|
echo Done ThirdParty AllMake: Stage2
|
||
|
echo ========================================
|
||
|
echo
|
||
|
|
||
|
# ----------------------------------------------------------------- end-of-file
|