aboutsummaryrefslogtreecommitdiffstats
path: root/package/zlib/patches/100-cross_compile.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2006-10-14 23:05:37 +0000
committerFelix Fietkau <nbd@openwrt.org>2006-10-14 23:05:37 +0000
commit1aede1e1db77e03ec5cacb969a0e2accd9c7bbc6 (patch)
tree85abb06810d9a4f7625eaf0e5874399814195222 /package/zlib/patches/100-cross_compile.patch
parentf524e29d8006731d6c76e3505d52ee3a58b226b6 (diff)
downloadupstream-1aede1e1db77e03ec5cacb969a0e2accd9c7bbc6.tar.gz
upstream-1aede1e1db77e03ec5cacb969a0e2accd9c7bbc6.tar.bz2
upstream-1aede1e1db77e03ec5cacb969a0e2accd9c7bbc6.zip
fix zlib cross compiling from non-linux systems
SVN-Revision: 5102
Diffstat (limited to 'package/zlib/patches/100-cross_compile.patch')
-rw-r--r--package/zlib/patches/100-cross_compile.patch206
1 files changed, 206 insertions, 0 deletions
diff --git a/package/zlib/patches/100-cross_compile.patch b/package/zlib/patches/100-cross_compile.patch
new file mode 100644
index 0000000000..1325462ba5
--- /dev/null
+++ b/package/zlib/patches/100-cross_compile.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