mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-15 13:32:59 +02:00
make.sh: Refactor XZ compression parameters again
I completely ruined this now and therefore I had to make it new again: * I split the parameters into smaller chunks now and added comments about why we have chosen those. * I move it all to configure_build() since we do not need to check if the host architecture is 64 bit capable, but the architecture we are building for. Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
38
make.sh
38
make.sh
@@ -225,6 +225,30 @@ configure_build() {
|
||||
|
||||
MAKETUNING="-j${parallelism}"
|
||||
fi
|
||||
|
||||
# Compression parameters
|
||||
# We use mode 8 for reasonable memory usage when decompressing
|
||||
# but with overall good compression
|
||||
XZ_OPT="-8"
|
||||
|
||||
# We try to use as many cores as possible
|
||||
XZ_OPT="${XZ_OPT} -T0"
|
||||
|
||||
# We need to limit memory because XZ uses too much when running
|
||||
# in parallel and it isn't very smart in limiting itself.
|
||||
# We allow XZ to use up to 70% of all system memory.
|
||||
local xz_memory=$(( HOST_MEM * 7 / 10 ))
|
||||
|
||||
# XZ memory cannot be larger than 2GB on 32 bit systems
|
||||
case "${build_arch}" in
|
||||
i*86|armv*)
|
||||
if [ ${xz_memory} -gt 2048 ]; then
|
||||
xz_memory=2048
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
XZ_OPT="${XZ_OPT} --memory=${xz_memory}MiB"
|
||||
}
|
||||
|
||||
configure_build_guess() {
|
||||
@@ -861,20 +885,6 @@ fi
|
||||
# Get the amount of memory in this build system
|
||||
HOST_MEM=$(system_memory)
|
||||
|
||||
# We compress archives with "xz -8", using all cores and up to 70% of memory
|
||||
XZ_MEM=$(( HOST_MEM * 7 / 10 ))
|
||||
|
||||
# XZ memory cannot be larger than 2GB on 32 bit systems
|
||||
case "${HOST_ARCH}" in
|
||||
i*86|armv*)
|
||||
if [ ${XZ_MEM} -gt 2048 ]; then
|
||||
XZ_MEM=2048
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
XZ_OPT="-T0 -8 --memory=${XZ_MEM}MiB"
|
||||
|
||||
if [ -n "${BUILD_ARCH}" ]; then
|
||||
configure_build "${BUILD_ARCH}"
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user