string.c: Improve documentation of create_argv().
[paraslash.git] / autogen.sh
index 76eaef2f38cad05ffd41d0bd7291f51601efcac7..d432adbb64aa08a74e4dab7bd21360ebb2ef4227 100755 (executable)
@@ -1,13 +1,28 @@
 #!/bin/sh
-echo preparing...
+# check if we have multiple processors/cores
+n=$(nproc 2>/dev/null)
+if [ -z "$n" ]; then
+       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
+       make maintainer-clean > /dev/null 2>&1
 fi
-aclocal -I . &> /dev/null
-autoconf
+autom4te \
+       --language=autoconf \
+       --output=configure \
+       --no-cache \
+       --warnings=all \
+       configure.ac
 autoheader
 echo configuring...
 ./configure $@ > /dev/null
 echo compiling...
-make clean2 &> /dev/null
-make > /dev/null
+make clean2 > /dev/null 2>&1
+make -j $n > /dev/null