squashfs: add lzma support
authorPeter Korsgaard <jacmet@sunsite.dk>
Mon, 20 Sep 2010 20:05:39 +0000 (22:05 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Mon, 20 Sep 2010 20:05:39 +0000 (22:05 +0200)
And try to select a sane default compression algorithm.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
fs/squashfs/Config.in
fs/squashfs/squashfs.mk
package/squashfs/Config.in
package/squashfs/squashfs.mk

index 20aac085d5da0f9b32aad758559f3b33c221d5f1..85416becbbed0d2096d7e693c2ce73e190ccb649 100644 (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"
 
index 311a3ee1e893b3f3d476053ec9c001a25776cd61..7efe979e8518a41155639255269520f81d95008b 100644 (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
index e9751858c0b285fe4eb66b87c403da30780e0b54..39cb7f3e871c8b5789c6e33f38b312676b82fa22 100644 (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
index 0332d60cde5d81e55a0cd8a679846d32ae697b95..7cbec32f1815a29d54966ce5f60d656bb4cf0edc 100644 (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