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
# 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
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() {