Make build_all.sh more portable and a bit simpler (#13308)

This commit is contained in:
Clyybber 2020-02-03 02:02:44 +01:00 • committed by GitHub
commit 1ab37ccfc6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -7,7 +7,7 @@ set -u # error on undefined variables
set -e # exit on first error set -e # exit on first error
echo_run(){ echo_run(){
printf "\n$*\n" echo "$*"
"$@" "$@"
} }
@ -21,7 +21,7 @@ build_nim_csources_via_script(){
} }
build_nim_csources(){ build_nim_csources(){
## avoid changing dir in case of failure # avoid changing dir in case of failure
( (
if [[ $# -ne 0 ]]; then if [[ $# -ne 0 ]]; then
# some args were passed (eg: `--cpu i386`), need to call build.sh # some args were passed (eg: `--cpu i386`), need to call build.sh
@ -33,10 +33,7 @@ build_nim_csources(){
if [ "$unamestr" = 'FreeBSD' ]; then if [ "$unamestr" = 'FreeBSD' ]; then
makeX=gmake makeX=gmake
fi fi
# see https://stackoverflow.com/a/53427092/1426932 which $makeX && echo_run $makeX -C csources -j -l 80 || build_nim_csources_via_script
logicalCpus=$(nproc 2>/dev/null || sysctl -n hw.logicalcpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null)
# +1: see https://unix.stackexchange.com/questions/519092/what-is-the-logic-of-using-nproc-1-in-make-command
which $makeX && echo_run $makeX -C csources -j $(($logicalCpus + 1)) || build_nim_csources_via_script
fi fi
) )
# keep $nim_csources in case needed to investigate bootstrap issues # keep $nim_csources in case needed to investigate bootstrap issues