#!/bin/sh #------------------------------------------------------------------------------ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | Copyright (C) 2017-2018 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, licensed under GNU General Public License # . # # Script # makeMPICH # # Description # Build script for mpich - legacy (unmaintained) build code! # # ---------------------------------------------- # NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE #------------------------------------------------------------------------------ # Dynamic library endings (default is .so) [ "$(uname -s)" = Darwin ] && SO=dylib || SO=so # Short-circuit test for an installation if [ "$1" = "-test" ] then [ "$#" -eq 2 ] || { echo "${0##*/} -test : needs 1 argument"; exit 1; } dir="$2" # <- MPI_ARCH_PATH if [ -r "$dir/lib$WM_COMPILER_LIB_ARCH/libmpich.$SO" ] then echo "Have mpich shared library (${dir##*/})" exit 0 elif [ -r "$dir/lib$WM_COMPILER_LIB_ARCH/libmpich.a" ] then echo "Have mpich static library (${dir##*/})" exit 0 else echo "No mpich libraries found: ${dir:-not-specified}" exit 2 fi fi #------------------------------------------------------------------------------ # Run from third-party directory only cd ${0%/*} && wmakeCheckPwd "$WM_THIRD_PARTY_DIR" 2>/dev/null || { echo "Error (${0##*/}) : not located in \$WM_THIRD_PARTY_DIR" echo " Check your OpenFOAM environment and installation" exit 1 } . etc/tools/ThirdPartyFunctions # Transition # ~~~~~~~~~~ _foamAddLib() { true; } _foamAddMan() { true; } _foamAddPath() { true; } #------------------------------------------------------------------------------ WM_MPLIB=MPICH # Ensure we get the correct MPI # mpich version from OpenFOAM etc/config.sh file: _foamConfig mpi mpiPACKAGE=${FOAM_MPI:-mpich-system} #------------------------------------------------------------------------------ usage() { exec 1>&2 while [ "$#" -ge 1 ]; do echo "$1"; shift; done cat</dev/null rm -rf $MPI_ARCH_PATH rm -rf $buildDIR mkdir -p $buildDIR cd $buildDIR set -x $MPI_SOURCE_DIR/configure \ --prefix=$MPI_ARCH_PATH \ --disable-fortran --disable-g \ --libdir=$MPI_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH \ --enable-shared --disable-static \ $configOpt \ && set +x \ && make -j $WM_NCOMPPROCS \ && make install \ && echo "Built: $mpiPACKAGE" \ && pkgconfigAdjust $MPI_ARCH_PATH ) || { echo "Error building: $mpiPACKAGE" exit 1 } fi #------------------------------------------------------------------------------