From 96978375ccf68c95f5a05dcb01ffb1509481754e Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 17 May 2009 00:57:47 +0000 Subject: add the new lzma library (version 4.65), to be used for squashfs4 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15883 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- tools/Makefile | 1 + tools/lzma/Makefile | 35 +++++++++++++++ tools/lzma/patches/100-static_library.patch | 70 +++++++++++++++++++++++++++++ 3 files changed, 106 insertions(+) create mode 100644 tools/lzma/Makefile create mode 100644 tools/lzma/patches/100-static_library.patch diff --git a/tools/Makefile b/tools/Makefile index ebcbad4e7..172707280 100644 --- a/tools/Makefile +++ b/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 diff --git a/tools/lzma/Makefile b/tools/lzma/Makefile new file mode 100644 index 000000000..18fe03088 --- /dev/null +++ b/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)) diff --git a/tools/lzma/patches/100-static_library.patch b/tools/lzma/patches/100-static_library.patch new file mode 100644 index 000000000..15ab4e055 --- /dev/null +++ b/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 -- cgit v1.2.3