add the new lzma library (version 4.65), to be used for squashfs4
authorFelix Fietkau <nbd@openwrt.org>
Sun, 17 May 2009 00:57:47 +0000 (00:57 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 17 May 2009 00:57:47 +0000 (00:57 +0000)
SVN-Revision: 15883

tools/Makefile
tools/lzma/Makefile [new file with mode: 0644]
tools/lzma/patches/100-static_library.patch [new file with mode: 0644]

index ebcbad4e7836f5c19f46761807cd9407c8a43838..172707280289d78fc4bbf10964fa4a2203122311 100644 (file)
@@ -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
diff --git a/tools/lzma/Makefile b/tools/lzma/Makefile
new file mode 100644 (file)
index 0000000..18fe030
--- /dev/null
@@ -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))
diff --git a/tools/lzma/patches/100-static_library.patch b/tools/lzma/patches/100-static_library.patch
new file mode 100644 (file)
index 0000000..15ab4e0
--- /dev/null
@@ -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