#!/bin/sh #------------------------------------------------------------------------------ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | Copyright (C) 2017-2019 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, licensed under GNU General Public License # . # # Script # makeKAHIP # # Description # Build the KaHIP library (int32 only). # # ---------------------------------------------- # 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%/}" # <- KAHIP_ARCH_PATH if [ -d "$dir/include" ] then for lib in \ $FOAM_EXT_LIBBIN/libkahip$EXT_SO \ $dir/lib/libkahip.a \ $dir/lib/libkahip$EXT_SO \ $dir/lib$WM_COMPILER_LIB_ARCH/libkahip.a \ $dir/lib$WM_COMPILER_LIB_ARCH/libkahip$EXT_SO \ ; do if [ -r "$lib" ] then echo " kahip include: $dir/include" echo " kahip 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 kahip kahipPACKAGE=${KAHIP_VERSION:-kahip-system} targetType=libso #------------------------------------------------------------------------------ usage() { exec 1>&2 while [ "$#" -ge 1 ]; do echo "$1"; shift; done /bin/cat<= 2.11) uses CMake, # but unfortunately does not install include/ # nor pass through flags for 64bit indices in the header. withCmake=true version=$(echo "$kahipPACKAGE" | sed -e 's/^kahip[-_]*//i') case "$version" in 2.0*) unset withCmake;; esac if true then ( echo "Starting build: $kahipPACKAGE ($targetType) using wmake" echo cd $KAHIP_SOURCE_DIR/lib || exit 1 export GIT_DIR=$KAHIP_SOURCE_DIR/.git # Mask seeing our own git-repo rm -rf $KAHIP_ARCH_PATH rm -f $FOAM_EXT_LIBBIN/libkahip$EXT_SO libdir=$KAHIP_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH cpMakeFiles kahip 2>/dev/null if [ -e ../interface ] && [ ! -e interface ] then ln -s ../interface interface fi # Place static libraries in sub-directory: if [ "$targetType" = lib ] then mkdir -m 0755 -p $libdir 2>/dev/null export FOAM_EXT_LIBBIN=$libdir fi # Location of lib sources for wmake export KAHIP_LIB_SRC=$PWD wmake -j $WM_NCOMPPROCS -s $targetType \ && echo "Built: kahip" \ && install ) || { echo "Error building: kahip" exit 1 } fi #------------------------------------------------------------------------------