r14855 - gnucash/trunk/packaging/win32 - Convert shell scripts from DOS CR-LF linefeeds to unix LF.

Christian Stimming cstim at cvs.gnucash.org
Mon Sep 18 05:50:26 EDT 2006


Author: cstim
Date: 2006-09-18 05:50:25 -0400 (Mon, 18 Sep 2006)
New Revision: 14855
Trac: http://svn.gnucash.org/trac/changeset/14855

Modified:
   gnucash/trunk/packaging/win32/README
   gnucash/trunk/packaging/win32/custom.sh
   gnucash/trunk/packaging/win32/install.sh
Log:
Convert shell scripts from DOS CR-LF linefeeds to unix LF.

Modified: gnucash/trunk/packaging/win32/README
===================================================================
--- gnucash/trunk/packaging/win32/README	2006-09-17 13:45:18 UTC (rev 14854)
+++ gnucash/trunk/packaging/win32/README	2006-09-18 09:50:25 UTC (rev 14855)
@@ -45,8 +45,7 @@
 * Then run the script create_cross_mingw.sh - it will download,
   compile, and install a mingw32 toolchain.
 
-* Run "dos2unix custom.sh install.sh" and in custom.sh, make a
-  search&replace of '\\' into '/'.
+* In custom.sh, make a search&replace of '\\' into '/'.
 
 * Edit custom.sh to set your preferred directory paths.
 

