diff options
| author | Tom Rini <[email protected]> | 2025-12-18 17:30:56 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2026-01-06 14:44:21 -0600 |
| commit | e7797f450ad26bca32c12ae55e3d43438b74f910 (patch) | |
| tree | db6129eafc55e0867448293171be0ba250ab79f7 | |
| parent | dd0ad45920a7269c44c306b2764bd7b49c92f179 (diff) | |
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 <[email protected]>
Signed-off-by: Tom Rini <[email protected]>
| -rw-r--r-- | configs/gardena-smart-gateway-mt7688_defconfig | 2 | ||||
| -rw-r--r-- | lib/Kconfig | 14 | ||||
| -rw-r--r-- | lib/lzma/Makefile | 1 |
3 files changed, 17 insertions, 0 deletions
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, [email protected]. ccflags-y += -D_LZMA_PROB32 +ccflags-$(CONFIG_$(PHASE_)LZMA_SIZE_OPTIMIZATION) += -D_LZMA_SIZE_OPT obj-y += LzmaDec.o LzmaTools.o |
