From: Tom Rini Date: Thu, 18 Dec 2025 23:30:56 +0000 (-0600) Subject: lzma: Add Kconfig options to optimize for size X-Git-Tag: v2026.04-rc1~59^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e7797f450ad26bca32c12ae55e3d43438b74f910;p=thirdparty%2Fu-boot.git lzma: Add Kconfig options to optimize for size Currently, our LZMA library has an option for optimizing for size, rather than speed. It is a minimal savings today, and has not been worth enabling. As this will change in the near future, add options now to allow disabling it in full U-Boot or in SPL, and enable these on gardena-smart-gateway-mt7688 which is very close to the size limit today. Reviewed-by: Stefan Roese Signed-off-by: Tom Rini --- diff --git a/configs/gardena-smart-gateway-mt7688_defconfig b/configs/gardena-smart-gateway-mt7688_defconfig index 3c2bcc6a3c4..aba8a2ffd1d 100644 --- a/configs/gardena-smart-gateway-mt7688_defconfig +++ b/configs/gardena-smart-gateway-mt7688_defconfig @@ -101,4 +101,6 @@ CONFIG_MT7621_SPI=y CONFIG_WDT=y CONFIG_WDT_MT7621=y CONFIG_LZMA=y +CONFIG_LZMA_SIZE_OPTIMIZATION=y CONFIG_SPL_LZMA=y +CONFIG_SPL_LZMA_SIZE_OPTIMIZATION=y diff --git a/lib/Kconfig b/lib/Kconfig index fe0b878a206..96032eaddf9 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -838,6 +838,13 @@ config LZMA ratio and fairly fast decompression speed. See also CONFIG_CMD_LZMADEC which provides a decode command. +config LZMA_SIZE_OPTIMIZATION + bool "Optimize the LZMA algorithm for smaller binary size" + help + This enables building the LZMA library optimized for size, rather + than performance. This can be a loss of 15-20% in decompression + speed, but a savings of close to two kilobytes in many cases. + config LZO bool "Enable LZO decompression support" help @@ -932,6 +939,13 @@ config SPL_LZMA help This enables support for LZMA compression algorithm for SPL boot. +config SPL_LZMA_SIZE_OPTIMIZATION + bool "Optimize the LZMA algorithm for smaller binary size in SPL" + help + This enables building the LZMA library optimized for size, rather + than performance. This can be a loss of 15-20% in decompression + speed, but a savings of close to two kilobytes in many cases. + config TPL_LZMA bool "Enable LZMA decompression support for TPL build" depends on TPL diff --git a/lib/lzma/Makefile b/lib/lzma/Makefile index c2fd3e49454..b8ad570ab1c 100644 --- a/lib/lzma/Makefile +++ b/lib/lzma/Makefile @@ -7,5 +7,6 @@ # Wolfgang Denk, DENX Software Engineering, wd@denx.de. ccflags-y += -D_LZMA_PROB32 +ccflags-$(CONFIG_$(PHASE_)LZMA_SIZE_OPTIMIZATION) += -D_LZMA_SIZE_OPT obj-y += LzmaDec.o LzmaTools.o