#!/bin/sh #------------------------------------------------------------------------------ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------ # Copyright (C) 2018-2019 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, licensed under GNU General Public License # . # # Script # makePETSC # # Description # Build script for PETSC # # ---------------------------------------------- # NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE #------------------------------------------------------------------------------ # Dynamic library ending (default is .so) [ "$(uname -s)" = Darwin ] && EXT_SO=.dylib || EXT_SO=.so # Short-circuit test for an installation if [ "$1" = "-test" ] then [ "$#" -eq 2 ] || { echo "${0##*/} -test : needs 1 argument"; exit 1; } dir="${2%/}" # <- PETSC_ARCH_PATH if [ -d "$dir/include" ] then for lib in \ $FOAM_EXT_LIBBIN/libpetsc$EXT_SO \ $dir/lib/libpetsc.a \ $dir/lib/libpetsc$EXT_SO \ $dir/lib$WM_COMPILER_LIB_ARCH/libpetsc.a \ $dir/lib$WM_COMPILER_LIB_ARCH/libpetsc$EXT_SO \ ; do if [ -r "$lib" ] then echo " petsc include: $dir/include" echo " petsc library: ${lib%/*}" exit 0 fi done fi exit 2 fi #------------------------------------------------------------------------------ # Run from third-party directory only cd "${0%/*}" || exit 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 } [ -n "$FOAM_EXT_LIBBIN" ] || { echo "Error (${0##*/}) : \$FOAM_EXT_LIBBIN not set" echo " Check your OpenFOAM environment and installation" exit 1 } . etc/tools/ThirdPartyFunctions #------------------------------------------------------------------------------ _foamConfig petsc petscPACKAGE=${petsc_version:-petsc-system} targetType=libso #------------------------------------------------------------------------------ usage() { exec 1>&2 while [ "$#" -ge 1 ]; do echo "$1"; shift; done cat<