]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blob - package/squashfs/squashfs.mk
squashfs: add host zstd support
[coffee/buildroot.git] / package / squashfs / squashfs.mk
1 ################################################################################
2 #
3 # squashfs
4 #
5 ################################################################################
6
7 SQUASHFS_VERSION = e38956b92f738518c29734399629e7cdb33072d3
8 SQUASHFS_SITE = https://git.kernel.org/pub/scm/fs/squashfs/squashfs-tools.git
9 SQUASHFS_SITE_METHOD = git
10 SQUASHFS_LICENSE = GPL-2.0+
11 SQUASHFS_LICENSE_FILES = COPYING
12 SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 ZSTD_SUPPORT=0
13
14 ifeq ($(BR2_PACKAGE_SQUASHFS_LZ4),y)
15 SQUASHFS_DEPENDENCIES += lz4
16 SQUASHFS_MAKE_ARGS += LZ4_SUPPORT=1 COMP_DEFAULT=lz4
17 else
18 SQUASHFS_MAKE_ARGS += LZ4_SUPPORT=0
19 endif
20
21 ifeq ($(BR2_PACKAGE_SQUASHFS_LZMA),y)
22 SQUASHFS_DEPENDENCIES += xz
23 SQUASHFS_MAKE_ARGS += LZMA_XZ_SUPPORT=1 COMP_DEFAULT=lzma
24 else
25 SQUASHFS_MAKE_ARGS += LZMA_XZ_SUPPORT=0
26 endif
27
28 ifeq ($(BR2_PACKAGE_SQUASHFS_XZ),y)
29 SQUASHFS_DEPENDENCIES += xz
30 SQUASHFS_MAKE_ARGS += XZ_SUPPORT=1 COMP_DEFAULT=xz
31 else
32 SQUASHFS_MAKE_ARGS += XZ_SUPPORT=0
33 endif
34
35 ifeq ($(BR2_PACKAGE_SQUASHFS_LZO),y)
36 SQUASHFS_DEPENDENCIES += lzo
37 SQUASHFS_MAKE_ARGS += LZO_SUPPORT=1 COMP_DEFAULT=lzo
38 else
39 SQUASHFS_MAKE_ARGS += LZO_SUPPORT=0
40 endif
41
42 ifeq ($(BR2_PACKAGE_SQUASHFS_GZIP),y)
43 SQUASHFS_DEPENDENCIES += zlib
44 SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=1 COMP_DEFAULT=gzip
45 else
46 SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=0
47 endif
48
49 HOST_SQUASHFS_DEPENDENCIES = host-zlib host-lz4 host-lzo host-xz host-zstd
50
51 HOST_SQUASHFS_MAKE_ARGS = \
52         XATTR_SUPPORT=1 \
53         XZ_SUPPORT=1 \
54         GZIP_SUPPORT=1 \
55         LZ4_SUPPORT=1 \
56         LZO_SUPPORT=1 \
57         LZMA_XZ_SUPPORT=1 \
58         ZSTD_SUPPORT=1
59
60 define SQUASHFS_BUILD_CMDS
61         $(TARGET_MAKE_ENV) $(MAKE) \
62                 CC="$(TARGET_CC)" \
63                 EXTRA_CFLAGS="$(TARGET_CFLAGS) -fgnu89-inline" \
64                 EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \
65                 $(SQUASHFS_MAKE_ARGS) \
66                 -C $(@D)/squashfs-tools/
67 endef
68
69 define SQUASHFS_INSTALL_TARGET_CMDS
70         $(TARGET_MAKE_ENV) $(MAKE) $(SQUASHFS_MAKE_ARGS) \
71                 -C $(@D)/squashfs-tools/ INSTALL_DIR=$(TARGET_DIR)/usr/bin install
72 endef
73
74 define HOST_SQUASHFS_BUILD_CMDS
75         $(HOST_MAKE_ENV) $(MAKE) \
76                 CC="$(HOSTCC)" \
77                 EXTRA_CFLAGS="$(HOST_CFLAGS)" \
78                 EXTRA_LDFLAGS="$(HOST_LDFLAGS)" \
79                 $(HOST_SQUASHFS_MAKE_ARGS) \
80                 -C $(@D)/squashfs-tools/
81 endef
82
83 define HOST_SQUASHFS_INSTALL_CMDS
84         $(HOST_MAKE_ENV) $(MAKE) $(HOST_SQUASHFS_MAKE_ARGS) \
85                 -C $(@D)/squashfs-tools/ INSTALL_DIR=$(HOST_DIR)/bin install
86 endef
87
88 $(eval $(generic-package))
89 $(eval $(host-generic-package))