Modified: gnucash/trunk/packaging/win32/custom.sh
===================================================================
--- gnucash/trunk/packaging/win32/custom.sh	2006-09-17 13:45:18 UTC (rev 14854)
+++ gnucash/trunk/packaging/win32/custom.sh	2006-09-18 09:50:25 UTC (rev 14855)
@@ -1,181 +1,181 @@
-#!/bin/sh # for emacs
-#
-# all directories should be without spaces!
-
-GLOBAL_DIR=c:\\soft
-TMP_DIR=$GLOBAL_DIR\\tmp
-DOWNLOAD_DIR=$GLOBAL_DIR\\downloads
-
-REPOS_URL="http://svn.gnucash.org/repo/gnucash/trunk"
-REPOS_DIR=$GLOBAL_DIR\\repos
-GNUCASH_DIR=$GLOBAL_DIR\\gnucash
-
-####
-HOST_XCOMPILE=""
-cross_compile=no
-LD=ld
-CC=gcc
-DLLTOOL=dlltool
-LIBTOOLIZE=libtoolize
-# For cross-compiling, uncomment the following lines:
-# HOST_XCOMPILE="--host=mingw32"
-# PKG_CONFIG_PATH="" # to avoid using the host's installed packages
-# PATH=/opt/mingw32/bin:/opt/mingw32/mingw32/bin:$PATH
-# cross_compile=yes
-# LD=mingw32-ld
-# CC=mingw32-gcc
-# DLLTOOL=mingw32-dlltool
-# LIBTOOLIZE=$GLOBAL_DIR/autotools/bin/libtoolize
-####
-
-MSYS_DIR=$GLOBAL_DIR\\msys
-
-WGET_DIR=$GLOBAL_DIR\\wget
-#WGET=
-
-SF_MIRROR="http://heanet.dl.sourceforge.net/sourceforge"
-GTK_MIRROR="ftp://ftp.gtk.org/pub"
-GNOME_MIRROR="ftp.gnome.org/pub/gnome"
-
-DTK_URL="$SF_MIRROR/mingw/msysDTK-1.0.1.exe"
-
-MINGW_URL="$SF_MIRROR/mingw/MinGW-5.0.2.exe"
-MINGW_DIR=$GLOBAL_DIR\\mingw
-
-UNZIP_URL="$SF_MIRROR/gnuwin32/unzip-5.51-1.exe"
-UNZIP_DIR=$GLOBAL_DIR\\unzip
-
-REGEX_BIN_URL="$SF_MIRROR/gnuwin32/regex-0.12-bin.zip"
-REGEX_LIB_URL="$SF_MIRROR/gnuwin32/regex-0.12-lib.zip"
-REGEX_DIR=$GLOBAL_DIR\\regex
-
-READLINE_BIN_URL="$SF_MIRROR/gnuwin32/readline-5.0-bin.zip"
-READLINE_LIB_URL="$SF_MIRROR/gnuwin32/readline-5.0-lib.zip"
-READLINE_DIR=$GLOBAL_DIR\\readline
-
-INDENT_BIN_URL="$SF_MIRROR/gnuwin32/indent-2.2.9-bin.zip"
-INDENT_DIR=$GLOBAL_DIR\\indent
-
-ACTIVE_PERL_URL="http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.638-MSWin32-x86.zip"
-ACTIVE_PERL_DIR=$GLOBAL_DIR\\active-perl
-
-GUILE_URL="http://ftp.gnu.org/pub/gnu/guile/guile-1.6.8.tar.gz"
-SLIB_URL="http://swiss.csail.mit.edu/ftpdir/scm/slib3a3.zip"
-GUILE_DIR=$GLOBAL_DIR\\guile
-
-OPENSSL_URL="http://www.slproweb.com/download/Win32OpenSSL-0_9_8c.exe"
-OPENSSL_DIR=$GLOBAL_DIR\\openssl
-
-PEXPORTS_URL="http://www.emmestech.com/software/cygwin/pexports-0.43/pexports-0.43.zip"
-PEXPORTS_DIR=$GLOBAL_DIR\\pexports
-
-LIBXML2_URL="http://www.zlatkovic.com/pub/libxml/libxml2-2.6.26.win32.zip"
-LIBXML2_DIR=$GLOBAL_DIR\\gnome #avoid XML_FLAGS
-
-EXPAT_URL="ftp://ftp.jclark.com/pub/xml/expat.zip"
-EXPAT_DIR=$GLOBAL_DIR\\gnome #avoid EXPAT_FLAGS
-
-GNOME_WIN32_URL="$GNOME_MIRROR/binaries/win32"
-GETTEXT_URL="$GTK_MIRROR/glib/2.12/win32/dependencies/gettext-0.14.5.zip"
-GETTEXT_DEV_URL="$GTK_MIRROR/glib/2.12/win32/dependencies/gettext-dev-0.14.5.zip"
-LIBICONV_URL="$GTK_MIRROR/glib/2.12/win32/dependencies/libiconv-1.9.1.bin.woe32.zip"
-GLIB_URL="$GNOME_WIN32_URL/glib/2.12/glib-2.12.3.zip"
-GLIB_DEV_URL="$GNOME_WIN32_URL/glib/2.12/glib-dev-2.12.3.zip"
-LIBJPEG_URL="$GNOME_MIRROR/platform/2.13/2.13.92/win32/dependencies/libjpeg-6b-4.zip"
-LIBPNG_URL="$GTK_MIRROR/gtk/v2.10/win32/dependencies/libpng-1.2.8-bin.zip"
-ZLIB_URL="$GTK_MIRROR/gtk/v2.10/win32/dependencies/zlib123-dll.zip"
-PKG_CONFIG_URL="$GTK_MIRROR/gtk/v2.10/win32/dependencies/pkg-config-0.20.zip"
-CAIRO_URL="$GTK_MIRROR/gtk/v2.8/win32/cairo-1.2.4.zip"
-CAIRO_DEV_URL="$GTK_MIRROR/gtk/v2.8/win32/cairo-dev-1.2.4.zip"
-FONTCONFIG_URL="$GTK_MIRROR/gtk/v2.8/win32/dependencies/fontconfig-2.2.2-20040412.zip"
-FONTCONFIG_DEV_URL="$GTK_MIRROR/gtk/v2.8/win32/dependencies/fontconfig-dev-2.2.2-20040412.zip"
-FREETYPE_URL="$GTK_MIRROR/gtk/v2.8/win32/dependencies/freetype-2.1.10.zip"
-FREETYPE_DEV_URL="$SF_MIRROR/gnuwin32/freetype-2.1.10-lib.zip"
-ATK_URL="$GNOME_WIN32_URL/atk/1.12/atk-1.12.2.zip"
-ATK_DEV_URL="$GNOME_WIN32_URL/atk/1.12/atk-dev-1.12.2.zip"
-PANGO_URL="$GNOME_WIN32_URL/pango/1.14/pango-1.14.3.zip"
-PANGO_DEV_URL="$GNOME_WIN32_URL/pango/1.14/pango-dev-1.14.3.zip"
-LIBART_LGPL_URL="$GNOME_WIN32_URL/libart_lgpl/2.3/libart_lgpl-2.3.17.zip"
-LIBART_LGPL_DEV_URL="$GNOME_WIN32_URL/libart_lgpl/2.3/libart_lgpl-dev-2.3.17.zip"
-GTK_URL="$GNOME_WIN32_URL/gtk+/2.10/gtk+-2.10.3.zip"
-GTK_DEV_URL="$GNOME_WIN32_URL/gtk+/2.10/gtk+-dev-2.10.3.zip"
-INTLTOOL_URL="$GNOME_WIN32_URL/intltool/0.35/intltool-0.35.0.zip"
-ORBIT2_URL="$GNOME_WIN32_URL/ORBit2/2.14/ORBit2-2.14.2.zip"
-ORBIT2_DEV_URL="$GNOME_WIN32_URL/ORBit2/2.14/ORBit2-dev-2.14.2.zip"
-GAIL_URL="$GNOME_WIN32_URL/gail/1.9/gail-1.9.2.zip"
-GAIL_DEV_URL="$GNOME_WIN32_URL/gail/1.9/gail-dev-1.9.2.zip"
-POPT_URL="$GNOME_MIRROR/platform/2.13/2.13.92/win32/dependencies/popt-1.10.2-tml-20050828.zip"
-POPT_DEV_URL="$GNOME_MIRROR/platform/2.13/2.13.92/win32/dependencies/popt-dev-1.10.2-tml-20050828.zip"
-GCONF_URL="$GNOME_WIN32_URL/GConf/2.14/GConf-2.14.0.zip"
-GCONF_DEV_URL="$GNOME_WIN32_URL/GConf/2.14/GConf-dev-2.14.0.zip"
-LIBBONOBO_URL="$GNOME_WIN32_URL/libbonobo/2.16/libbonobo-2.16.0.zip"
-LIBBONOBO_DEV_URL="$GNOME_WIN32_URL/libbonobo/2.16/libbonobo-dev-2.16.0.zip"
-GNOME_VFS_URL="$GNOME_WIN32_URL/gnome-vfs/2.14/gnome-vfs-2.14.2.zip"
-GNOME_VFS_DEV_URL="$GNOME_WIN32_URL/gnome-vfs/2.14/gnome-vfs-dev-2.14.2.zip"
-LIBGNOME_URL="$GNOME_WIN32_URL/libgnome/2.16/libgnome-2.16.0.zip"
-LIBGNOME_DEV_URL="$GNOME_WIN32_URL/libgnome/2.16/libgnome-dev-2.16.0.zip"
-LIBGNOMECANVAS_URL="$GNOME_WIN32_URL/libgnomecanvas/2.14/libgnomecanvas-2.14.0.zip"
-LIBGNOMECANVAS_DEV_URL="$GNOME_WIN32_URL/libgnomecanvas/2.14/libgnomecanvas-dev-2.14.0.zip"
-LIBBONOBOUI_URL="$GNOME_WIN32_URL/libbonoboui/2.16/libbonoboui-2.16.0.zip"
-LIBBONOBOUI_DEV_URL="$GNOME_WIN32_URL/libbonoboui/2.16/libbonoboui-dev-2.16.0.zip"
-LIBGNOMEUI_URL="$GNOME_WIN32_URL/libgnomeui/2.16/libgnomeui-2.16.0.zip"
-LIBGNOMEUI_DEV_URL="$GNOME_WIN32_URL/libgnomeui/2.16/libgnomeui-dev-2.16.0.zip"
-LIBGLADE_URL="$GNOME_WIN32_URL/libglade/2.6/libglade-2.6.0.zip"
-LIBGLADE_DEV_URL="$GNOME_WIN32_URL/libglade/2.6/libglade-dev-2.6.0.zip"
-LIBGNOMEPRINT_URL="$GNOME_WIN32_URL/libgnomeprint/2.12/libgnomeprint-2.12.1.zip"
-LIBGNOMEPRINT_DEV_URL="$GNOME_WIN32_URL/libgnomeprint/2.12/libgnomeprint-dev-2.12.1.zip"
-LIBGNOMEPRINTUI_URL="$GNOME_WIN32_URL/libgnomeprintui/2.12/libgnomeprintui-2.12.1.zip"
-LIBGNOMEPRINTUI_DEV_URL="$GNOME_WIN32_URL/libgnomeprintui/2.12/libgnomeprintui-dev-2.12.1.zip"
-GTKHTML_URL="$GNOME_WIN32_URL/gtkhtml/3.12/gtkhtml-3.12.0.zip"
-GTKHTML_DEV_URL="$GNOME_WIN32_URL/gtkhtml/3.12/gtkhtml-dev-3.12.0.zip"
-GNOME_DIR=$GLOBAL_DIR\\gnome
-
-GWRAP_URL="http://download.savannah.gnu.org/releases/g-wrap/g-wrap-1.9.6.tar.gz"
-GWRAP_DIR=$GLOBAL_DIR\\g-wrap
-
-AUTOCONF_URL="http://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.bz2"
-AUTOMAKE_URL="http://ftp.gnu.org/gnu/automake/automake-1.9.6.tar.bz2"
-LIBTOOL_URL="http://ftp.gnu.org/gnu/libtool/libtool-1.5.22.tar.gz"
-AUTOTOOLS_DIR=$GLOBAL_DIR\\autotools
-
-LIBGSF_URL="$GNOME_MIRROR/sources/libgsf/1.14/libgsf-1.14.1.tar.bz2"
-LIBGSF_DIR=$GLOBAL_DIR\\libgsf
-
-GOFFICE_URL="$GNOME_MIRROR/sources/goffice/0.3/goffice-0.3.0.tar.bz2"
-GOFFICE_DIR=$GLOBAL_DIR\\goffice
-GOFFICE_PATCH=`pwd`/goffice-0.3.0-patch.diff
-
-GLADE_URL="$GNOME_MIRROR/sources/glade3/3.0/glade3-3.0.1.tar.bz2"
-GLADE_DIR=$GLOBAL_DIR\\glade
-
-SVN_URL="http://subversion.tigris.org/files/documents/15/32856/svn-1.3.2-setup.exe"
-SVN_DIR=$GLOBAL_DIR\\svn
-
-# There is no reason to ever need to comment these out!
-# * commented out glade, as it is not needed to run gnucash
-add_step inst_wget
-add_step inst_dtk
-add_step inst_mingw
-add_step inst_unzip
-add_step inst_regex
-add_step inst_readline
-add_step inst_indent
-if test x$cross_compile != xyes ; then
- add_step inst_active_perl
-fi
-add_step inst_guile
-if test x$cross_compile != xyes ; then
- add_step inst_openssl
-fi
-add_step inst_pexports
-add_step inst_libxml2
-add_step inst_expat
-add_step inst_gnome
-add_step inst_gwrap
-add_step inst_autotools
-add_step inst_libgsf
-add_step inst_goffice
-#add_step inst_glade
-add_step inst_svn
-add_step svn_up
-add_step inst_gnucash
+#!/bin/sh # for emacs
+#
+# all directories should be without spaces!
+
+GLOBAL_DIR=c:\\soft
+TMP_DIR=$GLOBAL_DIR\\tmp
+DOWNLOAD_DIR=$GLOBAL_DIR\\downloads
+
+REPOS_URL="http://svn.gnucash.org/repo/gnucash/trunk"
+REPOS_DIR=$GLOBAL_DIR\\repos
+GNUCASH_DIR=$GLOBAL_DIR\\gnucash
+
+####
+HOST_XCOMPILE=""
+cross_compile=no
+LD=ld
+CC=gcc
+DLLTOOL=dlltool
+LIBTOOLIZE=libtoolize
+# For cross-compiling, uncomment the following lines:
+# HOST_XCOMPILE="--host=mingw32"
+# PKG_CONFIG_PATH="" # to avoid using the host's installed packages
+# PATH=/opt/mingw32/bin:/opt/mingw32/mingw32/bin:$PATH
+# cross_compile=yes
+# LD=mingw32-ld
+# CC=mingw32-gcc
+# DLLTOOL=mingw32-dlltool
+# LIBTOOLIZE=$GLOBAL_DIR/autotools/bin/libtoolize
+####
+
+MSYS_DIR=$GLOBAL_DIR\\msys
+
+WGET_DIR=$GLOBAL_DIR\\wget
+#WGET=
+
+SF_MIRROR="http://heanet.dl.sourceforge.net/sourceforge"
+GTK_MIRROR="ftp://ftp.gtk.org/pub"
+GNOME_MIRROR="ftp.gnome.org/pub/gnome"
+
+DTK_URL="$SF_MIRROR/mingw/msysDTK-1.0.1.exe"
+
+MINGW_URL="$SF_MIRROR/mingw/MinGW-5.0.2.exe"
+MINGW_DIR=$GLOBAL_DIR\\mingw
+
+UNZIP_URL="$SF_MIRROR/gnuwin32/unzip-5.51-1.exe"
+UNZIP_DIR=$GLOBAL_DIR\\unzip
+
+REGEX_BIN_URL="$SF_MIRROR/gnuwin32/regex-0.12-bin.zip"
+REGEX_LIB_URL="$SF_MIRROR/gnuwin32/regex-0.12-lib.zip"
+REGEX_DIR=$GLOBAL_DIR\\regex
+
+READLINE_BIN_URL="$SF_MIRROR/gnuwin32/readline-5.0-bin.zip"
+READLINE_LIB_URL="$SF_MIRROR/gnuwin32/readline-5.0-lib.zip"
+READLINE_DIR=$GLOBAL_DIR\\readline
+
+INDENT_BIN_URL="$SF_MIRROR/gnuwin32/indent-2.2.9-bin.zip"
+INDENT_DIR=$GLOBAL_DIR\\indent
+
+ACTIVE_PERL_URL="http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.638-MSWin32-x86.zip"
+ACTIVE_PERL_DIR=$GLOBAL_DIR\\active-perl
+
+GUILE_URL="http://ftp.gnu.org/pub/gnu/guile/guile-1.6.8.tar.gz"
+SLIB_URL="http://swiss.csail.mit.edu/ftpdir/scm/slib3a3.zip"
+GUILE_DIR=$GLOBAL_DIR\\guile
+
+OPENSSL_URL="http://www.slproweb.com/download/Win32OpenSSL-0_9_8c.exe"
+OPENSSL_DIR=$GLOBAL_DIR\\openssl
+
+PEXPORTS_URL="http://www.emmestech.com/software/cygwin/pexports-0.43/pexports-0.43.zip"
+PEXPORTS_DIR=$GLOBAL_DIR\\pexports
+
+LIBXML2_URL="http://www.zlatkovic.com/pub/libxml/libxml2-2.6.26.win32.zip"
+LIBXML2_DIR=$GLOBAL_DIR\\gnome #avoid XML_FLAGS
+
+EXPAT_URL="ftp://ftp.jclark.com/pub/xml/expat.zip"
+EXPAT_DIR=$GLOBAL_DIR\\gnome #avoid EXPAT_FLAGS
+
+GNOME_WIN32_URL="$GNOME_MIRROR/binaries/win32"
+GETTEXT_URL="$GTK_MIRROR/glib/2.12/win32/dependencies/gettext-0.14.5.zip"
+GETTEXT_DEV_URL="$GTK_MIRROR/glib/2.12/win32/dependencies/gettext-dev-0.14.5.zip"
+LIBICONV_URL="$GTK_MIRROR/glib/2.12/win32/dependencies/libiconv-1.9.1.bin.woe32.zip"
+GLIB_URL="$GNOME_WIN32_URL/glib/2.12/glib-2.12.3.zip"
+GLIB_DEV_URL="$GNOME_WIN32_URL/glib/2.12/glib-dev-2.12.3.zip"
+LIBJPEG_URL="$GNOME_MIRROR/platform/2.13/2.13.92/win32/dependencies/libjpeg-6b-4.zip"
+LIBPNG_URL="$GTK_MIRROR/gtk/v2.10/win32/dependencies/libpng-1.2.8-bin.zip"
+ZLIB_URL="$GTK_MIRROR/gtk/v2.10/win32/dependencies/zlib123-dll.zip"
+PKG_CONFIG_URL="$GTK_MIRROR/gtk/v2.10/win32/dependencies/pkg-config-0.20.zip"
+CAIRO_URL="$GTK_MIRROR/gtk/v2.8/win32/cairo-1.2.4.zip"
+CAIRO_DEV_URL="$GTK_MIRROR/gtk/v2.8/win32/cairo-dev-1.2.4.zip"
+FONTCONFIG_URL="$GTK_MIRROR/gtk/v2.8/win32/dependencies/fontconfig-2.2.2-20040412.zip"
+FONTCONFIG_DEV_URL="$GTK_MIRROR/gtk/v2.8/win32/dependencies/fontconfig-dev-2.2.2-20040412.zip"
+FREETYPE_URL="$GTK_MIRROR/gtk/v2.8/win32/dependencies/freetype-2.1.10.zip"
+FREETYPE_DEV_URL="$SF_MIRROR/gnuwin32/freetype-2.1.10-lib.zip"
+ATK_URL="$GNOME_WIN32_URL/atk/1.12/atk-1.12.2.zip"
+ATK_DEV_URL="$GNOME_WIN32_URL/atk/1.12/atk-dev-1.12.2.zip"
+PANGO_URL="$GNOME_WIN32_URL/pango/1.14/pango-1.14.3.zip"
+PANGO_DEV_URL="$GNOME_WIN32_URL/pango/1.14/pango-dev-1.14.3.zip"
+LIBART_LGPL_URL="$GNOME_WIN32_URL/libart_lgpl/2.3/libart_lgpl-2.3.17.zip"
+LIBART_LGPL_DEV_URL="$GNOME_WIN32_URL/libart_lgpl/2.3/libart_lgpl-dev-2.3.17.zip"
+GTK_URL="$GNOME_WIN32_URL/gtk+/2.10/gtk+-2.10.3.zip"
+GTK_DEV_URL="$GNOME_WIN32_URL/gtk+/2.10/gtk+-dev-2.10.3.zip"
+INTLTOOL_URL="$GNOME_WIN32_URL/intltool/0.35/intltool-0.35.0.zip"
+ORBIT2_URL="$GNOME_WIN32_URL/ORBit2/2.14/ORBit2-2.14.2.zip"
+ORBIT2_DEV_URL="$GNOME_WIN32_URL/ORBit2/2.14/ORBit2-dev-2.14.2.zip"
+GAIL_URL="$GNOME_WIN32_URL/gail/1.9/gail-1.9.2.zip"
+GAIL_DEV_URL="$GNOME_WIN32_URL/gail/1.9/gail-dev-1.9.2.zip"
+POPT_URL="$GNOME_MIRROR/platform/2.13/2.13.92/win32/dependencies/popt-1.10.2-tml-20050828.zip"
+POPT_DEV_URL="$GNOME_MIRROR/platform/2.13/2.13.92/win32/dependencies/popt-dev-1.10.2-tml-20050828.zip"
+GCONF_URL="$GNOME_WIN32_URL/GConf/2.14/GConf-2.14.0.zip"
+GCONF_DEV_URL="$GNOME_WIN32_URL/GConf/2.14/GConf-dev-2.14.0.zip"
+LIBBONOBO_URL="$GNOME_WIN32_URL/libbonobo/2.16/libbonobo-2.16.0.zip"
+LIBBONOBO_DEV_URL="$GNOME_WIN32_URL/libbonobo/2.16/libbonobo-dev-2.16.0.zip"
+GNOME_VFS_URL="$GNOME_WIN32_URL/gnome-vfs/2.14/gnome-vfs-2.14.2.zip"
+GNOME_VFS_DEV_URL="$GNOME_WIN32_URL/gnome-vfs/2.14/gnome-vfs-dev-2.14.2.zip"
+LIBGNOME_URL="$GNOME_WIN32_URL/libgnome/2.16/libgnome-2.16.0.zip"
+LIBGNOME_DEV_URL="$GNOME_WIN32_URL/libgnome/2.16/libgnome-dev-2.16.0.zip"
+LIBGNOMECANVAS_URL="$GNOME_WIN32_URL/libgnomecanvas/2.14/libgnomecanvas-2.14.0.zip"
+LIBGNOMECANVAS_DEV_URL="$GNOME_WIN32_URL/libgnomecanvas/2.14/libgnomecanvas-dev-2.14.0.zip"
+LIBBONOBOUI_URL="$GNOME_WIN32_URL/libbonoboui/2.16/libbonoboui-2.16.0.zip"
+LIBBONOBOUI_DEV_URL="$GNOME_WIN32_URL/libbonoboui/2.16/libbonoboui-dev-2.16.0.zip"
+LIBGNOMEUI_URL="$GNOME_WIN32_URL/libgnomeui/2.16/libgnomeui-2.16.0.zip"
+LIBGNOMEUI_DEV_URL="$GNOME_WIN32_URL/libgnomeui/2.16/libgnomeui-dev-2.16.0.zip"
+LIBGLADE_URL="$GNOME_WIN32_URL/libglade/2.6/libglade-2.6.0.zip"
+LIBGLADE_DEV_URL="$GNOME_WIN32_URL/libglade/2.6/libglade-dev-2.6.0.zip"
+LIBGNOMEPRINT_URL="$GNOME_WIN32_URL/libgnomeprint/2.12/libgnomeprint-2.12.1.zip"
+LIBGNOMEPRINT_DEV_URL="$GNOME_WIN32_URL/libgnomeprint/2.12/libgnomeprint-dev-2.12.1.zip"
+LIBGNOMEPRINTUI_URL="$GNOME_WIN32_URL/libgnomeprintui/2.12/libgnomeprintui-2.12.1.zip"
+LIBGNOMEPRINTUI_DEV_URL="$GNOME_WIN32_URL/libgnomeprintui/2.12/libgnomeprintui-dev-2.12.1.zip"
+GTKHTML_URL="$GNOME_WIN32_URL/gtkhtml/3.12/gtkhtml-3.12.0.zip"
+GTKHTML_DEV_URL="$GNOME_WIN32_URL/gtkhtml/3.12/gtkhtml-dev-3.12.0.zip"
+GNOME_DIR=$GLOBAL_DIR\\gnome
+
+GWRAP_URL="http://download.savannah.gnu.org/releases/g-wrap/g-wrap-1.9.6.tar.gz"
+GWRAP_DIR=$GLOBAL_DIR\\g-wrap
+
+AUTOCONF_URL="http://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.bz2"
+AUTOMAKE_URL="http://ftp.gnu.org/gnu/automake/automake-1.9.6.tar.bz2"
+LIBTOOL_URL="http://ftp.gnu.org/gnu/libtool/libtool-1.5.22.tar.gz"
+AUTOTOOLS_DIR=$GLOBAL_DIR\\autotools
+
+LIBGSF_URL="$GNOME_MIRROR/sources/libgsf/1.14/libgsf-1.14.1.tar.bz2"
+LIBGSF_DIR=$GLOBAL_DIR\\libgsf
+
+GOFFICE_URL="$GNOME_MIRROR/sources/goffice/0.3/goffice-0.3.0.tar.bz2"
+GOFFICE_DIR=$GLOBAL_DIR\\goffice
+GOFFICE_PATCH=`pwd`/goffice-0.3.0-patch.diff
+
+GLADE_URL="$GNOME_MIRROR/sources/glade3/3.0/glade3-3.0.1.tar.bz2"
+GLADE_DIR=$GLOBAL_DIR\\glade
+
+SVN_URL="http://subversion.tigris.org/files/documents/15/32856/svn-1.3.2-setup.exe"
+SVN_DIR=$GLOBAL_DIR\\svn
+
+# There is no reason to ever need to comment these out!
+# * commented out glade, as it is not needed to run gnucash
+add_step inst_wget
+add_step inst_dtk
+add_step inst_mingw
+add_step inst_unzip
+add_step inst_regex
+add_step inst_readline
+add_step inst_indent
+if test x$cross_compile != xyes ; then
+ add_step inst_active_perl
+fi
+add_step inst_guile
+if test x$cross_compile != xyes ; then
+ add_step inst_openssl
+fi
+add_step inst_pexports
+add_step inst_libxml2
+add_step inst_expat
+add_step inst_gnome
+add_step inst_gwrap
+add_step inst_autotools
+add_step inst_libgsf
+add_step inst_goffice
+#add_step inst_glade
+add_step inst_svn
+add_step svn_up
+add_step inst_gnucash

