From 40ae7ae518dad9d774890c62cad4fbb79ab746c2 Mon Sep 17 00:00:00 2001 From: Herbert Thielen Date: Mon, 4 Sep 2017 18:19:06 +0200 Subject: [PATCH 1/2] set MAKEFLAGS to use multiple processors on Travis CI --- travis.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/travis.sh b/travis.sh index bd226a8d..3a6c297a 100755 --- a/travis.sh +++ b/travis.sh @@ -1,5 +1,16 @@ #!/usr/bin/env sh set -evx + +# if possible, ask for the precise number of processors, +# otherwise take 2 processors as reasonable default; see +# https://docs.travis-ci.com/user/speeding-up-the-build/#Makefile-optimization +if [ -x /usr/bin/getconf ]; then + MAKEFLAGS=j$(/usr/bin/getconf _NPROCESSORS_ONLN) +else + MAKEFLAGS="j2" +fi +export MAKEFLAGS + env | sort mkdir build || true From 5fece522d24344c0294f6d35ceff9aab6bcd94dd Mon Sep 17 00:00:00 2001 From: Herbert Thielen Date: Mon, 4 Sep 2017 18:56:52 +0200 Subject: [PATCH 2/2] limit processors to use in Travis build to 4 --- travis.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/travis.sh b/travis.sh index 3a6c297a..24a557e9 100755 --- a/travis.sh +++ b/travis.sh @@ -5,10 +5,19 @@ set -evx # otherwise take 2 processors as reasonable default; see # https://docs.travis-ci.com/user/speeding-up-the-build/#Makefile-optimization if [ -x /usr/bin/getconf ]; then - MAKEFLAGS=j$(/usr/bin/getconf _NPROCESSORS_ONLN) + NPROCESSORS=$(/usr/bin/getconf _NPROCESSORS_ONLN) else - MAKEFLAGS="j2" + NPROCESSORS=2 fi +# as of 2017-09-04 Travis CI reports 32 processors, but GCC build +# crashes if parallelized too much (maybe memory consumption problem), +# so limit to 4 processors for the time being. +if [ $NPROCESSORS -gt 4 ] ; then + echo "$0:Note: Limiting processors to use by make from $NPROCESSORS to 4." + NPROCESSORS=4 +fi +# Tell make to use the processors. No preceding '-' required. +MAKEFLAGS="j${NPROCESSORS}" export MAKEFLAGS env | sort