Browse Source

add the new lzma library (version 4.65), to be used for squashfs4

SVN-Revision: 15883
Felix Fietkau 16 years ago
parent
commit
9da8f2b2a0
3 changed files with 106 additions and 0 deletions
  1. 1 0
      tools/Makefile
  2. 35 0
      tools/lzma/Makefile
  3. 70 0
      tools/lzma/patches/100-static_library.patch

+ 1 - 0
tools/Makefile

@@ -17,6 +17,7 @@ tools-y += firmware-utils patch-cmdline quilt yaffs2
 
 tools-$(CONFIG_CCACHE) += ccache
 tools-$(CONFIG_powerpc) += dtc
+tools-dep += lzma
 
 # builddir dependencies
 $(curdir)/squashfs/compile := $(curdir)/lzma-old/install

+ 35 - 0
tools/lzma/Makefile

@@ -0,0 +1,35 @@
+# 
+# Copyright (C) 2006 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:=lzma
+PKG_VERSION:=4.65
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://downloads.openwrt.org/sources/
+PKG_MD5SUM:=434e51a018b4c8ef377bf81520a53af0
+
+HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/host-build.mk
+
+UTIL_DIR=$(HOST_BUILD_DIR)/C/LzmaUtil
+
+define Host/Compile
+	$(MAKE) -C $(UTIL_DIR) -f makefile.gcc
+endef
+
+define Host/Install
+	$(INSTALL_DIR) $(STAGING_DIR_HOST)/lib $(STAGING_DIR_HOST)/include
+	$(CP) $(HOST_BUILD_DIR)/C/*.h $(STAGING_DIR_HOST)/include/
+	$(CP) $(UTIL_DIR)/liblzma.a $(STAGING_DIR_HOST)/lib/
+endef
+
+define Host/Clean
+endef
+
+$(eval $(call HostBuild))

+ 70 - 0
tools/lzma/patches/100-static_library.patch

@@ -0,0 +1,70 @@
+--- a/C/LzmaUtil/makefile.gcc
++++ b/C/LzmaUtil/makefile.gcc
+@@ -1,44 +1,53 @@
+ PROG = lzma
+-CXX = g++
+-LIB =
++CC = gcc
++LIB = liblzma.a
+ RM = rm -f
+ CFLAGS = -c -O2 -Wall
++AR = ar
++RANLIB = ranlib
+ 
+ OBJS = \
+-  LzmaUtil.o \
+   Alloc.o \
+   LzFind.o \
+   LzmaDec.o \
+   LzmaEnc.o \
++  LzmaLib.o \
+   7zFile.o \
+   7zStream.o \
+ 
+-
+ all: $(PROG)
+ 
+-$(PROG): $(OBJS)
+-	$(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB) $(LIB2)
++$(PROG): LzmaUtil.o $(LIB)
++	$(CC) -o $(PROG) $(LDFLAGS) $< $(LIB)
+ 
+ LzmaUtil.o: LzmaUtil.c
+-	$(CXX) $(CFLAGS) LzmaUtil.c
++	$(CC) $(CFLAGS) LzmaUtil.c
++
++$(LIB): $(OBJS)
++	rm -f $@
++	$(AR) rcu $@ $(OBJS)
++	$(RANLIB) $@
+ 
+ Alloc.o: ../Alloc.c
+-	$(CXX) $(CFLAGS) ../Alloc.c
++	$(CC) $(CFLAGS) ../Alloc.c
+ 
+ LzFind.o: ../LzFind.c
+-	$(CXX) $(CFLAGS) ../LzFind.c
++	$(CC) $(CFLAGS) ../LzFind.c
+ 
+ LzmaDec.o: ../LzmaDec.c
+-	$(CXX) $(CFLAGS) ../LzmaDec.c
++	$(CC) $(CFLAGS) ../LzmaDec.c
+ 
+ LzmaEnc.o: ../LzmaEnc.c
+-	$(CXX) $(CFLAGS) ../LzmaEnc.c
++	$(CC) $(CFLAGS) ../LzmaEnc.c
++
++LzmaLib.o: ../LzmaLib.c
++	$(CC) $(CFLAGS) ../LzmaLib.c
+ 
+ 7zFile.o: ../7zFile.c
+-	$(CXX) $(CFLAGS) ../7zFile.c
++	$(CC) $(CFLAGS) ../7zFile.c
+ 
+ 7zStream.o: ../7zStream.c
+-	$(CXX) $(CFLAGS) ../7zStream.c
++	$(CC) $(CFLAGS) ../7zStream.c
+ 
+ clean:
+-	-$(RM) $(PROG) $(OBJS)
++	-$(RM) $(PROG) *.o *.a