[PATCH 2/2] unxz: Add BCJ filters to menuconfig

余生与君 lovesykun at gmail.com
Wed Mar 5 13:29:25 UTC 2025


Gentel ping.

On Tue, Jul 30, 2024 at 12:16 PM YU Jincheng <lovesykun at gmail.com> wrote:
>
> ---
>  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