From 5379c6d7b5368100184792219248b48580755aae Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Tue, 15 Feb 2011 08:28:43 +0100 Subject: [PATCH] autogen.sh: Detect number of processors and run parallel make. On multi-core machines a parallel make is often much faster than a sequential make. This patch teaches autogen.sh to detect the number of processing units available on the build system. It first tries to execute the nproc utility (part of the coreutils package) and falls back to /proc/cpuinfo if nproc was unavailable. If both methods don't work, which is usually the case on non-Linux systems where coreutils are not installed and /proc/cpuinfo does not exist, we use the safe default of n=1. --- autogen.sh | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/autogen.sh b/autogen.sh index a047f7c4..e5000a6f 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,7 +1,13 @@ #!/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 +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 2>&1 autoconf @@ -10,4 +16,4 @@ echo configuring... ./configure $@ > /dev/null echo compiling... make clean2 > /dev/null 2>&1 -make > /dev/null +make -j $n > /dev/null -- 2.39.2