#!/usr/bin/env bash

PROGNAME="${BASH_SOURCE[0]}"
HERE="$(cd "$(dirname "$PROGNAME")" &>/dev/null && pwd)"
READIES=$(cd $HERE/.. && pwd)
. $READIES/shibumi/defs

if [[ $1 == --help || $1 == help || $HELP == 1 ]]; then
	cat <<-END
		[ARGVARS...] nproc [--help|help]

		Argument variables:
		MAX_NPROC=n  Upper limit on nproc
		HELP=1       Print help

	END
	exit 0
fi

os=$($HERE/platform --os)
if [[ $os == linux ]]; then
	n=`nproc`
elif [[ $os == macos ]]; then
	n=`sysctl -n hw.logicalcpu`
elif [[ $os == freebsd ]]; then
	n=`sysctl -n hw.ncpu`
else
	n=4
fi
if [[ -n $MAX_NPROC && $(( n > MAX_NPROC )) == 1 ]]; then
	n="$MAX_NPROC"
fi
echo "$n"
