aboutsummaryrefslogtreecommitdiffstats
path: root/build.sh
diff options
context:
space:
mode:
authoryaworsky <yaworsky>2005-09-16 08:40:43 +0000
committeryaworsky <yaworsky>2005-09-16 08:40:43 +0000
commit9691a996741fec5c5e2d290e72697806b8e4546e (patch)
treed3e49140caeeb80afdf3649608dc6407d2f1d3b8 /build.sh
parentcc936dc1a09d275915f82733611d7c0146846788 (diff)
downloadsyslog-win32-9691a996741fec5c5e2d290e72697806b8e4546e.tar.gz
syslog-win32-9691a996741fec5c5e2d290e72697806b8e4546e.tar.xz
syslog-win32-9691a996741fec5c5e2d290e72697806b8e4546e.zip
Added to repository.
Diffstat (limited to 'build.sh')
-rwxr-xr-xbuild.sh100
1 files changed, 100 insertions, 0 deletions
diff --git a/build.sh b/build.sh
new file mode 100755
index 0000000..2002fa9
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,100 @@
+#!/bin/sh
+#
+# build syslog-win32 setup from scratch
+#
+# optional environment variables:
+# DISTFILES should point to the directory with packages listed below
+# HOST may contain target triplet for cross-compilation
+# ISCC should point to the Inno Setup Compiler
+#
+
+default_distfiles_dir=distfiles # must be relative path
+unpacked_packages_dir=packages # must be relative path
+
+#
+# packages
+#
+libiconv=libiconv-1.9.1.bin.woe32.zip # http://www.gimp.org/~tml/gimp/win32
+gettext=gettext-runtime-0.13.1.zip # http://www.gimp.org/~tml/gimp/win32
+pkgconfig=pkgconfig-0.15.zip # http://www.gimp.org/~tml/gimp/win32
+glib=glib-2.8.0.zip # ftp://ftp.gtk.org/pub/gtk/v2.8/win32
+glib_dev=glib-dev-2.8.0.zip # ftp://ftp.gtk.org/pub/gtk/v2.8/win32
+
+function packages()
+{
+ echo $libiconv
+ echo $gettext
+ echo $pkgconfig
+ echo $glib
+ echo $glib_dev
+}
+
+workdir=`pwd`
+prefix=$workdir/$unpacked_packages_dir
+bindir=$prefix/bin
+export PATH=$bindir:$PATH
+
+#
+# clean up and create destination directory
+#
+[ -d $unpacked_packages_dir ] && rm -rf $unpacked_packages_dir
+mkdir $unpacked_packages_dir
+
+#
+# unpack packages
+#
+cd $unpacked_packages_dir
+[ -z $DISTFILES ] && DISTFILES=$workdir/$default_distfiles_dir
+for file in `packages` ; do
+ unzip $DISTFILES/$file || exit 1
+done
+cd $workdir
+
+#
+# fix prefix in *.pc files
+#
+export PKG_CONFIG_PATH=$workdir/$unpacked_packages_dir/lib/pkgconfig
+for file in $PKG_CONFIG_PATH/*.pc ; do
+ module=`basename $file`
+ module=${module%.pc}
+ old_prefix=`pkg-config --variable=prefix $module`
+ # old versions of sed haven't -i option
+ sed -e s:$old_prefix:$prefix:g $file >$file.tmp || exit 1
+ mv -f $file.tmp $file
+done
+
+# set OBJDUMP for cross-compilation
+[ -z $HOST ] || export OBJDUMP=$HOST-objdump
+
+#
+# build
+#
+[ -z $HOST ] || export __HOST__=--host=$HOST
+./configure --prefix=$prefix --sysconfdir=/etc --enable-relocatable --enable-debug ${__HOST__} || exit 1
+make
+make install-strip
+
+#
+# strip dll(s)
+#
+if [ -z $HOST ] ; then
+ STRIP=strip
+else
+ STRIP=$HOST-strip
+fi
+$STRIP -s $bindir/libsyslog*.dll
+
+#
+# create setup
+# FIXME: Msys has troubles running Inno Setup
+#
+[ -z "$ISCC" ] && ISCC=iscc.exe
+[ -z $HOST ] || __WINE__=wine
+cat <<EOF >tmp.m4
+changequote([, ])dnl
+define([m4_define], [\$2])dnl
+EOF
+version=`cat tmp.m4 version.m4 | m4`
+echo $version
+rm tmp.m4
+$__WINE__ "$ISCC" setup.iss /dversion=$version /dbindir=$unpacked_packages_dir\\bin