#!/bin/sh #------------------------------------------------------------------------------ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | Copyright (C) 2018 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------ # 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 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" # <- PETSC_ARCH_PATH if [ -d "$dir/include" ] then for lib in \ $FOAM_EXT_LIBBIN/libpetsc.$SO \ $dir/lib/libpetsc.a \ $dir/lib/libpetsc.$SO \ $dir/lib$WM_COMPILER_LIB_ARCH/libpetsc.a \ $dir/lib$WM_COMPILER_LIB_ARCH/libpetsc.$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%/*} && 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<