From 45e0e324d33188202edf40ad5c80363e9e37d25d Mon Sep 17 00:00:00 2001 From: Alex Xu Date: Sat, 22 Feb 2014 21:30:33 -0500 Subject: meh --- setup.sh | 44 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 6 deletions(-) (limited to 'setup.sh') diff --git a/setup.sh b/setup.sh index b8f40bc..0a53722 100755 --- a/setup.sh +++ b/setup.sh @@ -1,15 +1,47 @@ #!/bin/bash -if ! grep -q -- -j <<< "$MAKEOPTS"; then - MAKEOPTS="-j`nproc` $MAKEOPTS" - echo "No -j detected, setting $MAKEOPTS automatically." - printf "%sGiB free RAM, approx 1GiB/core required (depending on ffmpeg settings)." "$(free -gt | tail -n 1 | awk '{print $4}')" -fi - set -e -x cd $(dirname $0) +check-reqs_no() { +} + +check-reqs_disk() { + local space + + space=$(df -P . 2>/dev/null | awk 'FNR == 2 {print $4}') + + if [[ $? == 0 && -n $space && $space -lt $1 ]] ; then + echo >&2 "Warning: There is NOT at least $1 KiB disk space available, build may fail." + fi +} + +check-reqs_memory() { + local actual_memory + + if [[ -r /proc/meminfo ]] ; then + actual_memory=$(awk '/MemTotal/ { print $2 }' /proc/meminfo) + fi + if [[ -n $actual_memory && $actual_memory -lt $((1024 * $1)) ]] ; then + echo >&2 "Warning: There is NOT at least $1 KiB RAM available, build may fail." + echo >&2 "If it does, try setting MAKEOPTS lower or simply re-running this script." + fi +} + +if ! grep -q -- -j <<< "$MAKEOPTS"; then + NPROC="`nproc`" + MAKEOPTS="-j$NPROC $MAKEOPTS" + echo >&2 "No -j detected, setting $MAKEOPTS automatically." + check-reqs_memory $(( NPROC * 262144 )) # 256 MiB/job + if [[ $NOTEMP ]]; then + check-reqs_disk 500000 # 500 MiB + else + check-reqs_disk 13000000 + echo >&2 "If you have insufficient disk space (indicated if so above), consider setting NOTEMP=1 to disable generation of Y4M files." + fi +fi + cd unrpyc # silence build failure make $MAKEOPTS install || true -- cgit v1.2.3-54-g00ecf