[PATCH 2/2] unxz: Add BCJ filters to menuconfig
YU Jincheng
lovesykun at gmail.com
Tue Jul 30 04:15:43 UTC 2024
---
archival/bbunzip.c | 40 ++++++++++++++++++++++++++++
archival/libarchive/unxz/xz_config.h | 33 ++++++++++++++++-------
2 files changed, 64 insertions(+), 9 deletions(-)
diff --git a/archival/bbunzip.c b/archival/bbunzip.c
index b7944a62a..548041df9 100644
--- a/archival/bbunzip.c
+++ b/archival/bbunzip.c
@@ -575,6 +575,46 @@ int unlzma_main(int argc UNUSED_PARAM, char **argv)
//config: help
//config: Enable this option if you want commands like "xz -d" to work.
//config: IOW: you'll get xz applet, but it will always require -d option.
+//config:
+//config:config FEATURE_UNXZ_BCJ_X86
+//config: bool "x86 BCJ filter decoder for unxz"
+//config: default n
+//config: depends on UNXZ || FEATURE_UNZIP_XZ
+//config:
+//config:config FEATURE_UNXZ_BCJ_POWERPC
+//config: bool "PowerPC BCJ filter decoder"
+//config: default n
+//config: depends on UNXZ || FEATURE_UNZIP_XZ
+//config:
+//config:config FEATURE_UNXZ_BCJ_IA64
+//config: bool "IA64 BCJ filter decoder for unxz"
+//config: default n
+//config: depends on UNXZ || FEATURE_UNZIP_XZ
+//config:
+//config:config FEATURE_UNXZ_BCJ_ARM
+//config: bool "ARM BCJ filter decoder for unxz"
+//config: default n
+//config: depends on UNXZ || FEATURE_UNZIP_XZ
+//config:
+//config:config FEATURE_UNXZ_BCJ_ARMTHUMB
+//config: bool "ARM-Thumb BCJ filter decoder for unxz"
+//config: default n
+//config: depends on UNXZ || FEATURE_UNZIP_XZ
+//config:
+//config:config FEATURE_UNXZ_BCJ_SPARC
+//config: bool "SPARC BCJ filter decoder for unxz"
+//config: default n
+//config: depends on UNXZ || FEATURE_UNZIP_XZ
+//config:
+//config:config FEATURE_UNXZ_BCJ_ARM64
+//config: bool "ARM64 BCJ filter decoder for unxz"
+//config: default n
+//config: depends on UNXZ || FEATURE_UNZIP_XZ
+//config:
+//config:config FEATURE_UNXZ_BCJ_RISCV
+//config: bool "RISC-V BCJ filter decoder for unxz"
+//config: default n
+//config: depends on UNXZ || FEATURE_UNZIP_XZ
//applet:IF_UNXZ(APPLET(unxz, BB_DIR_USR_BIN, BB_SUID_DROP))
// APPLET_ODDNAME:name main location suid_type help
diff --git a/archival/libarchive/unxz/xz_config.h b/archival/libarchive/unxz/xz_config.h
index 95d1817c8..0c3615c14 100644
--- a/archival/libarchive/unxz/xz_config.h
+++ b/archival/libarchive/unxz/xz_config.h
@@ -10,15 +10,30 @@
#ifndef XZ_CONFIG_H
#define XZ_CONFIG_H
-/* Uncomment as needed to enable BCJ filter decoders. */
-/* #define XZ_DEC_X86 */
-/* #define XZ_DEC_POWERPC */
-/* #define XZ_DEC_IA64 */
-/* #define XZ_DEC_ARM */
-/* #define XZ_DEC_ARMTHUMB */
-/* #define XZ_DEC_SPARC */
-/* #define XZ_DEC_ARM64 */
-/* #define XZ_DEC_RISCV */
+#if ENABLE_FEATURE_UNXZ_BCJ_X86
+#define XZ_DEC_X86
+#endif
+#if ENABLE_FEATURE_UNXZ_BCJ_POWERPC
+#define XZ_DEC_POWERPC
+#endif
+#if ENABLE_FEATURE_UNXZ_BCJ_IA64
+#define XZ_DEC_IA64
+#endif
+#if ENABLE_FEATURE_UNXZ_BCJ_ARM
+#define XZ_DEC_ARM
+#endif
+#if ENABLE_FEATURE_UNXZ_BCJ_ARMTHUMB
+#define XZ_DEC_ARMTHUMB
+#endif
+#if ENABLE_FEATURE_UNXZ_BCJ_SPARC
+#define XZ_DEC_SPARC
+#endif
+#if ENABLE_FEATURE_UNXZ_BCJ_ARM64
+#define XZ_DEC_ARM64
+#endif
+#if ENABLE_FEATURE_UNXZ_BCJ_RISCV
+#define XZ_DEC_RISCV
+#endif
#include <stdbool.h>
#include <stdlib.h>
--
2.43.0
More information about the busybox
mailing list