Modified: gnucash/trunk/packaging/win32/install.sh
===================================================================
--- gnucash/trunk/packaging/win32/install.sh	2006-09-17 13:45:18 UTC (rev 14854)
+++ gnucash/trunk/packaging/win32/install.sh	2006-09-18 09:50:25 UTC (rev 14855)
@@ -1,817 +1,817 @@
-#!/bin/sh
-
-set -e
-
-function add_step() { steps=("${steps[@]}" "$@"); }
-function qpushd() { pushd "$@" >/dev/null; }
-function qpopd() { popd >/dev/null; }
-
-# c:/dir/sub
-function win_fs_path() {
-    echo "$*" | sed 's,\\,/,g'
-}
-
-# /c/dir/sub
-function unix_path() {
-    echo "$*" | sed 's,^\([A-Za-z]\):,/\1,;s,\\,/,g'
-}
-
-qpushd "$(dirname $(unix_path "$0"))"
-. custom.sh
-
-SEPS_ACLOCAL_FLAGS=" "
-SEPS_AUTOTOOLS_CPPFLAGS=" "
-SEPS_AUTOTOOLS_LDFLAGS=" "
-SEPS_GNOME_CPPFLAGS=" "
-SEPS_GNOME_LDFLAGS=" "
-SEPS_GUILE_LOAD_PATH=";"
-SEPS_GUILE_CPPFLAGS=" "
-SEPS_GUILE_LDFLAGS=" "
-SEPS_INTLTOOL_PERL=" "
-SEPS_PATH=":"
-SEPS_PKG_CONFIG_PATH=":"
-SEPS_READLINE_CPPFLAGS=" "
-SEPS_READLINE_LDFLAGS=" "
-SEPS_REGEX_CPPFLAGS=" "
-SEPS_REGEX_LDFLAGS=" "
-ENV_VARS="\
-ACLOCAL_FLAGS \
-AUTOTOOLS_CPPFLAGS \
-AUTOTOOLS_LDFLAGS \
-GNOME_CPPFLAGS \
-GNOME_LDFLAGS \
-GUILE_LOAD_PATH \
-GUILE_CPPFLAGS \
-GUILE_LDFLAGS \
-INTLTOOL_PERL \
-PATH \
-PKG_CONFIG_PATH \
-READLINE_CPPFLAGS \
-READLINE_LDFLAGS \
-REGEX_CPPFLAGS \
-REGEX_LDFLAGS \
-"
-
-function setup() {
-    echo
-    echo "############################################################"
-    echo "###  $*"
-    echo "############################################################"
-}
-
-function die() {
-    echo
-    echo "!!! $* !!!"
-    echo "!!! ABORTING !!!"
-    exit -1
-}
-
-function quiet() { "$@" &>/dev/null; }
-function add_to_env() {
-    _SEP=`eval echo '"$'"SEPS_$2"'"'`
-    _ENV=`eval echo '"$'"$2"'"'`
-    _SED=`eval echo '"s#.*'"${_SEP}$1${_SEP}"'.*##"'`
-    _TEST=`echo "${_SEP}${_ENV}${_SEP}" | sed "${_SED}"`
-    if [ "$_TEST" ]; then
-	if [ "$_ENV" ]; then
-	    eval "$2_ADDS"'="'"$1${_SEP}"'$'"$2_ADDS"'"'
-	else
-	    eval "$2_ADDS"'="'"$1"'"'
-	fi
-	eval "$2"'="$'"$2_ADDS"'$'"$2_BASE"'"'
-    fi
-}
-
-function prepare() {
-    mkdir -p $TMP_DIR
-    mkdir -p $DOWNLOAD_DIR
-    for _ENV in $ENV_VARS; do
-	eval "${_ENV}_BASE"'=$'"${_ENV}"
-	eval "${_ENV}_ADDS="
-	eval export "${_ENV}"
-    done
-    DOWNLOAD_UDIR=`unix_path $DOWNLOAD_DIR`
-    TMP_UDIR=`unix_path $TMP_DIR`
-}
-
-# usage:  smart_wget URL DESTDIR
-function smart_wget() {
-    _FILE=`basename $1`
-    _DLD=`unix_path $2`
-
-    # If the file already exists in the download directory ($2)
-    # then don't do anything.  But if it does NOT exist then
-    # download the file to the tmpdir and then when that completes
-    # move it to the dest dir.
-    if [ ! -f $_DLD/$_FILE ] ; then
-	wget -c $1 -P $TMP_DIR
-	mv $TMP_UDIR/$_FILE $_DLD
-    fi
-    LAST_FILE=$_DLD/$_FILE
-}
-
-# usage:  wget_unpacked URL DOWNLOAD_DIR UNPACK_DIR
-function wget_unpacked() {
-    smart_wget $1 $2
-    _UPD=`unix_path $3`
-    echo -n "Extracting ${LAST_FILE##*/} ... "
-    case $LAST_FILE in
-        *.zip)     unzip -q -o $LAST_FILE -d $_UPD;;
-        *.tar.gz)  tar -xzpf $LAST_FILE -C $_UPD;;
-        *.tar.bz2) tar -xjpf $LAST_FILE -C $_UPD;;
-        *)         die "Cannot unpack file $LAST_FILE!";;
-    esac
-    echo "done"
-}
-
-function inst_wget() {
-    setup Wget
-    _WGET_UDIR=`unix_path $WGET_DIR`
-    if quiet $_WGET_UDIR/wget --version || quiet wget --version
-    then
-        echo "already installed.  skipping."
-    else
-        mkdir -p $WGET_DIR
-        tar -xjpf $DOWNLOAD_UDIR/wget*.tar.bz2 -C $WGET_DIR
-        cp $_WGET_UDIR/*/*/wget.exe $WGET_DIR
-    fi
-    add_to_env $_WGET_UDIR PATH
-    quiet wget --version || die "wget unavailable"
-}
-
-function inst_dtk() {
-    setup MSYS DTK
-    if quiet perl --help
-    then
-        echo "msys dtk already installed.  skipping."
-    else
-        smart_wget $DTK_URL $DOWNLOAD_DIR
-        echo "!!! When asked for an installation path, specify $MSYS_DIR !!!"
-        $LAST_FILE
-        for file in \
-	    /bin/{aclocal*,auto*,ifnames,libtool*,guile*} \
-	    /share/{aclocal,aclocal-1.7,autoconf,autogen,automake-1.7,guile,libtool}
-        do
-            [ "${file##*.bak}" ] || continue
-            _dst_file=$file.bak
-            while [ -e $_dst_file ]; do _dst_file=$_dst_file.bak; done
-            mv $file $_dst_file
-        done
-    fi
-    quiet perl --help || die "msys dtk not installed correctly"
-}
-
-function inst_mingw() {
-    setup MinGW
-    if quiet ${CC} --version
-    then
-        echo "mingw already installed.  skipping."
-    else
-        _MINGW_WFSDIR=`win_fs_path $MINGW_DIR`
-        smart_wget $MINGW_URL $DOWNLOAD_DIR
-        echo "!!! Install g++ !!!"
-        echo "!!! When asked for an installation path, specify $MINGW_DIR !!!"
-        $LAST_FILE
-        (echo "y"; echo "y"; echo "$_MINGW_WFSDIR") | sh pi.sh
-    fi
-    quiet ${CC} --version && quiet ${LD} --help || die "mingw not installed correctly"
-}
-
-function inst_unzip() {
-    setup Unzip
-    _UNZIP_UDIR=`unix_path $UNZIP_DIR`
-    if quiet $_UNZIP_UDIR/bin/unzip --help || quiet unzip --help
-    then
-        echo "unzip already installed.  skipping."
-    else
-        smart_wget $UNZIP_URL $DOWNLOAD_DIR
-        echo "!!! When asked for an installation path, specify $UNZIP_DIR !!!"
-        $LAST_FILE
-    fi
-    add_to_env $_UNZIP_UDIR/bin PATH
-    quiet unzip --help || die "unzip unavailable"
-}
-
-function inst_regex() {
-    setup RegEx
-    _REGEX_UDIR=`unix_path $REGEX_DIR`
-    add_to_env -I$_REGEX_UDIR/include REGEX_CPPFLAGS
-    add_to_env -L$_REGEX_UDIR/lib REGEX_LDFLAGS
-    add_to_env $_REGEX_UDIR/bin PATH
-    if quiet ${LD} $REGEX_LDFLAGS -lregex -o $TMP_UDIR/ofile
-    then
-        echo "regex already installed.  skipping."
-    else
-        mkdir -p $REGEX_DIR
-        wget_unpacked $REGEX_BIN_URL $DOWNLOAD_DIR $REGEX_DIR
-        wget_unpacked $REGEX_LIB_URL $DOWNLOAD_DIR $REGEX_DIR
-    fi
-    quiet ${LD} $REGEX_LDFLAGS -lregex -o $TMP_UDIR/ofile || die "regex not installed correctly"
-}
-
-function inst_readline() {
-    setup Readline
-    _READLINE_UDIR=`unix_path $READLINE_DIR`
-    add_to_env -I$_READLINE_UDIR/include READLINE_CPPFLAGS
-    add_to_env -L$_READLINE_UDIR/lib READLINE_LDFLAGS
-    add_to_env $_READLINE_UDIR/bin PATH
-    if quiet ${LD} $READLINE_LDFLAGS -lreadline -o $TMP_UDIR/ofile
-    then
-        echo "readline already installed.  skipping."
-    else
-        mkdir -p $READLINE_DIR
-        wget_unpacked $READLINE_BIN_URL $DOWNLOAD_DIR $READLINE_DIR
-        wget_unpacked $READLINE_LIB_URL $DOWNLOAD_DIR $READLINE_DIR
-    fi
-    quiet ${LD} $READLINE_LDFLAGS -lreadline -o $TMP_UDIR/ofile || die "readline not installed correctly"
-}
-
-function inst_indent() {
-    setup Indent
-    _INDENT_UDIR=`unix_path $INDENT_DIR`
-    add_to_env $_INDENT_UDIR/bin PATH
-    if quiet which indent
-    then
-        echo "indent already installed.  skipping."
-    else
-        mkdir -p $INDENT_DIR
-        wget_unpacked $INDENT_BIN_URL $DOWNLOAD_DIR $INDENT_DIR
-    fi
-    quiet which indent || die "indent unavailable"
-}
-
-function inst_active_perl() {
-    setup ActivePerl \(intltool\)
-    _ACTIVE_PERL_WFSDIR=`win_fs_path $ACTIVE_PERL_DIR`
-    add_to_env $_ACTIVE_PERL_WFSDIR/bin/perl INTLTOOL_PERL
-    if quiet $INTLTOOL_PERL --help
-    then
-        echo "ActivePerl already installed.  skipping."
-    else
-        wget_unpacked $ACTIVE_PERL_URL $DOWNLOAD_DIR $ACTIVE_PERL_DIR
-        # this is the first of several bad hacks
-        # it would be much more natural to have a sort of -p flag like for `patch'
-        # please deuglify me
-        qpushd $ACTIVE_PERL_DIR
-            cp -r ActivePerl/Perl/* .
-            rm -rf ActivePerl
-        qpopd
-    fi
-    quiet $INTLTOOL_PERL --help || die "ActivePerl not installed correctly"
-}
-
-function inst_guile() {
-    setup Guile
-    _GUILE_WFSDIR=`win_fs_path $GUILE_DIR`
-    _GUILE_UDIR=`unix_path $GUILE_DIR`
-    add_to_env -I$_GUILE_UDIR/include GUILE_CPPFLAGS
-    add_to_env -L$_GUILE_UDIR/lib GUILE_LDFLAGS
-    add_to_env $_GUILE_UDIR/bin PATH
-    if quiet guile -c '(use-modules (srfi srfi-39))' &&
-        quiet guile -c "(use-modules (ice-9 slib)) (require 'printf)"
-    then
-        echo "guile and slib already installed.  skipping."
-    else
-        smart_wget $GUILE_URL $DOWNLOAD_DIR
-        smart_wget $SLIB_URL $DOWNLOAD_DIR
-        tar -xzpf $DOWNLOAD_UDIR/guile-*.tar.gz -C $TMP_UDIR
-        qpushd $TMP_UDIR/guile-*
-            qpushd ice-9
-                cp boot-9.scm boot-9.scm.bak
-                cat boot-9.scm.bak | sed '/SIGBUS/d' > boot-9.scm
-            qpopd
-            qpushd libguile
-                cp fports.c fports.c.bak
-                cat fports.c.bak | sed 's,#elif defined (FIONREAD),#elif 0,' > fports.c
-                cp load.c load.c.bak
-                cat load.c.bak | sed '/scan !=/s,:,;,' > load.c
-            qpopd
-            qpushd libguile-ltdl
-                cp raw-ltdl.c raw-ltdl.c.bak
-                cat raw-ltdl.c.bak | sed 's,\(SCMLTSTATIC\) LT_GLOBAL_DATA,\1,' > raw-ltdl.c
-                touch upstream/ltdl.c.diff
-            qpopd
-            ./configure ${HOST_XCOMPILE} \
-	        --disable-elisp \
-	        --disable-networking \
-	        --disable-dependency-tracking \
-	        --disable-libtool-lock \
-	        --disable-linuxthreads \
-	        -C --prefix=$_GUILE_WFSDIR \
-	        ac_cv_func_regcomp_rx=yes \
-	        CPPFLAGS="${READLINE_CPPFLAGS} ${REGEX_CPPFLAGS}" \
-	        LDFLAGS="-lwsock32 ${READLINE_LDFLAGS} ${REGEX_LDFLAGS} -lregex"
-	    cp config.status config.status.bak
-	    cat config.status.bak | sed 's# fileblocks[$.A-Za-z]*,#,#' > config.status
-	    ./config.status
-	    qpushd guile-config
-	      cp Makefile Makefile.bak
-	      cat Makefile.bak | sed '/-bindir-/s,:,^,g' > Makefile
-	    qpopd
-	    make LDFLAGS="-lwsock32 ${READLINE_LDFLAGS} ${REGEX_LDFLAGS} -lregex -no-undefined"
-	    make install
-	qpopd
-	qpushd $GUILE_DIR/bin
-	    mv libguilereadline-v-12-12.dll libguilereadline-v-12.dll
-	    mv libguile-srfi-srfi-4-v-1-1.dll libguile-srfi-srfi-4-v-1.dll
-	    mv libguile-srfi-srfi-13-14-v-1-1.dll libguile-srfi-srfi-13-14-v-1.dll
-	qpopd
-        _GUILE_MAJOR=`echo $_GUILE_UDIR/share/guile/1.* | sed 's,.*/,,'`
-	_SLIB_DIR=$GUILE_DIR\\share\\guile\\$_GUILE_MAJOR
-	mkdir -p $_SLIB_DIR
-	unzip $DOWNLOAD_DIR/slib*.zip -d $_SLIB_DIR
-	qpushd $_SLIB_DIR/slib
-	    cp guile.init guile.init.bak
-            sed '/lambda.*'"'"'unix/a\
-(define software-type (lambda () '"'"'ms-dos))' guile.init.bak > guile.init
-	qpopd
-    fi
-    if test x$cross_compile != xyes ; then
-	add_to_env "-I $_GUILE_UDIR/share/aclocal" ACLOCAL_FLAGS
-    fi
-    guile -c '(use-modules (srfi srfi-39))' &&
-    guile -c "(use-modules (ice-9 slib)) (require 'printf)" || die "guile not installed correctly"
-}
-
-function inst_openssl() {
-    setup OpenSSL
-    if [ -f $WINDIR\\system32\\libssl32.dll ]
-    then
-        echo "openssl already installed.  skipping."
-    else
-        smart_wget $OPENSSL_URL $DOWNLOAD_DIR
-	echo "!!! When asked for an installation path, specify $OPENSSL_DIR !!!"
-        $LAST_FILE
-    fi
-    [ -f $WINDIR\\system32\\libssl32.dll ] || die "openssl not installed correctly"
-}
-
-function inst_pexports() {
-    setup pexports
-    _PEXPORTS_UDIR=`unix_path $PEXPORTS_DIR`
-    add_to_env $_PEXPORTS_UDIR/bin PATH
-    if quiet which pexports
-    then
-        echo "pexports already installed.  skipping."
-    else
-        wget_unpacked $PEXPORTS_URL $DOWNLOAD_DIR $PEXPORTS_DIR
-        qpushd $PEXPORTS_DIR
-	    mv pexports-* mydir
-	    mv mydir/* .
-	    rmdir mydir
-	    if test x$cross_compile = xyes ; then
-		cd src
-		make
-		cp pexports.exe ../bin/pexports
-	    fi
-        qpopd
-    fi
-    quiet which pexports || die "pexports unavailable"
-}
-
-function inst_libxml2() {
-    setup LibXML2
-    _LIBXML2_UDIR=`unix_path $LIBXML2_DIR`
-    if quiet ${LD} -L$_LIBXML2_UDIR/lib -lxml2 -o $TMP_UDIR/ofile
-    then
-        echo "libxml2 already installed.  skipping."
-    else
-        wget_unpacked $LIBXML2_URL $DOWNLOAD_DIR $LIBXML2_DIR
-        qpushd $LIBXML2_DIR
-            mv libxml2-* mydir
-            cp -r mydir/* .
-            rm -rf mydir
-            pexports bin/libxml2.dll > libxml2.def
-            ${DLLTOOL} --input-def libxml2.def --output-lib lib/libxml2.a
-            rm libxml2.def
-            _LIBXML2_VERSION=`echo $LAST_FILE | sed 's#.*libxml2-\(.*\).win32.zip#\1#'`
-            mkdir -p lib/pkgconfig
-            cat > lib/pkgconfig/libxml-2.0.pc <<EOF
-prefix=/ignore
-exec_prefix=\${prefix}
-libdir=\${exec_prefix}/lib
-includedir=\${prefix}/include
-
-Name: libXML
-Version: $_LIBXML2_VERSION
-Description: libXML library version2.
-Requires:
-Libs: -L\${libdir} -lxml2 -lz
-Cflags: -I\${includedir}
-EOF
-        qpopd
-    fi
-    quiet ${LD} -L$_LIBXML2_UDIR/lib -lxml2 -o $TMP_UDIR/ofile || die "libxml2 not installed correctly"
-}
-
-function inst_expat() {
-    setup Expat
-    _EXPAT_UDIR=`unix_path $EXPAT_DIR`
-    add_to_env $_EXPAT_UDIR/bin PATH
-    if quiet which xmlwf
-    then
-        echo "expat already installed.  skipping."
-    else
-        wget_unpacked $EXPAT_URL $DOWNLOAD_DIR $EXPAT_DIR
-        qpushd $EXPAT_DIR
-            cp -r expat/* .
-            rm -rf expat
-        qpopd
-    fi
-    quiet which xmlwf || die "expat not installed correctly"
-}
-
-function inst_gnome() {
-    setup Gnome platform
-    _GNOME_UDIR=`unix_path $GNOME_DIR`
-    add_to_env -I$_GNOME_UDIR/include GNOME_CPPFLAGS
-    add_to_env -L$_GNOME_UDIR/lib GNOME_LDFLAGS
-    add_to_env $_GNOME_UDIR/bin PATH
-    add_to_env $_GNOME_UDIR/lib/pkgconfig PKG_CONFIG_PATH
-    add_to_env "-I $_GNOME_UDIR/share/aclocal" ACLOCAL_FLAGS
-    if quiet gconftool-2 --version &&
-        pkg-config --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 libgnomeprint-2.2 libgnomeprintui-2.2 libgtkhtml-3.8 &&
-        quiet intltoolize --version
-    then
-        echo "gnome packages installed.  skipping."
-    else
-        mkdir -p $GNOME_DIR
-	wget_unpacked $GETTEXT_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $GETTEXT_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBICONV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $GLIB_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $GLIB_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBJPEG_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBPNG_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $ZLIB_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $PKG_CONFIG_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $CAIRO_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $CAIRO_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $FONTCONFIG_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $FONTCONFIG_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $FREETYPE_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $FREETYPE_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $ATK_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $ATK_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $PANGO_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $PANGO_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBART_LGPL_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBART_LGPL_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $GTK_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $GTK_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $INTLTOOL_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $ORBIT2_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $ORBIT2_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $GAIL_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $GAIL_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $POPT_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $POPT_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $GCONF_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $GCONF_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBBONOBO_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBBONOBO_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $GNOME_VFS_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $GNOME_VFS_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBGNOME_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBGNOME_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBGNOMECANVAS_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBGNOMECANVAS_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBBONOBOUI_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBBONOBOUI_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBGNOMEUI_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBGNOMEUI_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBGLADE_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBGLADE_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBGNOMEPRINT_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBGNOMEPRINT_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBGNOMEPRINTUI_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $LIBGNOMEPRINTUI_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $GTKHTML_URL $DOWNLOAD_DIR $GNOME_DIR
-	wget_unpacked $GTKHTML_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        qpushd $GNOME_DIR
-            [ -f bin/zlib1.dll ] || mv zlib1.dll bin
-            if [ ! -f lib/libz.dll.a ]; then
-                qpushd bin
-                    ${DLLTOOL} -D zlib1.dll -d ../lib/zlib.def -l libz.dll.a
-                    mv libz.dll.a ../lib
-                qpopd
-            fi
-            [ -f bin/libintl-2.dll ] || cp bin/intl.dll bin/libintl-2.dll
-            _FREETYPE_VERSION=`echo $FREETYPE_DEV_URL | sed 's#.*freetype-\(.*\)-lib.zip#\1#'`
-            cat > lib/pkgconfig/freetype2.pc <<EOF
-prefix=/ignore
-exec_prefix=\${prefix}
-libdir=\${exec_prefix}/lib
-includedir=\${prefix}/include
-
-Name: FreeType 2
-Description: A free, high-quality, and portable font engine.
-Version: $_FREETYPE_VERSION
-Requires:
-Libs: -L\${libdir} -lfreetype -lz
-Cflags: -I\${includedir}/freetype2
-EOF
-        qpopd
-    fi
-    if test x$cross_compile = xyes ; then
-        qpushd $GNOME_DIR/lib/pkgconfig
-	    perl -pi.bak -e"s!^prefix=.*\$!prefix=$GNOME_DIR!" *.pc
-	    #perl -pi.bak -e's!^Libs: !Libs: -L\${prefix}/bin !' *.pc
-	qpopd
-	# Latest gnome-dev packages don't ship with *.la files
-	# anymore. What do we do...?
-        #qpushd $GNOME_DIR/bin
-	#    for A in *-0.dll; do ln -sf $A `echo $A|sed 's/\(.*\)-0.dll/\1.dll/'`; done
-	#qpopd
-    fi
-    quiet gconftool-2 --version &&
-    pkg-config --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 libgnomeprint-2.2 libgnomeprintui-2.2 libgtkhtml-3.8 &&
-    quiet intltoolize --version || die "gnome not installed correctly"
-}
-
-function inst_gwrap() {
-    setup G-Wrap
-    _GWRAP_WFSDIR=`win_fs_path $GWRAP_DIR`
-    _GWRAP_UDIR=`unix_path $GWRAP_DIR`
-    add_to_env $_GWRAP_UDIR/bin PATH
-    add_to_env $_GWRAP_WFSDIR/share/guile/site GUILE_LOAD_PATH
-    if quiet g-wrap-config --version
-    then
-        echo "g-wrap already installed.  skipping."
-    else
-        wget_unpacked $GWRAP_URL $DOWNLOAD_DIR $TMP_DIR
-        qpushd $TMP_UDIR/g-wrap-*
-            qpushd g-wrap
-                cp core-runtime.c core-runtime.c.bak
-                cat core-runtime.c.bak | sed '/vasprintf/d' > core-runtime.c
-            qpopd
-            cp configure configure.bak
-            cat configure.bak | sed 's,"glib","glib-2.0",g' > configure
-            ./configure ${HOST_XCOMPILE} \
-		CPPFLAGS="${GUILE_CPPFLAGS}" \
-		LDFLAGS="${GUILE_LDFLAGS}" \
-                --prefix=$_GWRAP_WFSDIR \
-                --with-modules-dir=`echo $GWRAP_DIR | sed 's#\\\\#\\\\\\\\#g'`\\\\share\\\\guile\\\\site
-            qpushd guile/g-wrap/gw
-                cp Makefile Makefile.bak
-                cat Makefile.bak | sed '/^libgw_guile_standard_la_LIBADD/s,$, ../../../libffi/libffi.la ../../../g-wrap/libgwrap-core-runtime.la,;/libgw_guile_gw_glib_la_LIBADD/s,$, ../../../g-wrap/libgwrap-core-runtime.la,' > Makefile
-                make standard.c gw-glib.c
-                cp standard.scm standard.scm.bak
-                cat standard.scm.bak | sed 's,"\(libgw-guile-standard\)","../lib/\1-0",' > standard.scm
-                cp gw-glib.scm gw-glib.scm.bak
-                cat gw-glib.scm.bak | sed 's,"\(libgw-guile-gw-glib\)","../lib/\1-0",' > gw-glib.scm
-            qpopd
-            qpushd guile/test
-                cp Makefile Makefile.bak
-                cat Makefile.bak | sed '/^std_libs/s,\\$, ../../libffi/libffi.la \\,' > Makefile
-            qpopd
-            make LDFLAGS="-no-undefined"
-	    qpushd guile/g-wrap
-		# Fix the filenames of the to be loaded DLLs
-		cp guile.scm guile.scm.bak
-		sed "s/slot-ref wrapset 'shlib-path) \"\\\\\"))/slot-ref wrapset 'shlib-path) \"-0\\\\\"))/" guile.scm.bak > guile.scm
-	    qpopd
-            make install
-        qpopd
-    fi    
-    add_to_env $_GWRAP_UDIR/lib/pkgconfig PKG_CONFIG_PATH
-    guile -c '(use-modules (srfi srfi-39))' &&
-    quiet g-wrap-config --version || die "g-wrap not installed correctly"
-}
-
-function inst_autotools() {
-    setup Autotools
-    _AUTOTOOLS_UDIR=`unix_path $AUTOTOOLS_DIR`
-    add_to_env $_AUTOTOOLS_UDIR/bin PATH
-    if quiet autoconf --help && quiet automake --help
-    then
-        echo "autoconf/automake already installed.  skipping."
-    else
-        wget_unpacked $AUTOCONF_URL $DOWNLOAD_DIR $TMP_DIR
-        wget_unpacked $AUTOMAKE_URL $DOWNLOAD_DIR $TMP_DIR
-        qpushd $TMP_UDIR/autoconf-*
-            echo "building autoconf..."
-           ./configure --prefix=$_AUTOTOOLS_UDIR
-            make
-            make install
-        qpopd
-        qpushd $TMP_UDIR/automake-*
-            echo "building automake..."
-            ./configure --prefix=$_AUTOTOOLS_UDIR
-            make
-            make install
-        qpopd
-    fi
-    if quiet ${LIBTOOLIZE} --help 
-    then
-        echo "libtool/libtoolize already installed.  skipping."
-    else
-        wget_unpacked $LIBTOOL_URL $DOWNLOAD_DIR $TMP_DIR
-        qpushd $TMP_UDIR/libtool-*
-            echo "building libtool..."
-            ./configure ${HOST_XCOMPILE} --prefix=$_AUTOTOOLS_UDIR
-            make
-            make install
-        qpopd
-    fi
-    add_to_env -I$_AUTOTOOLS_UDIR/include AUTOTOOLS_CPPFLAGS
-    add_to_env -L$_AUTOTOOLS_UDIR/lib AUTOTOOLS_LDFLAGS
-    add_to_env "-I $_AUTOTOOLS_UDIR/share/aclocal" ACLOCAL_FLAGS
-    quiet autoconf --help &&
-    quiet automake --help &&
-    quiet ${LIBTOOLIZE} --help || die "autotools not installed correctly"
-}
-
-function inst_libgsf() {
-    setup libGSF
-    _LIBGSF_UDIR=`unix_path $LIBGSF_DIR`
-    add_to_env $_LIBGSF_UDIR/bin PATH
-    add_to_env $_LIBGSF_UDIR/lib/pkgconfig PKG_CONFIG_PATH
-    if quiet pkg-config --exists libgsf-1 libgsf-gnome-1
-    then
-	echo "libgsf already installed.  skipping."
-    else
-	wget_unpacked $LIBGSF_URL $DOWNLOAD_DIR $TMP_DIR
-	qpushd $TMP_UDIR/libgsf-*
-	    ./configure ${HOST_XCOMPILE} --prefix=$_LIBGSF_UDIR \
-	    CPPFLAGS="${GNOME_CPPFLAGS}" \
-	    LDFLAGS="${GNOME_LDFLAGS}"
-	    make
-	    make install
-	qpopd
-    fi
-    pkg-config --exists libgsf-1 libgsf-gnome-1 || die "libgsf not installed correctly"
-}
-
-function inst_goffice() {
-    setup GOffice
-    _GOFFICE_UDIR=`unix_path $GOFFICE_DIR`
-    add_to_env $_GOFFICE_UDIR/lib/pkgconfig PKG_CONFIG_PATH
-    if quiet pkg-config --exists libgoffice-0.3
-    then
-	echo "goffice already installed.  skipping."
-    else
-	wget_unpacked $GOFFICE_URL $DOWNLOAD_DIR $TMP_DIR
-	mydir=`pwd`
-	qpushd $TMP_UDIR/goffice-*
-	    [ -n "$GOFFICE_PATCH" -a -f "$GOFFICE_PATCH" ] && \
-		patch -p1 < $GOFFICE_PATCH
-	    ${LIBTOOLIZE} --force
-	    aclocal ${ACLOCAL_FLAGS}
-	    automake
-	    autoconf
-	    ./configure ${HOST_XCOMPILE} --prefix=$_GOFFICE_UDIR \
-	    CPPFLAGS="${GNOME_CPPFLAGS}" \
-	    LDFLAGS="${GNOME_LDFLAGS}"
-	    [ -f dumpdef.pl ] || cp -p ../libgsf-*/dumpdef.pl .
-	    make
-	    make install
-	qpopd
-    fi
-    pkg-config --exists libgoffice-0.3 || die "goffice not installed correctly"
-}
-
-function inst_glade() {
-    setup Glade
-    _GLADE_UDIR=`unix_path $GLADE_DIR`
-    _GLADE_WFSDIR=`win_fs_path $GLADE_DIR`
-    add_to_env $_GLADE_UDIR/bin PATH
-    if quiet glade-3 --version
-    then
-        echo "glade already installed.  skipping."
-    else
-        wget_unpacked $GLADE_URL $DOWNLOAD_DIR $TMP_DIR
-        qpushd $TMP_UDIR/glade3-*
-            ./configure ${HOST_XCOMPILE} --prefix=$_GLADE_WFSDIR
-            make
-            make install
-        qpopd
-    fi
-    quiet glade-3 --version || die "glade not installed correctly"
-}
-
-function inst_svn() {
-    setup Subversion
-    _SVN_UDIR=`unix_path $SVN_DIR`
-    export PATH="$_SVN_UDIR/bin:$PATH"
-    if quiet svn --version
-    then
-        echo "subversion already installed.  skipping."
-    else
-        smart_wget $SVN_URL $DOWNLOAD_DIR
-        echo "!!! When asked for an installation path, specify $SVN_DIR !!!"
-        $LAST_FILE
-    fi
-}
-
-function svn_up() {
-    mkdir -p $REPOS_DIR
-    qpushd $REPOS_DIR
-    if [ -x .svn ]; then
-	setup svn up
-	svn up
-    else
-	setup svn co
-	svn co $REPOS_URL .
-    fi
-    qpopd
-}
-
-function inst_gnucash() {
-    setup GnuCash
-    _GNUCASH_WFSDIR=`win_fs_path $GNUCASH_DIR`
-    _GNUCASH_UDIR=`unix_path $GNUCASH_DIR`
-    qpushd $REPOS_DIR
-    if grep "GUILE_LOAD_PATH.*:" configure.in; then
-        cp configure.in configure.in.bak
-        cat configure.in.bak | sed '/GUILE_LOAD_PATH/s,:,;,g' > configure.in
-    fi
-    ./autogen.sh
-    ./configure ${HOST_XCOMPILE} \
-	--prefix=$_GNUCASH_WFSDIR \
-	--enable-debug \
-	--enable-schemas-install=no \
-	CPPFLAGS="${AUTOTOOLS_CPPFLAGS} ${REGEX_CPPFLAGS} ${GNOME_CPPFLAGS} ${GUILE_CPPFLAGS} -D_WIN32" \
-	LDFLAGS="${AUTOTOOLS_LDFLAGS} ${REGEX_LDFLAGS} ${GNOME_LDFLAGS} ${GUILE_LDFLAGS}" \
-	PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
-
-    # Windows DLLs don't need relinking
-    cp ltmain.sh ltmain.sh.bak ; grep -v "need_relink=yes" ltmain.sh.bak > ltmain.sh
-    cp libtool libtool.bak ; grep -v "need_relink=yes" libtool.bak > libtool
-    # Exclude (for now) the test subdirectories from the build
-    # because executable linking is so painfully slow on mingw
-    perl -pi.bak -e's#^(SUBDIRS.* )test( .*)?$#\1\2#' `find src -name Makefile`
-
-    make LDFLAGS="${AUTOTOOLS_LDFLAGS} ${REGEX_LDFLAGS} ${GNOME_LDFLAGS} -no-undefined"
-
-    # Try to fix the paths in the "gnucash" script
-    qpushd src/bin
-    rm gnucash
-    make PATH_SEPARATOR=";" \
-	bindir="${_GNUCASH_UDIR}/bin:${_GNUCASH_UDIR}/lib/bin:${_GOFFICE_UDIR}/bin:${_LIBGSF_UDIR}/bin:${_GWRAP_UDIR}/bin:${_GNOME_UDIR}/bin:${_LIBXML2_UDIR}/bin:${_GUILE_UDIR}/bin:${_REGEX_UDIR}/bin" \
-	gnucash
-    qpopd
-
-    make install
-    qpopd
-
-    qpushd ${_GNUCASH_WFSDIR}/lib/gnucash
-    # Remove the dependency_libs line from the installed .la files
-    # because otherwise loading the modules literally takes hours.
-    for A in *.la; do grep -v dependency_libs $A > tmp ; mv  tmp $A; done
-    qpopd
-
-    qpushd ${_GNUCASH_WFSDIR}/etc/gconf/schemas
-    for file in *.schemas; do
-        gconftool-2 \
-            --config-source=xml:merged:${_GNUCASH_WFSDIR}/etc/gconf/gconf.xml.defaults \
-            --install-schema-file $file
-    done
-    gconftool-2 --shutdown
-    qpopd
-
-    # Create a startup script that works without the msys shell
-    qpushd ${_GNUCASH_WFSDIR}/bin
-    echo "set PATH=${GNUCASH_DIR}\\bin;${GNUCASH_DIR}\\lib\\bin;${GOFFICE_DIR}\\bin;${LIBGSF_DIR}\\bin;${GWRAP_DIR}\\bin;${GNOME_DIR}\\bin;${LIBXML2_DIR}\\bin;${GUILE_DIR}\\bin;${REGEX_DIR}\\bin;${AUTOTOOLS_DIR}\\bin" > gnucash.bat
-    echo "set GUILE_WARN_DEPRECATED=no" >> gnucash.bat
-    echo "set GNC_MODULE_PATH=${GNUCASH_DIR}\\lib\\gnucash" >> gnucash.bat
-    echo "set GUILE_LOAD_PATH=${GWRAP_DIR}\\share\\guile\\site;${GNUCASH_DIR}\\share\\gnucash\\guile-modules;${GNUCASH_DIR}\\share\\gnucash\\scm;%GUILE_LOAD_PATH%" >> gnucash.bat
-    echo "start gnucash-bin" >> gnucash.bat
-    qpopd
-}
-
-function finish() {
-    _NEW=x
-    for _ENV in $ENV_VARS; do
-	_ADDS=`eval echo '"\$'"${_ENV}"'_ADDS"'`
-	if [ "$_ADDS" ]; then
-	    if [ "$_NEW" ]; then
-		echo
-		echo "Environment variables changed, please do the following"
-		echo
-		_NEW=
-	    fi
-	    _VAL=`eval echo '"$'"${_ENV}_BASE"'"'`
-	    if [ "$_VAL" ]; then
-		_CHANGE="export ${_ENV}=\"${_ADDS}"'$'"${_ENV}\""
-	    else
-		_CHANGE="export ${_ENV}=\"${_ADDS}\""
-	    fi
-	    echo $_CHANGE
-	    echo echo "'${_CHANGE}' >> /etc/profile.d/installer.sh"
-	fi
-    done
-}
-
-prepare
-for step in "${steps[@]}" ; do
-    eval $step
-done
-finish
-qpopd
-
-
-### Local Variables: ***
-### sh-basic-offset: 4 ***
-### tab-width: 8 ***
-### End: ***
+#!/bin/sh
+
+set -e
+
+function add_step() { steps=("${steps[@]}" "$@"); }
+function qpushd() { pushd "$@" >/dev/null; }
+function qpopd() { popd >/dev/null; }
+
+# c:/dir/sub
+function win_fs_path() {
+    echo "$*" | sed 's,\\,/,g'
+}
+
+# /c/dir/sub
+function unix_path() {
+    echo "$*" | sed 's,^\([A-Za-z]\):,/\1,;s,\\,/,g'
+}
+
+qpushd "$(dirname $(unix_path "$0"))"
+. custom.sh
+
+SEPS_ACLOCAL_FLAGS=" "
+SEPS_AUTOTOOLS_CPPFLAGS=" "
+SEPS_AUTOTOOLS_LDFLAGS=" "
+SEPS_GNOME_CPPFLAGS=" "
+SEPS_GNOME_LDFLAGS=" "
+SEPS_GUILE_LOAD_PATH=";"
+SEPS_GUILE_CPPFLAGS=" "
+SEPS_GUILE_LDFLAGS=" "
+SEPS_INTLTOOL_PERL=" "
+SEPS_PATH=":"
+SEPS_PKG_CONFIG_PATH=":"
+SEPS_READLINE_CPPFLAGS=" "
+SEPS_READLINE_LDFLAGS=" "
+SEPS_REGEX_CPPFLAGS=" "
+SEPS_REGEX_LDFLAGS=" "
+ENV_VARS="\
+ACLOCAL_FLAGS \
+AUTOTOOLS_CPPFLAGS \
+AUTOTOOLS_LDFLAGS \
+GNOME_CPPFLAGS \
+GNOME_LDFLAGS \
+GUILE_LOAD_PATH \
+GUILE_CPPFLAGS \
+GUILE_LDFLAGS \
+INTLTOOL_PERL \
+PATH \
+PKG_CONFIG_PATH \
+READLINE_CPPFLAGS \
+READLINE_LDFLAGS \
+REGEX_CPPFLAGS \
+REGEX_LDFLAGS \
+"
+
+function setup() {
+    echo
+    echo "############################################################"
+    echo "###  $*"
+    echo "############################################################"
+}
+
+function die() {
+    echo
+    echo "!!! $* !!!"
+    echo "!!! ABORTING !!!"
+    exit -1
+}
+
+function quiet() { "$@" &>/dev/null; }
+function add_to_env() {
+    _SEP=`eval echo '"$'"SEPS_$2"'"'`
+    _ENV=`eval echo '"$'"$2"'"'`
+    _SED=`eval echo '"s#.*'"${_SEP}$1${_SEP}"'.*##"'`
+    _TEST=`echo "${_SEP}${_ENV}${_SEP}" | sed "${_SED}"`
+    if [ "$_TEST" ]; then
+	if [ "$_ENV" ]; then
+	    eval "$2_ADDS"'="'"$1${_SEP}"'$'"$2_ADDS"'"'
+	else
+	    eval "$2_ADDS"'="'"$1"'"'
+	fi
+	eval "$2"'="$'"$2_ADDS"'$'"$2_BASE"'"'
+    fi
+}
+
+function prepare() {
+    mkdir -p $TMP_DIR
+    mkdir -p $DOWNLOAD_DIR
+    for _ENV in $ENV_VARS; do
+	eval "${_ENV}_BASE"'=$'"${_ENV}"
+	eval "${_ENV}_ADDS="
+	eval export "${_ENV}"
+    done
+    DOWNLOAD_UDIR=`unix_path $DOWNLOAD_DIR`
+    TMP_UDIR=`unix_path $TMP_DIR`
+}
+
+# usage:  smart_wget URL DESTDIR
+function smart_wget() {
+    _FILE=`basename $1`
+    _DLD=`unix_path $2`
+
+    # If the file already exists in the download directory ($2)
+    # then don't do anything.  But if it does NOT exist then
+    # download the file to the tmpdir and then when that completes
+    # move it to the dest dir.
+    if [ ! -f $_DLD/$_FILE ] ; then
+	wget -c $1 -P $TMP_DIR
+	mv $TMP_UDIR/$_FILE $_DLD
+    fi
+    LAST_FILE=$_DLD/$_FILE
+}
+
+# usage:  wget_unpacked URL DOWNLOAD_DIR UNPACK_DIR
+function wget_unpacked() {
+    smart_wget $1 $2
+    _UPD=`unix_path $3`
+    echo -n "Extracting ${LAST_FILE##*/} ... "
+    case $LAST_FILE in
+        *.zip)     unzip -q -o $LAST_FILE -d $_UPD;;
+        *.tar.gz)  tar -xzpf $LAST_FILE -C $_UPD;;
+        *.tar.bz2) tar -xjpf $LAST_FILE -C $_UPD;;
+        *)         die "Cannot unpack file $LAST_FILE!";;
+    esac
+    echo "done"
+}
+
+function inst_wget() {
+    setup Wget
+    _WGET_UDIR=`unix_path $WGET_DIR`
+    if quiet $_WGET_UDIR/wget --version || quiet wget --version
+    then
+        echo "already installed.  skipping."
+    else
+        mkdir -p $WGET_DIR
+        tar -xjpf $DOWNLOAD_UDIR/wget*.tar.bz2 -C $WGET_DIR
+        cp $_WGET_UDIR/*/*/wget.exe $WGET_DIR
+    fi
+    add_to_env $_WGET_UDIR PATH
+    quiet wget --version || die "wget unavailable"
+}
+
+function inst_dtk() {
+    setup MSYS DTK
+    if quiet perl --help
+    then
+        echo "msys dtk already installed.  skipping."
+    else
+        smart_wget $DTK_URL $DOWNLOAD_DIR
+        echo "!!! When asked for an installation path, specify $MSYS_DIR !!!"
+        $LAST_FILE
+        for file in \
+	    /bin/{aclocal*,auto*,ifnames,libtool*,guile*} \
+	    /share/{aclocal,aclocal-1.7,autoconf,autogen,automake-1.7,guile,libtool}
+        do
+            [ "${file##*.bak}" ] || continue
+            _dst_file=$file.bak
+            while [ -e $_dst_file ]; do _dst_file=$_dst_file.bak; done
+            mv $file $_dst_file
+        done
+    fi
+    quiet perl --help || die "msys dtk not installed correctly"
+}
+
+function inst_mingw() {
+    setup MinGW
+    if quiet ${CC} --version
+    then
+        echo "mingw already installed.  skipping."
+    else
+        _MINGW_WFSDIR=`win_fs_path $MINGW_DIR`
+        smart_wget $MINGW_URL $DOWNLOAD_DIR
+        echo "!!! Install g++ !!!"
+        echo "!!! When asked for an installation path, specify $MINGW_DIR !!!"
+        $LAST_FILE
+        (echo "y"; echo "y"; echo "$_MINGW_WFSDIR") | sh pi.sh
+    fi
+    quiet ${CC} --version && quiet ${LD} --help || die "mingw not installed correctly"
+}
+
+function inst_unzip() {
+    setup Unzip
+    _UNZIP_UDIR=`unix_path $UNZIP_DIR`
+    if quiet $_UNZIP_UDIR/bin/unzip --help || quiet unzip --help
+    then
+        echo "unzip already installed.  skipping."
+    else
+        smart_wget $UNZIP_URL $DOWNLOAD_DIR
+        echo "!!! When asked for an installation path, specify $UNZIP_DIR !!!"
+        $LAST_FILE
+    fi
+    add_to_env $_UNZIP_UDIR/bin PATH
+    quiet unzip --help || die "unzip unavailable"
+}
+
+function inst_regex() {
+    setup RegEx
+    _REGEX_UDIR=`unix_path $REGEX_DIR`
+    add_to_env -I$_REGEX_UDIR/include REGEX_CPPFLAGS
+    add_to_env -L$_REGEX_UDIR/lib REGEX_LDFLAGS
+    add_to_env $_REGEX_UDIR/bin PATH
+    if quiet ${LD} $REGEX_LDFLAGS -lregex -o $TMP_UDIR/ofile
+    then
+        echo "regex already installed.  skipping."
+    else
+        mkdir -p $REGEX_DIR
+        wget_unpacked $REGEX_BIN_URL $DOWNLOAD_DIR $REGEX_DIR
+        wget_unpacked $REGEX_LIB_URL $DOWNLOAD_DIR $REGEX_DIR
+    fi
+    quiet ${LD} $REGEX_LDFLAGS -lregex -o $TMP_UDIR/ofile || die "regex not installed correctly"
+}
+
+function inst_readline() {
+    setup Readline
+    _READLINE_UDIR=`unix_path $READLINE_DIR`
+    add_to_env -I$_READLINE_UDIR/include READLINE_CPPFLAGS
+    add_to_env -L$_READLINE_UDIR/lib READLINE_LDFLAGS
+    add_to_env $_READLINE_UDIR/bin PATH
+    if quiet ${LD} $READLINE_LDFLAGS -lreadline -o $TMP_UDIR/ofile
+    then
+        echo "readline already installed.  skipping."
+    else
+        mkdir -p $READLINE_DIR
+        wget_unpacked $READLINE_BIN_URL $DOWNLOAD_DIR $READLINE_DIR
+        wget_unpacked $READLINE_LIB_URL $DOWNLOAD_DIR $READLINE_DIR
+    fi
+    quiet ${LD} $READLINE_LDFLAGS -lreadline -o $TMP_UDIR/ofile || die "readline not installed correctly"
+}
+
+function inst_indent() {
+    setup Indent
+    _INDENT_UDIR=`unix_path $INDENT_DIR`
+    add_to_env $_INDENT_UDIR/bin PATH
+    if quiet which indent
+    then
+        echo "indent already installed.  skipping."
+    else
+        mkdir -p $INDENT_DIR
+        wget_unpacked $INDENT_BIN_URL $DOWNLOAD_DIR $INDENT_DIR
+    fi
+    quiet which indent || die "indent unavailable"
+}
+
+function inst_active_perl() {
+    setup ActivePerl \(intltool\)
+    _ACTIVE_PERL_WFSDIR=`win_fs_path $ACTIVE_PERL_DIR`
+    add_to_env $_ACTIVE_PERL_WFSDIR/bin/perl INTLTOOL_PERL
+    if quiet $INTLTOOL_PERL --help
+    then
+        echo "ActivePerl already installed.  skipping."
+    else
+        wget_unpacked $ACTIVE_PERL_URL $DOWNLOAD_DIR $ACTIVE_PERL_DIR
+        # this is the first of several bad hacks
+        # it would be much more natural to have a sort of -p flag like for `patch'
+        # please deuglify me
+        qpushd $ACTIVE_PERL_DIR
+            cp -r ActivePerl/Perl/* .
+            rm -rf ActivePerl
+        qpopd
+    fi
+    quiet $INTLTOOL_PERL --help || die "ActivePerl not installed correctly"
+}
+
+function inst_guile() {
+    setup Guile
+    _GUILE_WFSDIR=`win_fs_path $GUILE_DIR`
+    _GUILE_UDIR=`unix_path $GUILE_DIR`
+    add_to_env -I$_GUILE_UDIR/include GUILE_CPPFLAGS
+    add_to_env -L$_GUILE_UDIR/lib GUILE_LDFLAGS
+    add_to_env $_GUILE_UDIR/bin PATH
+    if quiet guile -c '(use-modules (srfi srfi-39))' &&
+        quiet guile -c "(use-modules (ice-9 slib)) (require 'printf)"
+    then
+        echo "guile and slib already installed.  skipping."
+    else
+        smart_wget $GUILE_URL $DOWNLOAD_DIR
+        smart_wget $SLIB_URL $DOWNLOAD_DIR
+        tar -xzpf $DOWNLOAD_UDIR/guile-*.tar.gz -C $TMP_UDIR
+        qpushd $TMP_UDIR/guile-*
+            qpushd ice-9
+                cp boot-9.scm boot-9.scm.bak
+                cat boot-9.scm.bak | sed '/SIGBUS/d' > boot-9.scm
+            qpopd
+            qpushd libguile
+                cp fports.c fports.c.bak
+                cat fports.c.bak | sed 's,#elif defined (FIONREAD),#elif 0,' > fports.c
+                cp load.c load.c.bak
+                cat load.c.bak | sed '/scan !=/s,:,;,' > load.c
+            qpopd
+            qpushd libguile-ltdl
+                cp raw-ltdl.c raw-ltdl.c.bak
+                cat raw-ltdl.c.bak | sed 's,\(SCMLTSTATIC\) LT_GLOBAL_DATA,\1,' > raw-ltdl.c
+                touch upstream/ltdl.c.diff
+            qpopd
+            ./configure ${HOST_XCOMPILE} \
+	        --disable-elisp \
+	        --disable-networking \
+	        --disable-dependency-tracking \
+	        --disable-libtool-lock \
+	        --disable-linuxthreads \
+	        -C --prefix=$_GUILE_WFSDIR \
+	        ac_cv_func_regcomp_rx=yes \
+	        CPPFLAGS="${READLINE_CPPFLAGS} ${REGEX_CPPFLAGS}" \
+	        LDFLAGS="-lwsock32 ${READLINE_LDFLAGS} ${REGEX_LDFLAGS} -lregex"
+	    cp config.status config.status.bak
+	    cat config.status.bak | sed 's# fileblocks[$.A-Za-z]*,#,#' > config.status
+	    ./config.status
+	    qpushd guile-config
+	      cp Makefile Makefile.bak
+	      cat Makefile.bak | sed '/-bindir-/s,:,^,g' > Makefile
+	    qpopd
+	    make LDFLAGS="-lwsock32 ${READLINE_LDFLAGS} ${REGEX_LDFLAGS} -lregex -no-undefined"
+	    make install
+	qpopd
+	qpushd $GUILE_DIR/bin
+	    mv libguilereadline-v-12-12.dll libguilereadline-v-12.dll
+	    mv libguile-srfi-srfi-4-v-1-1.dll libguile-srfi-srfi-4-v-1.dll
+	    mv libguile-srfi-srfi-13-14-v-1-1.dll libguile-srfi-srfi-13-14-v-1.dll
+	qpopd
+        _GUILE_MAJOR=`echo $_GUILE_UDIR/share/guile/1.* | sed 's,.*/,,'`
+	_SLIB_DIR=$GUILE_DIR\\share\\guile\\$_GUILE_MAJOR
+	mkdir -p $_SLIB_DIR
+	unzip $DOWNLOAD_DIR/slib*.zip -d $_SLIB_DIR
+	qpushd $_SLIB_DIR/slib
+	    cp guile.init guile.init.bak
+            sed '/lambda.*'"'"'unix/a\
+(define software-type (lambda () '"'"'ms-dos))' guile.init.bak > guile.init
+	qpopd
+    fi
+    if test x$cross_compile != xyes ; then
+	add_to_env "-I $_GUILE_UDIR/share/aclocal" ACLOCAL_FLAGS
+    fi
+    guile -c '(use-modules (srfi srfi-39))' &&
+    guile -c "(use-modules (ice-9 slib)) (require 'printf)" || die "guile not installed correctly"
+}
+
+function inst_openssl() {
+    setup OpenSSL
+    if [ -f $WINDIR\\system32\\libssl32.dll ]
+    then
+        echo "openssl already installed.  skipping."
+    else
+        smart_wget $OPENSSL_URL $DOWNLOAD_DIR
+	echo "!!! When asked for an installation path, specify $OPENSSL_DIR !!!"
+        $LAST_FILE
+    fi
+    [ -f $WINDIR\\system32\\libssl32.dll ] || die "openssl not installed correctly"
+}
+
+function inst_pexports() {
+    setup pexports
+    _PEXPORTS_UDIR=`unix_path $PEXPORTS_DIR`
+    add_to_env $_PEXPORTS_UDIR/bin PATH
+    if quiet which pexports
+    then
+        echo "pexports already installed.  skipping."
+    else
+        wget_unpacked $PEXPORTS_URL $DOWNLOAD_DIR $PEXPORTS_DIR
+        qpushd $PEXPORTS_DIR
+	    mv pexports-* mydir
+	    mv mydir/* .
+	    rmdir mydir
+	    if test x$cross_compile = xyes ; then
+		cd src
+		make
+		cp pexports.exe ../bin/pexports
+	    fi
+        qpopd
+    fi
+    quiet which pexports || die "pexports unavailable"
+}
+
+function inst_libxml2() {
+    setup LibXML2
+    _LIBXML2_UDIR=`unix_path $LIBXML2_DIR`
+    if quiet ${LD} -L$_LIBXML2_UDIR/lib -lxml2 -o $TMP_UDIR/ofile
+    then
+        echo "libxml2 already installed.  skipping."
+    else
+        wget_unpacked $LIBXML2_URL $DOWNLOAD_DIR $LIBXML2_DIR
+        qpushd $LIBXML2_DIR
+            mv libxml2-* mydir
+            cp -r mydir/* .
+            rm -rf mydir
+            pexports bin/libxml2.dll > libxml2.def
+            ${DLLTOOL} --input-def libxml2.def --output-lib lib/libxml2.a
+            rm libxml2.def
+            _LIBXML2_VERSION=`echo $LAST_FILE | sed 's#.*libxml2-\(.*\).win32.zip#\1#'`
+            mkdir -p lib/pkgconfig
+            cat > lib/pkgconfig/libxml-2.0.pc <<EOF
+prefix=/ignore
+exec_prefix=\${prefix}
+libdir=\${exec_prefix}/lib
+includedir=\${prefix}/include
+
+Name: libXML
+Version: $_LIBXML2_VERSION
+Description: libXML library version2.
+Requires:
+Libs: -L\${libdir} -lxml2 -lz
+Cflags: -I\${includedir}
+EOF
+        qpopd
+    fi
+    quiet ${LD} -L$_LIBXML2_UDIR/lib -lxml2 -o $TMP_UDIR/ofile || die "libxml2 not installed correctly"
+}
+
+function inst_expat() {
+    setup Expat
+    _EXPAT_UDIR=`unix_path $EXPAT_DIR`
+    add_to_env $_EXPAT_UDIR/bin PATH
+    if quiet which xmlwf
+    then
+        echo "expat already installed.  skipping."
+    else
+        wget_unpacked $EXPAT_URL $DOWNLOAD_DIR $EXPAT_DIR
+        qpushd $EXPAT_DIR
+            cp -r expat/* .
+            rm -rf expat
+        qpopd
+    fi
+    quiet which xmlwf || die "expat not installed correctly"
+}
+
+function inst_gnome() {
+    setup Gnome platform
+    _GNOME_UDIR=`unix_path $GNOME_DIR`
+    add_to_env -I$_GNOME_UDIR/include GNOME_CPPFLAGS
+    add_to_env -L$_GNOME_UDIR/lib GNOME_LDFLAGS
+    add_to_env $_GNOME_UDIR/bin PATH
+    add_to_env $_GNOME_UDIR/lib/pkgconfig PKG_CONFIG_PATH
+    add_to_env "-I $_GNOME_UDIR/share/aclocal" ACLOCAL_FLAGS
+    if quiet gconftool-2 --version &&
+        pkg-config --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 libgnomeprint-2.2 libgnomeprintui-2.2 libgtkhtml-3.8 &&
+        quiet intltoolize --version
+    then
+        echo "gnome packages installed.  skipping."
+    else
+        mkdir -p $GNOME_DIR
+	wget_unpacked $GETTEXT_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $GETTEXT_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBICONV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $GLIB_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $GLIB_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBJPEG_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBPNG_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $ZLIB_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $PKG_CONFIG_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $CAIRO_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $CAIRO_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $FONTCONFIG_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $FONTCONFIG_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $FREETYPE_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $FREETYPE_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $ATK_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $ATK_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $PANGO_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $PANGO_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBART_LGPL_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBART_LGPL_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $GTK_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $GTK_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $INTLTOOL_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $ORBIT2_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $ORBIT2_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $GAIL_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $GAIL_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $POPT_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $POPT_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $GCONF_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $GCONF_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBBONOBO_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBBONOBO_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $GNOME_VFS_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $GNOME_VFS_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBGNOME_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBGNOME_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBGNOMECANVAS_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBGNOMECANVAS_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBBONOBOUI_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBBONOBOUI_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBGNOMEUI_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBGNOMEUI_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBGLADE_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBGLADE_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBGNOMEPRINT_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBGNOMEPRINT_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBGNOMEPRINTUI_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $LIBGNOMEPRINTUI_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $GTKHTML_URL $DOWNLOAD_DIR $GNOME_DIR
+	wget_unpacked $GTKHTML_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        qpushd $GNOME_DIR
+            [ -f bin/zlib1.dll ] || mv zlib1.dll bin
+            if [ ! -f lib/libz.dll.a ]; then
+                qpushd bin
+                    ${DLLTOOL} -D zlib1.dll -d ../lib/zlib.def -l libz.dll.a
+                    mv libz.dll.a ../lib
+                qpopd
+            fi
+            [ -f bin/libintl-2.dll ] || cp bin/intl.dll bin/libintl-2.dll
+            _FREETYPE_VERSION=`echo $FREETYPE_DEV_URL | sed 's#.*freetype-\(.*\)-lib.zip#\1#'`
+            cat > lib/pkgconfig/freetype2.pc <<EOF
+prefix=/ignore
+exec_prefix=\${prefix}
+libdir=\${exec_prefix}/lib
+includedir=\${prefix}/include
+
+Name: FreeType 2
+Description: A free, high-quality, and portable font engine.
+Version: $_FREETYPE_VERSION
+Requires:
+Libs: -L\${libdir} -lfreetype -lz
+Cflags: -I\${includedir}/freetype2
+EOF
+        qpopd
+    fi
+    if test x$cross_compile = xyes ; then
+        qpushd $GNOME_DIR/lib/pkgconfig
+	    perl -pi.bak -e"s!^prefix=.*\$!prefix=$GNOME_DIR!" *.pc
+	    #perl -pi.bak -e's!^Libs: !Libs: -L\${prefix}/bin !' *.pc
+	qpopd
+	# Latest gnome-dev packages don't ship with *.la files
+	# anymore. What do we do...?
+        #qpushd $GNOME_DIR/bin
+	#    for A in *-0.dll; do ln -sf $A `echo $A|sed 's/\(.*\)-0.dll/\1.dll/'`; done
+	#qpopd
+    fi
+    quiet gconftool-2 --version &&
+    pkg-config --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 libgnomeprint-2.2 libgnomeprintui-2.2 libgtkhtml-3.8 &&
+    quiet intltoolize --version || die "gnome not installed correctly"
+}
+
+function inst_gwrap() {
+    setup G-Wrap
+    _GWRAP_WFSDIR=`win_fs_path $GWRAP_DIR`
+    _GWRAP_UDIR=`unix_path $GWRAP_DIR`
+    add_to_env $_GWRAP_UDIR/bin PATH
+    add_to_env $_GWRAP_WFSDIR/share/guile/site GUILE_LOAD_PATH
+    if quiet g-wrap-config --version
+    then
+        echo "g-wrap already installed.  skipping."
+    else
+        wget_unpacked $GWRAP_URL $DOWNLOAD_DIR $TMP_DIR
+        qpushd $TMP_UDIR/g-wrap-*
+            qpushd g-wrap
+                cp core-runtime.c core-runtime.c.bak
+                cat core-runtime.c.bak | sed '/vasprintf/d' > core-runtime.c
+            qpopd
+            cp configure configure.bak
+            cat configure.bak | sed 's,"glib","glib-2.0",g' > configure
+            ./configure ${HOST_XCOMPILE} \
+		CPPFLAGS="${GUILE_CPPFLAGS}" \
+		LDFLAGS="${GUILE_LDFLAGS}" \
+                --prefix=$_GWRAP_WFSDIR \
+                --with-modules-dir=`echo $GWRAP_DIR | sed 's#\\\\#\\\\\\\\#g'`\\\\share\\\\guile\\\\site
+            qpushd guile/g-wrap/gw
+                cp Makefile Makefile.bak
+                cat Makefile.bak | sed '/^libgw_guile_standard_la_LIBADD/s,$, ../../../libffi/libffi.la ../../../g-wrap/libgwrap-core-runtime.la,;/libgw_guile_gw_glib_la_LIBADD/s,$, ../../../g-wrap/libgwrap-core-runtime.la,' > Makefile
+                make standard.c gw-glib.c
+                cp standard.scm standard.scm.bak
+                cat standard.scm.bak | sed 's,"\(libgw-guile-standard\)","../lib/\1-0",' > standard.scm
+                cp gw-glib.scm gw-glib.scm.bak
+                cat gw-glib.scm.bak | sed 's,"\(libgw-guile-gw-glib\)","../lib/\1-0",' > gw-glib.scm
+            qpopd
+            qpushd guile/test
+                cp Makefile Makefile.bak
+                cat Makefile.bak | sed '/^std_libs/s,\\$, ../../libffi/libffi.la \\,' > Makefile
+            qpopd
+            make LDFLAGS="-no-undefined"
+	    qpushd guile/g-wrap
+		# Fix the filenames of the to be loaded DLLs
+		cp guile.scm guile.scm.bak
+		sed "s/slot-ref wrapset 'shlib-path) \"\\\\\"))/slot-ref wrapset 'shlib-path) \"-0\\\\\"))/" guile.scm.bak > guile.scm
+	    qpopd
+            make install
+        qpopd
+    fi    
+    add_to_env $_GWRAP_UDIR/lib/pkgconfig PKG_CONFIG_PATH
+    guile -c '(use-modules (srfi srfi-39))' &&
+    quiet g-wrap-config --version || die "g-wrap not installed correctly"
+}
+
+function inst_autotools() {
+    setup Autotools
+    _AUTOTOOLS_UDIR=`unix_path $AUTOTOOLS_DIR`
+    add_to_env $_AUTOTOOLS_UDIR/bin PATH
+    if quiet autoconf --help && quiet automake --help
+    then
+        echo "autoconf/automake already installed.  skipping."
+    else
+        wget_unpacked $AUTOCONF_URL $DOWNLOAD_DIR $TMP_DIR
+        wget_unpacked $AUTOMAKE_URL $DOWNLOAD_DIR $TMP_DIR
+        qpushd $TMP_UDIR/autoconf-*
+            echo "building autoconf..."
+           ./configure --prefix=$_AUTOTOOLS_UDIR
+            make
+            make install
+        qpopd
+        qpushd $TMP_UDIR/automake-*
+            echo "building automake..."
+            ./configure --prefix=$_AUTOTOOLS_UDIR
+            make
+            make install
+        qpopd
+    fi
+    if quiet ${LIBTOOLIZE} --help 
+    then
+        echo "libtool/libtoolize already installed.  skipping."
+    else
+        wget_unpacked $LIBTOOL_URL $DOWNLOAD_DIR $TMP_DIR
+        qpushd $TMP_UDIR/libtool-*
+            echo "building libtool..."
+            ./configure ${HOST_XCOMPILE} --prefix=$_AUTOTOOLS_UDIR
+            make
+            make install
+        qpopd
+    fi
+    add_to_env -I$_AUTOTOOLS_UDIR/include AUTOTOOLS_CPPFLAGS
+    add_to_env -L$_AUTOTOOLS_UDIR/lib AUTOTOOLS_LDFLAGS
+    add_to_env "-I $_AUTOTOOLS_UDIR/share/aclocal" ACLOCAL_FLAGS
+    quiet autoconf --help &&
+    quiet automake --help &&
+    quiet ${LIBTOOLIZE} --help || die "autotools not installed correctly"
+}
+
+function inst_libgsf() {
+    setup libGSF
+    _LIBGSF_UDIR=`unix_path $LIBGSF_DIR`
+    add_to_env $_LIBGSF_UDIR/bin PATH
+    add_to_env $_LIBGSF_UDIR/lib/pkgconfig PKG_CONFIG_PATH
+    if quiet pkg-config --exists libgsf-1 libgsf-gnome-1
+    then
+	echo "libgsf already installed.  skipping."
+    else
+	wget_unpacked $LIBGSF_URL $DOWNLOAD_DIR $TMP_DIR
+	qpushd $TMP_UDIR/libgsf-*
+	    ./configure ${HOST_XCOMPILE} --prefix=$_LIBGSF_UDIR \
+	    CPPFLAGS="${GNOME_CPPFLAGS}" \
+	    LDFLAGS="${GNOME_LDFLAGS}"
+	    make
+	    make install
+	qpopd
+    fi
+    pkg-config --exists libgsf-1 libgsf-gnome-1 || die "libgsf not installed correctly"
+}
+
+function inst_goffice() {
+    setup GOffice
+    _GOFFICE_UDIR=`unix_path $GOFFICE_DIR`
+    add_to_env $_GOFFICE_UDIR/lib/pkgconfig PKG_CONFIG_PATH
+    if quiet pkg-config --exists libgoffice-0.3
+    then
+	echo "goffice already installed.  skipping."
+    else
+	wget_unpacked $GOFFICE_URL $DOWNLOAD_DIR $TMP_DIR
+	mydir=`pwd`
+	qpushd $TMP_UDIR/goffice-*
+	    [ -n "$GOFFICE_PATCH" -a -f "$GOFFICE_PATCH" ] && \
+		patch -p1 < $GOFFICE_PATCH
+	    ${LIBTOOLIZE} --force
+	    aclocal ${ACLOCAL_FLAGS}
+	    automake
+	    autoconf
+	    ./configure ${HOST_XCOMPILE} --prefix=$_GOFFICE_UDIR \
+	    CPPFLAGS="${GNOME_CPPFLAGS}" \
+	    LDFLAGS="${GNOME_LDFLAGS}"
+	    [ -f dumpdef.pl ] || cp -p ../libgsf-*/dumpdef.pl .
+	    make
+	    make install
+	qpopd
+    fi
+    pkg-config --exists libgoffice-0.3 || die "goffice not installed correctly"
+}
+
+function inst_glade() {
+    setup Glade
+    _GLADE_UDIR=`unix_path $GLADE_DIR`
+    _GLADE_WFSDIR=`win_fs_path $GLADE_DIR`
+    add_to_env $_GLADE_UDIR/bin PATH
+    if quiet glade-3 --version
+    then
+        echo "glade already installed.  skipping."
+    else
+        wget_unpacked $GLADE_URL $DOWNLOAD_DIR $TMP_DIR
+        qpushd $TMP_UDIR/glade3-*
+            ./configure ${HOST_XCOMPILE} --prefix=$_GLADE_WFSDIR
+            make
+            make install
+        qpopd
+    fi
+    quiet glade-3 --version || die "glade not installed correctly"
+}
+
+function inst_svn() {
+    setup Subversion
+    _SVN_UDIR=`unix_path $SVN_DIR`
+    export PATH="$_SVN_UDIR/bin:$PATH"
+    if quiet svn --version
+    then
+        echo "subversion already installed.  skipping."
+    else
+        smart_wget $SVN_URL $DOWNLOAD_DIR
+        echo "!!! When asked for an installation path, specify $SVN_DIR !!!"
+        $LAST_FILE
+    fi
+}
+
+function svn_up() {
+    mkdir -p $REPOS_DIR
+    qpushd $REPOS_DIR
+    if [ -x .svn ]; then
+	setup svn up
+	svn up
+    else
+	setup svn co
+	svn co $REPOS_URL .
+    fi
+    qpopd
+}
+
+function inst_gnucash() {
+    setup GnuCash
+    _GNUCASH_WFSDIR=`win_fs_path $GNUCASH_DIR`
+    _GNUCASH_UDIR=`unix_path $GNUCASH_DIR`
+    qpushd $REPOS_DIR
+    if grep "GUILE_LOAD_PATH.*:" configure.in; then
+        cp configure.in configure.in.bak
+        cat configure.in.bak | sed '/GUILE_LOAD_PATH/s,:,;,g' > configure.in
+    fi
+    ./autogen.sh
+    ./configure ${HOST_XCOMPILE} \
+	--prefix=$_GNUCASH_WFSDIR \
+	--enable-debug \
+	--enable-schemas-install=no \
+	CPPFLAGS="${AUTOTOOLS_CPPFLAGS} ${REGEX_CPPFLAGS} ${GNOME_CPPFLAGS} ${GUILE_CPPFLAGS} -D_WIN32" \
+	LDFLAGS="${AUTOTOOLS_LDFLAGS} ${REGEX_LDFLAGS} ${GNOME_LDFLAGS} ${GUILE_LDFLAGS}" \
+	PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+
+    # Windows DLLs don't need relinking
+    cp ltmain.sh ltmain.sh.bak ; grep -v "need_relink=yes" ltmain.sh.bak > ltmain.sh
+    cp libtool libtool.bak ; grep -v "need_relink=yes" libtool.bak > libtool
+    # Exclude (for now) the test subdirectories from the build
+    # because executable linking is so painfully slow on mingw
+    perl -pi.bak -e's#^(SUBDIRS.* )test( .*)?$#\1\2#' `find src -name Makefile`
+
+    make LDFLAGS="${AUTOTOOLS_LDFLAGS} ${REGEX_LDFLAGS} ${GNOME_LDFLAGS} -no-undefined"
+
+    # Try to fix the paths in the "gnucash" script
+    qpushd src/bin
+    rm gnucash
+    make PATH_SEPARATOR=";" \
+	bindir="${_GNUCASH_UDIR}/bin:${_GNUCASH_UDIR}/lib/bin:${_GOFFICE_UDIR}/bin:${_LIBGSF_UDIR}/bin:${_GWRAP_UDIR}/bin:${_GNOME_UDIR}/bin:${_LIBXML2_UDIR}/bin:${_GUILE_UDIR}/bin:${_REGEX_UDIR}/bin" \
+	gnucash
+    qpopd
+
+    make install
+    qpopd
+
+    qpushd ${_GNUCASH_WFSDIR}/lib/gnucash
+    # Remove the dependency_libs line from the installed .la files
+    # because otherwise loading the modules literally takes hours.
+    for A in *.la; do grep -v dependency_libs $A > tmp ; mv  tmp $A; done
+    qpopd
+
+    qpushd ${_GNUCASH_WFSDIR}/etc/gconf/schemas
+    for file in *.schemas; do
+        gconftool-2 \
+            --config-source=xml:merged:${_GNUCASH_WFSDIR}/etc/gconf/gconf.xml.defaults \
+            --install-schema-file $file
+    done
+    gconftool-2 --shutdown
+    qpopd
+
+    # Create a startup script that works without the msys shell
+    qpushd ${_GNUCASH_WFSDIR}/bin
+    echo "set PATH=${GNUCASH_DIR}\\bin;${GNUCASH_DIR}\\lib\\bin;${GOFFICE_DIR}\\bin;${LIBGSF_DIR}\\bin;${GWRAP_DIR}\\bin;${GNOME_DIR}\\bin;${LIBXML2_DIR}\\bin;${GUILE_DIR}\\bin;${REGEX_DIR}\\bin;${AUTOTOOLS_DIR}\\bin" > gnucash.bat
+    echo "set GUILE_WARN_DEPRECATED=no" >> gnucash.bat
+    echo "set GNC_MODULE_PATH=${GNUCASH_DIR}\\lib\\gnucash" >> gnucash.bat
+    echo "set GUILE_LOAD_PATH=${GWRAP_DIR}\\share\\guile\\site;${GNUCASH_DIR}\\share\\gnucash\\guile-modules;${GNUCASH_DIR}\\share\\gnucash\\scm;%GUILE_LOAD_PATH%" >> gnucash.bat
+    echo "start gnucash-bin" >> gnucash.bat
+    qpopd
+}
+
+function finish() {
+    _NEW=x
+    for _ENV in $ENV_VARS; do
+	_ADDS=`eval echo '"\$'"${_ENV}"'_ADDS"'`
+	if [ "$_ADDS" ]; then
+	    if [ "$_NEW" ]; then
+		echo
+		echo "Environment variables changed, please do the following"
+		echo
+		_NEW=
+	    fi
+	    _VAL=`eval echo '"$'"${_ENV}_BASE"'"'`
+	    if [ "$_VAL" ]; then
+		_CHANGE="export ${_ENV}=\"${_ADDS}"'$'"${_ENV}\""
+	    else
+		_CHANGE="export ${_ENV}=\"${_ADDS}\""
+	    fi
+	    echo $_CHANGE
+	    echo echo "'${_CHANGE}' >> /etc/profile.d/installer.sh"
+	fi
+    done
+}
+
+prepare
+for step in "${steps[@]}" ; do
+    eval $step
+done
+finish
+qpopd
+
+
+### Local Variables: ***
+### sh-basic-offset: 4 ***
+### tab-width: 8 ***
+### End: ***



More information about the gnucash-changes mailing list