diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-10-14 23:05:37 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-10-14 23:05:37 +0000 | 
| commit | 4fff6624adfe73cb54067fba53606ef9b9fe711f (patch) | |
| tree | fddd5c1c9f50d33aa65fc2274241aa399e84a9ac /package/zlib/patches/100-cross_compile.patch | |
| parent | 6d32c25e55533ffe115413ce0aed2474a0a4ccf1 (diff) | |
fix zlib cross compiling from non-linux systems
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5102 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/zlib/patches/100-cross_compile.patch')
| -rw-r--r-- | package/zlib/patches/100-cross_compile.patch | 206 | 
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 000000000..1325462ba --- /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 | 
