From 8f94e20abc367dba932c160424efde65a6ed3f7b Mon Sep 17 00:00:00 2001 From: NihilDigit Date: Wed, 24 Jun 2026 00:02:43 +0800 Subject: [PATCH] liblzma: Enable ARM64 BCJ filters in bundled build CMake's bundled libarchive can request the ARM64 BCJ filter when extracting 7-Zip archives that use the ARM64 method. The bundled liblzma build already carries the ARM64 simple filter implementation, but CMake's reduced build configuration did not enable it or compile its source file. Enable the ARM64 encoder and decoder declarations and include liblzma/simple/arm64.c in the bundled liblzma build. --- Utilities/cmliblzma/CMakeLists.txt | 3 +++ Utilities/cmliblzma/config.h.in | 2 ++ 2 files changed, 5 insertions(+) diff --git a/Utilities/cmliblzma/CMakeLists.txt b/Utilities/cmliblzma/CMakeLists.txt index e21117c38c..0e14646f2d 100644 --- a/Utilities/cmliblzma/CMakeLists.txt +++ b/Utilities/cmliblzma/CMakeLists.txt @@ -40,6 +40,7 @@ set(HAVE_CHECK_CRC64 1) set(HAVE_CHECK_SHA256 1) set(HAVE_DECODER_ARM 1) +set(HAVE_DECODER_ARM64 1) set(HAVE_DECODER_ARMTHUMB 1) set(HAVE_DECODER_DELTA 1) set(HAVE_DECODER_IA64 1) @@ -50,6 +51,7 @@ set(HAVE_DECODER_SPARC 1) set(HAVE_DECODER_X86 1) set(HAVE_ENCODER_ARM 1) +set(HAVE_ENCODER_ARM64 1) set(HAVE_ENCODER_ARMTHUMB 1) set(HAVE_ENCODER_DELTA 1) set(HAVE_ENCODER_IA64 1) @@ -133,6 +135,7 @@ SET(LZMA_SRCS liblzma/lzma/lzma_encoder_presets.c liblzma/rangecoder/price_table.c liblzma/simple/arm.c + liblzma/simple/arm64.c liblzma/simple/armthumb.c liblzma/simple/ia64.c liblzma/simple/powerpc.c diff --git a/Utilities/cmliblzma/config.h.in b/Utilities/cmliblzma/config.h.in index 20916cacb1..bb22e06544 100644 --- a/Utilities/cmliblzma/config.h.in +++ b/Utilities/cmliblzma/config.h.in @@ -46,6 +46,7 @@ typedef KWIML_INT_uintptr_t uintptr_t; #define HAVE_CHECK_SHA256 1 #define HAVE_DECODER_ARM 1 +#define HAVE_DECODER_ARM64 1 #define HAVE_DECODER_ARMTHUMB 1 #define HAVE_DECODER_DELTA 1 #define HAVE_DECODER_IA64 1 @@ -56,6 +57,7 @@ typedef KWIML_INT_uintptr_t uintptr_t; #define HAVE_DECODER_X86 1 #define HAVE_ENCODER_ARM 1 +#define HAVE_ENCODER_ARM64 1 #define HAVE_ENCODER_ARMTHUMB 1 #define HAVE_ENCODER_DELTA 1 #define HAVE_ENCODER_IA64 1