mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
make.sh: Calculate MAKETUNING depending on available memory
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
14
make.sh
14
make.sh
@@ -62,16 +62,17 @@ export BASEDIR LOGFILE
|
||||
DIR_CHK=$BASEDIR/cache/check
|
||||
mkdir $BASEDIR/log/ 2>/dev/null
|
||||
|
||||
# Load configuration file
|
||||
if [ -f .config ]; then
|
||||
. .config
|
||||
fi
|
||||
|
||||
# Include funtions
|
||||
. tools/make-functions
|
||||
|
||||
# Get the amount of memory in this build system
|
||||
HOST_MEM=$(system_memory)
|
||||
|
||||
if [ -f .config ]; then
|
||||
. .config
|
||||
fi
|
||||
|
||||
if [ -n "${BUILD_ARCH}" ]; then
|
||||
configure_build "${BUILD_ARCH}"
|
||||
elif [ -n "${TARGET_ARCH}" ]; then
|
||||
@@ -176,11 +177,6 @@ prepareenv() {
|
||||
# Setup environment
|
||||
set +h
|
||||
LC_ALL=POSIX
|
||||
if [ -z $MAKETUNING ]; then
|
||||
CPU_COUNT="$(system_processors)"
|
||||
|
||||
MAKETUNING="-j$(( ${CPU_COUNT} * 2 + 1 ))"
|
||||
fi
|
||||
export LFS LC_ALL CFLAGS CXXFLAGS MAKETUNING
|
||||
unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD
|
||||
|
||||
|
||||
@@ -150,6 +150,26 @@ configure_build() {
|
||||
fi
|
||||
|
||||
CXXFLAGS="${CFLAGS}"
|
||||
|
||||
# Determine parallelism
|
||||
if [ -z "${MAKETUNING}" ]; then
|
||||
# We assume that each process consumes about
|
||||
# 192MB of memory. Therefore we find out how
|
||||
# many processes fit into memory.
|
||||
local mem_max=$(( ${HOST_MEM} / 192 ))
|
||||
|
||||
local processors="$(system_processors)"
|
||||
local cpu_max=$(( ${processors} * 2 ))
|
||||
|
||||
local parallelism
|
||||
if [ ${mem_max} -lt ${cpu_max} ]; then
|
||||
parallelism=${mem_max}
|
||||
else
|
||||
parallelism=${cpu_max}
|
||||
fi
|
||||
|
||||
MAKETUNING="-j${parallelism}"
|
||||
fi
|
||||
}
|
||||
|
||||
configure_build_guess() {
|
||||
|
||||
Reference in New Issue
Block a user