From 716ca530e1c4515d8683c9d5be3d56b301758b66 Mon Sep 17 00:00:00 2001 From: James <> Date: Wed, 4 Nov 2015 11:49:21 +0000 Subject: trunk-47381 --- tools/squashfs/Makefile | 39 ++++++++++++++++++++++ tools/squashfs/patches/100-lzma.patch | 22 ++++++++++++ .../squashfs/patches/110-no_nonstatic_inline.patch | 11 ++++++ 3 files changed, 72 insertions(+) create mode 100644 tools/squashfs/Makefile create mode 100644 tools/squashfs/patches/100-lzma.patch create mode 100644 tools/squashfs/patches/110-no_nonstatic_inline.patch (limited to 'tools/squashfs') 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) -- cgit v1.2.3