From: Felix Fietkau Date: Sat, 14 Oct 2006 23:05:37 +0000 (+0000) Subject: fix zlib cross compiling from non-linux systems X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=1aede1e1db77e03ec5cacb969a0e2accd9c7bbc6;p=openwrt%2Fstaging%2F981213.git fix zlib cross compiling from non-linux systems SVN-Revision: 5102 --- diff --git a/package/zlib/Makefile b/package/zlib/Makefile index df4a4753ff..02eb45d858 100644 --- a/package/zlib/Makefile +++ b/package/zlib/Makefile @@ -34,6 +34,7 @@ define Build/Configure $(TARGET_CONFIGURE_OPTS) \ LDSHARED="$(TARGET_CC) -shared -Wl,-soname,libz.so.1" \ CFLAGS="$(TARGET_CFLAGS) $(CFLAGS_LARGEFILE)" \ + UNAME_S="Linux" \ ./configure \ --prefix=/usr \ --shared \ 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 < ++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 < ++#include ++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 diff --git a/package/zlib/patches/zlib.patch b/package/zlib/patches/zlib.patch deleted file mode 100644 index 1325462ba5..0000000000 --- a/package/zlib/patches/zlib.patch +++ /dev/null @@ -1,206 +0,0 @@ -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 < -+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 < -+#include -+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