diff options
author | James <> | 2015-11-04 11:49:21 +0000 |
---|---|---|
committer | James <> | 2015-11-04 11:49:21 +0000 |
commit | 716ca530e1c4515d8683c9d5be3d56b301758b66 (patch) | |
tree | 700eb5bcc1a462a5f21dcec15ce7c97ecfefa772 /tools/squashfs | |
download | trunk-47381-716ca530e1c4515d8683c9d5be3d56b301758b66.tar.gz trunk-47381-716ca530e1c4515d8683c9d5be3d56b301758b66.tar.bz2 trunk-47381-716ca530e1c4515d8683c9d5be3d56b301758b66.zip |
Diffstat (limited to 'tools/squashfs')
-rw-r--r-- | tools/squashfs/Makefile | 39 | ||||
-rw-r--r-- | tools/squashfs/patches/100-lzma.patch | 22 | ||||
-rw-r--r-- | tools/squashfs/patches/110-no_nonstatic_inline.patch | 11 |
3 files changed, 72 insertions, 0 deletions
diff --git a/tools/squashfs/Makefile b/tools/squashfs/Makefile new file mode 100644 index 0000000..88416bd --- /dev/null +++ b/tools/squashfs/Makefile @@ -0,0 +1,39 @@ +# +# Copyright (C) 2006-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME:=squashfs +PKG_VERSION:=3.0 + +PKG_SOURCE:=$(PKG_NAME)$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=@SF/squashfs +PKG_MD5SUM:=9fd05d0bfbb712f5fb95edafea5bc733 +PKG_CAT:=zcat + +HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)$(PKG_VERSION) + +include $(INCLUDE_DIR)/host-build.mk + +define Host/Compile + $(MAKE) -C $(HOST_BUILD_DIR)/squashfs-tools \ + CC="$(HOSTCC)" \ + CXX="$(CXX)" \ + LZMAPATH=$(STAGING_DIR_HOST)/lib \ + mksquashfs-lzma unsquashfs-lzma +endef + +define Host/Install + $(INSTALL_BIN) $(HOST_BUILD_DIR)/squashfs-tools/mksquashfs-lzma $(STAGING_DIR_HOST)/bin/ + $(INSTALL_BIN) $(HOST_BUILD_DIR)/squashfs-tools/unsquashfs-lzma $(STAGING_DIR_HOST)/bin/ +endef + +define Host/Clean + rm -f $(STAGING_DIR_HOST)/bin/mksquashfs-lzma + rm -f $(STAGING_DIR_HOST)/bin/unsquashfs-lzma +endef + +$(eval $(call HostBuild)) diff --git a/tools/squashfs/patches/100-lzma.patch b/tools/squashfs/patches/100-lzma.patch new file mode 100644 index 0000000..e3b2a3a --- /dev/null +++ b/tools/squashfs/patches/100-lzma.patch @@ -0,0 +1,22 @@ +--- a/squashfs-tools/Makefile ++++ b/squashfs-tools/Makefile +@@ -7,6 +8,9 @@ all: mksquashfs unsquashfs + mksquashfs: mksquashfs.o read_fs.o sort.o + $(CC) mksquashfs.o read_fs.o sort.o -lz -o $@ + ++mksquashfs-lzma: mksquashfs.o read_fs.o sort.o ++ $(CXX) mksquashfs.o read_fs.o sort.o -L$(LZMAPATH) -llzma-old -o $@ ++ + mksquashfs.o: mksquashfs.c squashfs_fs.h mksquashfs.h global.h sort.h + + read_fs.o: read_fs.c squashfs_fs.h read_fs.h global.h +@@ -16,4 +20,9 @@ sort.o: sort.c squashfs_fs.h global.h so + unsquashfs: unsquashfs.o + $(CC) unsquashfs.o -lz -o $@ + ++unsquashfs-lzma: unsquashfs.o ++ $(CXX) unsquashfs.o -L$(LZMAPATH) -llzma-old -o $@ ++ + unsquashfs.o: unsquashfs.c squashfs_fs.h read_fs.h global.h ++ ++clean: diff --git a/tools/squashfs/patches/110-no_nonstatic_inline.patch b/tools/squashfs/patches/110-no_nonstatic_inline.patch new file mode 100644 index 0000000..8e288f3 --- /dev/null +++ b/tools/squashfs/patches/110-no_nonstatic_inline.patch @@ -0,0 +1,11 @@ +--- a/squashfs-tools/mksquashfs.c ++++ b/squashfs-tools/mksquashfs.c +@@ -1347,7 +1347,7 @@ struct inode_info *lookup_inode(struct s + } + + +-inline void add_dir_entry(char *name, char *pathname, struct dir_info *sub_dir, struct inode_info *inode_info, void *data, struct dir_info *dir) ++static inline void add_dir_entry(char *name, char *pathname, struct dir_info *sub_dir, struct inode_info *inode_info, void *data, struct dir_info *dir) + { + if((dir->count % DIR_ENTRIES) == 0) + if((dir->list = realloc(dir->list, (dir->count + DIR_ENTRIES) * sizeof(struct dir_ent *))) == NULL) |