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
bool "gzip"
config BR2_TARGET_ROOTFS_SQUASHFS4_LZMA
bool "lzma"
config BR2_TARGET_ROOTFS_SQUASHFS4_LZO
bool "lzo"

View File

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

View File

@ -15,6 +15,12 @@ config BR2_PACKAGE_SQUASHFS_GZIP
help
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
bool "lzo support"
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
# 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
ifeq ($(BR2_PACKAGE_SQUASHFS_GZIP)$(if $(BR2_PACKAGE_SQUASHFS_LZO),,y),y)
SQUASHFS_DEPENDENCIES += zlib
SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=1
# we need atleast one compresser, so use gzip if none are enabled
ifeq ($(BR2_PACKAGE_SQUASHFS_GZIP)$(BR2_PACKAGE_SQUASHFS_LZO)$(BR2_PACKAGE_SQUASHFS_LZMA),)
BR2_PACKAGE_SQUASHFS_GZIP=y
endif
ifeq ($(BR2_PACKAGE_SQUASHFS_LZMA),y)
SQUASHFS_DEPENDENCIES += xz
SQUASHFS_MAKE_ARGS += XZ_SUPPORT=1 COMP_DEFAULT=lzma
else
SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=0 COMP_DEFAULT=lzo
SQUASHFS_MAKE_ARGS += XZ_SUPPORT=0
endif
ifeq ($(BR2_PACKAGE_SQUASHFS_LZO),y)
SQUASHFS_DEPENDENCIES += lzo
SQUASHFS_MAKE_ARGS += LZO_SUPPORT=1
SQUASHFS_MAKE_ARGS += LZO_SUPPORT=1 COMP_DEFAULT=lzo
else
SQUASHFS_MAKE_ARGS += LZO_SUPPORT=0
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
HOST_SQUASHFS_MAKE_ARGS = \
XATTR_SUPPORT=0 \
XZ_SUPPORT=0 \
XZ_SUPPORT=1 \
GZIP_SUPPORT=1 \
LZO_SUPPORT=1