X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=blobdiff_plain;f=make.sh;h=0702716584e1ad44c25bea2f4e5bb2d524c475fe;hp=703ce0c4871aa359d3a31f4d8a5e70b59523ba0d;hb=212f17c1145bb6978b4797eb9c805f603ecb1f29;hpb=30a42c6df9e7db23cf5f202d749747967fbcbf55 diff --git a/make.sh b/make.sh index 703ce0c487..0702716584 100755 --- a/make.sh +++ b/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