This adjusts the value of the make -j option in case the DISTCC_HOSTS
environment variable is set. There is no way to determine the number of
processing units (cores) for the remote hosts listed in DISTCC_HOSTS,
so we set the number of jobs to run simultaneously to
n + 2 * n * d
where n is the number of cores on the local system and d is the
number of hosts in DISTCC_HOSTS. This seems to work fine on one such
distributed setup.
n=$(grep ^processor /proc/cpuinfo 2>/dev/null | wc -l)
[ $n -eq 0 ] && n=1
fi
+# If we are compiling with distcc, try to guess a reasonable number
+# based on (a) the number of cores on this machine and (b) the number
+# of words in the DISTCC_HOSTS variable.
+d="$(echo $DISTCC_HOSTS | wc -w)"
+n=$(($n + 2 * $n * $d))
echo preparing, parallel=$n...
if test -f Makefile; then
make maintainer-clean > /dev/null 2>&1