packaes/zlib: Do not use uname to determine the library ending
authorHolger Freyther <zecke@selfish.org>
Sun, 6 Aug 2006 19:45:08 +0000 (19:45 +0000)
committerHolger Freyther <zecke@selfish.org>
Sun, 6 Aug 2006 19:45:08 +0000 (19:45 +0000)
    Do not use uname to decide if the library ends with dylib
    or so. And where to put the Version numbers...
    For darwin unset LDSHARED as we do not have gcc -shared to
    zlib should use autofoo to decide such things...

packages/zlib/zlib-1.2.3/sane-target.patch [new file with mode: 0644]
packages/zlib/zlib-native_1.2.3.bb
packages/zlib/zlib_1.2.3.bb

diff --git a/packages/zlib/zlib-1.2.3/sane-target.patch b/packages/zlib/zlib-1.2.3/sane-target.patch
new file mode 100644 (file)
index 0000000..bacdd03
--- /dev/null
@@ -0,0 +1,38 @@
+Index: zlib-1.2.3/configure
+===================================================================
+--- zlib-1.2.3.orig/configure  2005-07-11 22:11:57.000000000 +0200
++++ zlib-1.2.3/configure       2006-08-06 20:22:47.000000000 +0200
+@@ -35,6 +35,7 @@
+ gcc=0
+ old_cc="$CC"
+ old_cflags="$CFLAGS"
++target=`(uname -s || echo unknown) 2>/dev/null`
+ while test $# -ge 1
+ do
+@@ -42,7 +43,7 @@
+     -h* | --h*)
+       echo 'usage:'
+       echo '  configure [--shared] [--prefix=PREFIX]  [--exec_prefix=EXPREFIX]'
+-      echo '     [--libdir=LIBDIR] [--includedir=INCLUDEDIR]'
++      echo '     [--libdir=LIBDIR] [--includedir=INCLUDEDIR] [--target=TARGET]'
+         exit 0;;
+     -p*=* | --p*=*) prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
+     -e*=* | --e*=*) exec_prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
+@@ -53,6 +54,7 @@
+     -l* | --l*) libdir="$2"; shift; shift;;
+     -i* | --i*) includedir="$2"; shift; shift;;
+     -s* | --s*) shared=1; shift;;
++    --target=*) target=`echo $1 | sed 's/[-a-z_]*=//'`;shift;;
+     *) echo "unknown option: $1"; echo "$0 --help for help"; exit 1;;
+     esac
+ done
+@@ -75,7 +77,7 @@
+   CC="$cc"
+   SFLAGS=${CFLAGS-"-fPIC -O3"}
+   CFLAGS="$cflags"
+-  case `(uname -s || echo unknown) 2>/dev/null` in
++  case $target in
+   Linux | linux | GNU | GNU/*) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1"};;
+   CYGWIN* | Cygwin* | cygwin* | OS/2* )
+              EXE='.exe';;
index c568358..c7defb6 100644 (file)
@@ -1,6 +1,16 @@
 SECTION = "libs"
 require zlib_${PV}.bb
+ZLIB_EXTRA = ""
 inherit native
 
 DEPENDS = "libtool-native"
 FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/zlib-${PV}', '${FILE_DIRNAME}/zlib', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+
+# darwin hacks
+ZLIB_SHARED_build-darwin ="libz.1.2.3.dylib"
+do_compile_build-darwin() {
+    unset LDSHARED
+    ./configure --prefix=${prefix} --exec_prefix=${exec_prefix} --shared --libdir=${libdir} --includedir=${includedir}
+    oe_runmake
+}
index c7a72c9..8a48a89 100644 (file)
@@ -7,7 +7,8 @@ LICENSE = "zlib"
 
 SRC_URI = "http://www.zlib.net/zlib-1.2.3.tar.bz2 \
                file://visibility.patch;patch=1 \
-               file://libtool_staging.patch;patch=1"
+               file://libtool_staging.patch;patch=1 \
+               file://sane-target.patch;patch=1 "
 
 S = "${WORKDIR}/zlib-${PV}"
 
@@ -19,9 +20,13 @@ CFLAGS_prepend = "-fPIC -DZLIB_DLL "
 AR_append = " rc"
 EXTRA_OEMAKE = " LIBTOOL=${TARGET_SYS}-libtool"
 
+# extra configure options, can be reset in the -native variant
+ZLIB_EXTRA = "--target=${TARGET_OS}"
+ZLIB_SHARED= "libz.so.${PV}"
+
 do_compile() {
-       ./configure --prefix=${prefix} --exec_prefix=${exec_prefix} --shared --libdir=${libdir} --includedir=${includedir}
-       oe_runmake -e MAKEFLAGS="" libz.so.${PV} libz.a
+       ./configure --prefix=${prefix} --exec_prefix=${exec_prefix} --shared --libdir=${libdir} --includedir=${includedir} ${ZLIB_EXTRA}
+       oe_runmake -e MAKEFLAGS="" ${ZLIB_SHARED} libz.a
 }
 
 do_stage() {