summaryrefslogtreecommitdiff
path: root/package/zlib
diff options
context:
space:
mode:
Diffstat (limited to 'package/zlib')
-rw-r--r--package/zlib/Makefile73
-rw-r--r--package/zlib/patches/zlib.patch206
2 files changed, 279 insertions, 0 deletions
diff --git a/package/zlib/Makefile b/package/zlib/Makefile
new file mode 100644
index 0000000000..df4a4753ff
--- /dev/null
+++ b/package/zlib/Makefile
@@ -0,0 +1,73 @@
+#
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=zlib
+PKG_VERSION:=1.2.3
+PKG_RELEASE:=3
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://www.zlib.net @SF/zlib
+PKG_MD5SUM:=dee233bf288ee795ac96a98cc2e369b6
+PKG_CAT:=bzcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/zlib
+ SECTION:=libs
+ CATEGORY:=Libraries
+ TITLE:=Library implementing the deflate compression method
+ URL:=http://www.zlib.net/
+endef
+
+define Build/Configure
+ (cd $(PKG_BUILD_DIR); \
+ $(TARGET_CONFIGURE_OPTS) \
+ LDSHARED="$(TARGET_CC) -shared -Wl,-soname,libz.so.1" \
+ CFLAGS="$(TARGET_CFLAGS) $(CFLAGS_LARGEFILE)" \
+ ./configure \
+ --prefix=/usr \
+ --shared \
+ );
+endef
+
+define Build/Compile
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS) $(CFLAGS_LARGEFILE)" \
+ libz.a libz.so
+ mkdir -p $(PKG_INSTALL_DIR)
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ DESTDIR="$(PKG_INSTALL_DIR)" \
+ install
+endef
+
+define Build/InstallDev
+ mkdir -p $(STAGING_DIR)/usr/include
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/z{conf,lib}.h \
+ $(STAGING_DIR)/usr/include/
+ mkdir -p $(STAGING_DIR)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libz.{a,so*} \
+ $(STAGING_DIR)/usr/lib/
+endef
+
+define Build/UninstallDev
+ rm -rf $(STAGING_DIR)/usr/include/z{conf,lib}.h \
+ $(STAGING_DIR)/usr/lib/libz.{a,so*}
+endef
+
+define Package/zlib/install
+ install -d -m0755 $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libz.so.* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,zlib))
diff --git a/package/zlib/patches/zlib.patch b/package/zlib/patches/zlib.patch
new file mode 100644
index 0000000000..1325462ba5
--- /dev/null
+++ b/package/zlib/patches/zlib.patch
@@ -0,0 +1,206 @@
+diff -ruN zlib-1.2.3-orig/Makefile.in zlib-1.2.3-2/Makefile.in
+--- zlib-1.2.3-orig/Makefile.in 2004-09-15 16:27:20.000000000 +0200
++++ zlib-1.2.3-2/Makefile.in 2004-11-13 13:38:12.000000000 +0100
+@@ -25,20 +25,23 @@
+ # -Wstrict-prototypes -Wmissing-prototypes
+
+ LDFLAGS=libz.a
+-LDSHARED=$(CC)
++LDSHARED=$(CC) -shared -Wl,-soname,$(SHAREDLIBM)
+ CPP=$(CC) -E
+
+-LIBS=libz.a
++LIBS=
++STATICLIB=libz.a
+ SHAREDLIB=libz.so
+ SHAREDLIBV=libz.so.1.2.3
+ SHAREDLIBM=libz.so.1
+
+-AR=ar rc
++AR=ar
+ RANLIB=ranlib
+ TAR=tar
+ SHELL=/bin/sh
+ EXE=
+
++DESTDIR =
++
+ prefix = /usr/local
+ exec_prefix = ${prefix}
+ libdir = ${exec_prefix}/lib
+@@ -67,8 +70,8 @@
+ echo ' *** zlib test FAILED ***'; \
+ fi
+
+-libz.a: $(OBJS) $(OBJA)
+- $(AR) $@ $(OBJS) $(OBJA)
++$(STATICLIB): $(OBJS) $(OBJA)
++ $(AR) rc $@ $(OBJS) $(OBJA)
+ -@ ($(RANLIB) $@ || true) >/dev/null 2>&1
+
+ match.o: match.S
+@@ -77,8 +80,10 @@
+ mv _match.o match.o
+ rm -f _match.s
+
++$(SHAREDLIB): $(SHAREDLIBV)
++
+ $(SHAREDLIBV): $(OBJS)
+- $(LDSHARED) -o $@ $(OBJS)
++ $(LDSHARED) -lc -o $@ $(OBJS)
+ rm -f $(SHAREDLIB) $(SHAREDLIBM)
+ ln -s $@ $(SHAREDLIB)
+ ln -s $@ $(SHAREDLIBM)
+@@ -90,23 +95,23 @@
+ $(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS)
+
+ install: $(LIBS)
+- -@if [ ! -d $(exec_prefix) ]; then mkdir -p $(exec_prefix); fi
+- -@if [ ! -d $(includedir) ]; then mkdir -p $(includedir); fi
+- -@if [ ! -d $(libdir) ]; then mkdir -p $(libdir); fi
+- -@if [ ! -d $(man3dir) ]; then mkdir -p $(man3dir); fi
+- cp zlib.h zconf.h $(includedir)
+- chmod 644 $(includedir)/zlib.h $(includedir)/zconf.h
+- cp $(LIBS) $(libdir)
+- cd $(libdir); chmod 755 $(LIBS)
+- -@(cd $(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1
+- cd $(libdir); if test -f $(SHAREDLIBV); then \
++ -@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi
++ -@if [ ! -d $(DESTDIR)$(includedir) ]; then mkdir -p $(DESTDIR)$(includedir); fi
++ -@if [ ! -d $(DESTDIR)$(libdir) ]; then mkdir -p $(DESTDIR)$(libdir); fi
++ -@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi
++ cp zlib.h zconf.h $(DESTDIR)$(includedir)
++ chmod 644 $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h
++ cp $(STATICLIB) $(SHAREDLIBV) $(DESTDIR)$(libdir)
++ cd $(DESTDIR)$(libdir); chmod 755 $(LIBS)
++ -@(cd $(DESTDIR)$(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1
++ cd $(DESTDIR)$(libdir); if test -f $(SHAREDLIBV); then \
+ rm -f $(SHAREDLIB) $(SHAREDLIBM); \
+ ln -s $(SHAREDLIBV) $(SHAREDLIB); \
+ ln -s $(SHAREDLIBV) $(SHAREDLIBM); \
+ (ldconfig || true) >/dev/null 2>&1; \
+ fi
+- cp zlib.3 $(man3dir)
+- chmod 644 $(man3dir)/zlib.3
++ cp zlib.3 $(DESTDIR)$(man3dir)
++ chmod 644 $(DESTDIR)$(man3dir)/zlib.3
+ # The ranlib in install is needed on NeXTSTEP which checks file times
+ # ldconfig is for Linux
+
+diff -ruN zlib-1.2.3-orig/configure zlib-1.2.3-2/configure
+--- zlib-1.2.3-orig/configure 2004-09-07 07:50:06.000000000 +0200
++++ zlib-1.2.3-2/configure 2004-11-13 12:37:43.000000000 +0100
+@@ -23,7 +23,7 @@
+ VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`
+ VER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < zlib.h`
+ VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < zlib.h`
+-AR=${AR-"ar rc"}
++AR=${AR-"ar"}
+ RANLIB=${RANLIB-"ranlib"}
+ prefix=${prefix-/usr/local}
+ exec_prefix=${exec_prefix-'${prefix}'}
+@@ -73,7 +73,7 @@
+
+ if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then
+ CC="$cc"
+- SFLAGS=${CFLAGS-"-fPIC -O3"}
++ SFLAGS=${CFLAGS-"-D_REENTRANT -fPIC -O3"}
+ CFLAGS="$cflags"
+ case `(uname -s || echo unknown) 2>/dev/null` in
+ Linux | linux | GNU | GNU/*) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1"};;
+@@ -408,6 +408,29 @@
+ echo Checking for mmap support... No.
+ fi
+
++cat > $test.c <<EOF
++#include <stdio.h>
++int main() { char buf[10]; snprintf(buf, sizeof(buf), "%s", "F"); return 0; }
++EOF
++if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
++ echo "Checking for snprintf... Yes."
++ CFLAGS="$CFLAGS -DHAS_snprintf"
++else
++ echo "Checking for snprintf.. No."
++fi
++
++cat > $test.c <<EOF
++#include <stdio.h>
++#include <stdarg.h>
++int main(void) { va_list a; vsnprintf(0, 0, "", a); return 0; }
++EOF
++if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
++ echo "Checking for vsnprintf... Yes."
++ CFLAGS="$CFLAGS -DHAS_vsnprintf"
++else
++ echo "Checking for vsnprintf.. No."
++fi
++
+ CPP=${CPP-"$CC -E"}
+ case $CFLAGS in
+ *ASMV*)
+@@ -424,20 +447,21 @@
+ # udpate Makefile
+ sed < Makefile.in "
+ /^CC *=/s#=.*#=$CC#
+-/^CFLAGS *=/s#=.*#=$CFLAGS#
+-/^CPP *=/s#=.*#=$CPP#
+-/^LDSHARED *=/s#=.*#=$LDSHARED#
+-/^LIBS *=/s#=.*#=$LIBS#
+-/^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
+-/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
+-/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
+-/^AR *=/s#=.*#=$AR#
+-/^RANLIB *=/s#=.*#=$RANLIB#
+-/^EXE *=/s#=.*#=$EXE#
+-/^prefix *=/s#=.*#=$prefix#
+-/^exec_prefix *=/s#=.*#=$exec_prefix#
+-/^libdir *=/s#=.*#=$libdir#
+-/^includedir *=/s#=.*#=$includedir#
+-/^mandir *=/s#=.*#=$mandir#
+-/^LDFLAGS *=/s#=.*#=$LDFLAGS#
++/^CC *=/s%=.*%= $CC%
++/^CFLAGS *=/s%=.*%= $CFLAGS%
++/^CPP *=/s%=.*%= $CPP%
++/^LDSHARED *=/s%=.*%= $LDSHARED%
++/^LIBS *=/s%=.*%= $LIBS%
++/^SHAREDLIB *=/s%=.*%= $SHAREDLIB%
++/^SHAREDLIBV *=/s%=.*%= $SHAREDLIBV%
++/^SHAREDLIBM *=/s%=.*%= $SHAREDLIBM%
++/^AR *=/s%=.*%= $AR%
++/^RANLIB *=/s%=.*%= $RANLIB%
++/^EXE *=/s%=.*%= $EXE%
++/^prefix *=/s%=.*%= $prefix%
++/^exec_prefix *=/s%=.*%= $exec_prefix%
++/^libdir *=/s%=.*%= $libdir%
++/^includedir *=/s%=.*%= $includedir%
++/^mandir *=/s%=.*%= $mandir%
++/^LDFLAGS *=/s%=.*%= $LDFLAGS%
+ " > Makefile
+diff -ruN zlib-1.2.3-orig/contrib/minizip/Makefile zlib-1.2.3-2/contrib/minizip/Makefile
+--- zlib-1.2.3-orig/contrib/minizip/Makefile 2003-09-10 20:00:16.000000000 +0200
++++ zlib-1.2.3-2/contrib/minizip/Makefile 2004-11-13 12:37:43.000000000 +0100
+@@ -1,8 +1,8 @@
+ CC=cc
+-CFLAGS=-O -I../..
++CFLAGS=-O2 -g -I../.. -Dunix
+
+-UNZ_OBJS = miniunz.o unzip.o ioapi.o ../../libz.a
+-ZIP_OBJS = minizip.o zip.o ioapi.o ../../libz.a
++UNZ_OBJS = miniunz.o unzip.o ioapi.o
++ZIP_OBJS = minizip.o zip.o ioapi.o
+
+ .c.o:
+ $(CC) -c $(CFLAGS) $*.c
+@@ -10,10 +10,10 @@
+ all: miniunz minizip
+
+ miniunz: $(UNZ_OBJS)
+- $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS)
++ $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS) -L ../.. -lz
+
+ minizip: $(ZIP_OBJS)
+- $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS)
++ $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS) -L ../.. -lz
+
+ test: miniunz minizip
+ ./minizip test readme.txt