squashfs: add lzma support

And try to select a sane default compression algorithm.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Peter Korsgaard 2010-09-20 22:05:39 +02:00
parent d380d51427
commit ed4ca35a1a
4 changed files with 33 additions and 9 deletions

View File

@ -31,6 +31,9 @@ choice
config BR2_TARGET_ROOTFS_SQUASHFS4_GZIP config BR2_TARGET_ROOTFS_SQUASHFS4_GZIP
bool "gzip" bool "gzip"
config BR2_TARGET_ROOTFS_SQUASHFS4_LZMA
bool "lzma"
config BR2_TARGET_ROOTFS_SQUASHFS4_LZO config BR2_TARGET_ROOTFS_SQUASHFS4_LZO
bool "lzo" bool "lzo"

View File

@ -10,8 +10,12 @@ ROOTFS_SQUASHFS_DEPENDENCIES = host-squashfs
ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZO),y) ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZO),y)
ROOTFS_SQUASHFS_ARGS += -comp lzo ROOTFS_SQUASHFS_ARGS += -comp lzo
else else
ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZMA),y)
ROOTFS_SQUASHFS_ARGS += -comp lzma
else
ROOTFS_SQUASHFS_ARGS += -comp gzip ROOTFS_SQUASHFS_ARGS += -comp gzip
endif endif
endif
else else
ROOTFS_SQUASHFS_DEPENDENCIES = host-squashfs3 ROOTFS_SQUASHFS_DEPENDENCIES = host-squashfs3

View File

@ -15,6 +15,12 @@ config BR2_PACKAGE_SQUASHFS_GZIP
help help
Support GZIP compression algorithm Support GZIP compression algorithm
config BR2_PACKAGE_SQUASHFS_LZMA
bool "lzma support"
select BR2_PACKAGE_XZ
help
Support LZMA compression algorithm
config BR2_PACKAGE_SQUASHFS_LZO config BR2_PACKAGE_SQUASHFS_LZO
bool "lzo support" bool "lzo support"
select BR2_PACKAGE_LZO select BR2_PACKAGE_LZO

View File

@ -3,30 +3,41 @@ SQUASHFS_SOURCE=squashfs$(SQUASHFS_VERSION).tar.gz
SQUASHFS_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/squashfs SQUASHFS_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/squashfs
# no libattr/xz in BR # no libattr/xz in BR
SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=0 XZ_SUPPORT=0 SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=0
# we need atleast one compresser, so use gzip if lzo isn't enabled # we need atleast one compresser, so use gzip if none are enabled
ifeq ($(BR2_PACKAGE_SQUASHFS_GZIP)$(if $(BR2_PACKAGE_SQUASHFS_LZO),,y),y) ifeq ($(BR2_PACKAGE_SQUASHFS_GZIP)$(BR2_PACKAGE_SQUASHFS_LZO)$(BR2_PACKAGE_SQUASHFS_LZMA),)
SQUASHFS_DEPENDENCIES += zlib BR2_PACKAGE_SQUASHFS_GZIP=y
SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=1 endif
ifeq ($(BR2_PACKAGE_SQUASHFS_LZMA),y)
SQUASHFS_DEPENDENCIES += xz
SQUASHFS_MAKE_ARGS += XZ_SUPPORT=1 COMP_DEFAULT=lzma
else else
SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=0 COMP_DEFAULT=lzo SQUASHFS_MAKE_ARGS += XZ_SUPPORT=0
endif endif
ifeq ($(BR2_PACKAGE_SQUASHFS_LZO),y) ifeq ($(BR2_PACKAGE_SQUASHFS_LZO),y)
SQUASHFS_DEPENDENCIES += lzo SQUASHFS_DEPENDENCIES += lzo
SQUASHFS_MAKE_ARGS += LZO_SUPPORT=1 SQUASHFS_MAKE_ARGS += LZO_SUPPORT=1 COMP_DEFAULT=lzo
else else
SQUASHFS_MAKE_ARGS += LZO_SUPPORT=0 SQUASHFS_MAKE_ARGS += LZO_SUPPORT=0
endif endif
ifeq ($(BR2_PACKAGE_SQUASHFS_GZIP),y)
SQUASHFS_DEPENDENCIES += zlib
SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=1 COMP_DEFAULT=gzip
else
SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=0
endif
HOST_SQUASHFS_DEPENDENCIES = host-zlib host-lzo
HOST_SQUASHFS_DEPENDENCIES = host-zlib host-lzo host-xz
# no libattr/xz in BR # no libattr/xz in BR
HOST_SQUASHFS_MAKE_ARGS = \ HOST_SQUASHFS_MAKE_ARGS = \
XATTR_SUPPORT=0 \ XATTR_SUPPORT=0 \
XZ_SUPPORT=0 \ XZ_SUPPORT=1 \
GZIP_SUPPORT=1 \ GZIP_SUPPORT=1 \
LZO_SUPPORT=1 LZO_SUPPORT=1