From a2c534419863b2c09fd122d8d1ef6769398f7cf0 Mon Sep 17 00:00:00 2001 From: yaworsky Date: Fri, 16 Sep 2005 08:33:41 +0000 Subject: Added to repository. --- extras/cross-compile-libs | 214 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 214 insertions(+) create mode 100755 extras/cross-compile-libs (limited to 'extras/cross-compile-libs') diff --git a/extras/cross-compile-libs b/extras/cross-compile-libs new file mode 100755 index 0000000..984c597 --- /dev/null +++ b/extras/cross-compile-libs @@ -0,0 +1,214 @@ +#!/bin/bash +# +# cross-compile win32 libraries for syslog-win32 +# on exit libraries are in cross-libs directory +# +# required environment variables: DISTFILES +# honoured environment variables: CFLAGS, HOST +# + +# +# define distfiles +# +libiconv=libiconv-1.9.2.tar.gz +gettext=gettext-0.14.1.tar.gz +zlib=zlib-1.2.2.tar.bz2 +regex=regex-0.12.tar.gz +glib=glib-2.6.3.tar.bz2 + +function distfiles() +{ + echo $libiconv + echo $gettext + echo $zlib + echo $regex + echo $glib +} + +# +# check DISTFILES and distfiles +# +if [ -z "$DISTFILES" ] ; then + echo "You should specify location of source tarballs with the help of DISTFILES environment variable" + exit 1 +fi + +for file in `distfiles` ; do + if [ -f "$DISTFILES"/$file ] ; then continue ; fi + echo $file not found + exit 1 +done + +# +# set environment variables if not set yet +# +if [ -z "$CFLAGS" ] ; then + export CFLAGS="-Os -g" +fi + +if [ -z "$HOST" ] ; then + export HOST=i686-pc-mingw32 +fi + +# +# a wrapper for subsequent commands +# +function run() +{ + echo "$@" + "$@" || exit 1 +} + +# +# unpack routine +# +function unpack_tarball() +{ + if [[ zip == ${1:(-3)} ]] ; then + run unzip "$1" + else + if [[ bz2 == ${1:(-3)} ]] ; then arch=j + elif [[ gz == ${1:(-2)} ]] ; then arch=z + elif [[ tar == ${1:(-3)} ]] ; then arch= + else + echo "Unknown distfile type" + exit 1 + fi + run tar -x${arch}f "$1" + fi +} + +# +# create build directories +# +export PREFIX=`pwd`/cross-libs +run mkdir -p cross-libs +run mkdir -p cross-build +run pushd cross-build + +# +# build libiconv +# +unpack_tarball "$DISTFILES"/$libiconv +run pushd libiconv* +run ./configure --prefix="$PREFIX" --host=$HOST --disable-nls +run make +run make install +run popd +run rm -Rf libiconv* + +# +# build gettext +# +unpack_tarball "$DISTFILES"/$gettext +run pushd gettext*/gettext-runtime +CPPFLAGS=-I"$PREFIX"/include LDFLAGS=-L"$PREFIX"/lib \ +run ./configure --prefix="$PREFIX" --host=$HOST --enable-relocatable --with-libiconv-prefix="$PREFIX" +run make +run make install +run popd +run rm -Rf gettext* + +# +# build zlib +# TO DO: use original makefile; dllname must be like in official windoze distro +# +unpack_tarball "$DISTFILES"/$zlib +run pushd zlib* +cat >configure.ac <Makefile.am <configure.ac <Makefile.am <win32.cache <