r15306 - gnucash/branches/reshuffle-modules - Merge trunk 15227:15305 into reshuffle-modules.

Andreas Köhler andi5 at cvs.gnucash.org
Wed Jan 3 03:31:36 EST 2007


Author: andi5
Date: 2007-01-03 03:31:13 -0500 (Wed, 03 Jan 2007)
New Revision: 15306
Trac: http://svn.gnucash.org/trac/changeset/15306

Modified:
   gnucash/branches/reshuffle-modules/lib/libqof/qof/Makefile.am
   gnucash/branches/reshuffle-modules/lib/libqof/qof/qofmath128.c
   gnucash/branches/reshuffle-modules/macros/ac_pkg_swig.m4
   gnucash/branches/reshuffle-modules/packaging/win32/custom.sh
   gnucash/branches/reshuffle-modules/packaging/win32/dist.sh
   gnucash/branches/reshuffle-modules/packaging/win32/functions
   gnucash/branches/reshuffle-modules/packaging/win32/gnucash.iss.in
   gnucash/branches/reshuffle-modules/packaging/win32/install.sh
   gnucash/branches/reshuffle-modules/src/app-utils/gnc-ui-util.c
   gnucash/branches/reshuffle-modules/src/app-utils/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/backend/file/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/backend/postgres/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/bin/gnucash-bin.c
   gnucash/branches/reshuffle-modules/src/business/business-core/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/calculation/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/engine/kvp-scm.c
   gnucash/branches/reshuffle-modules/src/engine/test-core/Makefile.am
   gnucash/branches/reshuffle-modules/src/engine/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/engine/test/test-numeric.c
   gnucash/branches/reshuffle-modules/src/gnc-module/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/gnc-module/test/misc-mods/Makefile.am
   gnucash/branches/reshuffle-modules/src/gnc-module/test/mod-bar/Makefile.am
   gnucash/branches/reshuffle-modules/src/gnc-module/test/mod-baz/Makefile.am
   gnucash/branches/reshuffle-modules/src/gnc-module/test/mod-foo/Makefile.am
   gnucash/branches/reshuffle-modules/src/gnome-utils/Makefile.am
   gnucash/branches/reshuffle-modules/src/gnome-utils/gnc-main-window.c
   gnucash/branches/reshuffle-modules/src/gnome-utils/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/import-export/hbci/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/import-export/ofx/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/import-export/qif-import/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/import-export/qif/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/import-export/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/network-utils/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/quotes/gnc-fq-check.in
   gnucash/branches/reshuffle-modules/src/quotes/gnc-fq-update.in
   gnucash/branches/reshuffle-modules/src/register/ledger-core/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/register/register-core/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/register/register-gnome/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/report/locale-specific/us/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/report/report-gnome/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/report/report-system/test/Makefile.am
   gnucash/branches/reshuffle-modules/src/scm/price-quotes.scm
   gnucash/branches/reshuffle-modules/src/tax/us/test/Makefile.am
   gnucash/branches/reshuffle-modules/util/gnc-svnversion
Log:
Merge trunk 15227:15305 into reshuffle-modules.

Merge all changes that happened on the trunk since branching up to
r15305 onto the branch 'reshuffle-modules'. This will ease later merges
and port some interesting changes until then.


Modified: gnucash/branches/reshuffle-modules/lib/libqof/qof/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/lib/libqof/qof/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/lib/libqof/qof/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -94,3 +94,11 @@
 
 BUILT_SOURCES = qofla-dir.h
 CLEANFILES = $(BUILT_SOURCES)
+
+## For testing the qofmath128 routines
+# run "make check" (to build the test program) and then run test-qofmath
+check_PROGRAMS = test-qofmath
+test_qofmath_SOURCES=gnc-numeric.c
+test_qofmath_CPPFLAGS=$(libgncqof_la_CPPFLAGS) -DTEST_128_BIT_MULT
+test_qofmath_LDFLAGS=$(libgncqof_la_LDFLAGS)
+test_qofmath_LDADD=$(libgncqof_la_LIBADD)

Modified: gnucash/branches/reshuffle-modules/lib/libqof/qof/qofmath128.c
===================================================================
--- gnucash/branches/reshuffle-modules/lib/libqof/qof/qofmath128.c	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/lib/libqof/qof/qofmath128.c	2007-01-03 08:31:13 UTC (rev 15306)
@@ -329,10 +329,13 @@
 
 
 #ifdef TEST_128_BIT_MULT
+
 static void pr (gint64 a, gint64 b)
 {
    qofint128 prod = mult128 (a,b);
-   printf ("%" G_GINT64_FORMAT " * %" G_GINT64_FORMAT " = %" G_GUINT64_FORMAT " %" G_GUINT64_FORMAT " (0x%llx %llx) %hd\n",
+   printf ("%" G_GINT64_FORMAT " * %" G_GINT64_FORMAT " = %"
+	   G_GUINT64_FORMAT " %" G_GUINT64_FORMAT " (0x%"
+	   G_GINT64_MODIFIER "x %" G_GINT64_MODIFIER "x) %hd\n",
 	   a, b, prod.hi, prod.lo, prod.hi, prod.lo, prod.isbig);
 }
 
@@ -341,15 +344,24 @@
    qofint128 prod = mult128 (a,b);
    qofint128 quot = div128 (prod, c);
    gint64 rem = rem128 (prod, c);
-   printf ("%" G_GINT64_FORMAT " * %" G_GINT64_FORMAT " / %" G_GINT64_FORMAT " = %" G_GUINT64_FORMAT " %" G_GUINT64_FORMAT " + %" G_GINT64_FORMAT " (0x%llx %llx) %hd\n",
+   printf ("%" G_GINT64_FORMAT " * %" G_GINT64_FORMAT " / %" G_GINT64_FORMAT
+	   " = %" G_GUINT64_FORMAT " %" G_GUINT64_FORMAT " + %"
+	   G_GINT64_FORMAT " (0x%" G_GINT64_MODIFIER "x %"
+	   G_GINT64_MODIFIER "x) %hd\n",
 	   a, b, c, quot.hi, quot.lo, rem, quot.hi, quot.lo, quot.isbig);
 }
 
 int main ()
 {
+  gint64 x;
+  qofint128 n;
+  gint64 d;
+  qofint128 quot;
+  int i;
+
   pr (2,2);
 
-  gint64 x = 1<<30;
+  x = 1<<30;
   x <<= 2;
 
   pr (x,x);
@@ -366,7 +378,7 @@
   pr (x,x);
   pr (x,-x);
 
-  pr (1000000, 10000000000000);
+  pr (1000000, G_GINT64_CONSTANT(10000000000000));
 
   prd (x,x,2);
   prd (x,x,3);
@@ -384,17 +396,16 @@
   prd (1111,x,11);
 
   /* Really test division */
-  qofint128 n;
   n.hi = 0xdd91;
   n.lo = 0x6c5abefbb9e13480ULL;
 
-  gint64 d = 0x2ae79964d3ae1d04ULL;
+  d = 0x2ae79964d3ae1d04ULL;
   
-  int i;
   for (i=0; i<20; i++) {
 
-  qofint128 quot = div128 (n, d);
-  printf ("%d result = %llx %llx\n", i, quot.hi, quot.lo);
+  quot = div128 (n, d);
+  printf ("%d result = %" G_GINT64_MODIFIER "x %" G_GINT64_MODIFIER "x\n",
+	  i, quot.hi, quot.lo);
     d >>=1;
     n = shift128 (n);
   }

Modified: gnucash/branches/reshuffle-modules/macros/ac_pkg_swig.m4
===================================================================
--- gnucash/branches/reshuffle-modules/macros/ac_pkg_swig.m4	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/macros/ac_pkg_swig.m4	2007-01-03 08:31:13 UTC (rev 15306)
@@ -28,7 +28,7 @@
 AC_DEFUN([AC_PROG_SWIG],[
         AC_PATH_PROG([SWIG],[swig])
         if test -z "$SWIG" ; then
-                AC_MSG_WARN([cannot find 'swig' program. You should look at http://www.swig.org])
+                AC_MSG_ERROR([cannot find 'swig' program. You should look at http://www.swig.org])
                 SWIG='echo "Error: SWIG is not installed. You should look at http://www.swig.org" ; false'
         elif test -n "$1" ; then
                 AC_MSG_CHECKING([for SWIG version])

Modified: gnucash/branches/reshuffle-modules/packaging/win32/custom.sh
===================================================================
--- gnucash/branches/reshuffle-modules/packaging/win32/custom.sh	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/packaging/win32/custom.sh	2007-01-03 08:31:13 UTC (rev 15306)
@@ -6,9 +6,13 @@
 TMP_DIR=$GLOBAL_DIR\\tmp
 DOWNLOAD_DIR=$GLOBAL_DIR\\downloads
 
+GNUCASH_DIR=$GLOBAL_DIR\\gnucash
 REPOS_URL="http://svn.gnucash.org/repo/gnucash/trunk"
-REPOS_DIR=$GLOBAL_DIR\\repos
-GNUCASH_DIR=$GLOBAL_DIR\\gnucash
+REPOS_DIR=$GNUCASH_DIR\\repos
+# keep this pointing from BUILD_DIR to REPOS_DIR
+REL_REPOS_DIR=..\\repos
+BUILD_DIR=$GNUCASH_DIR\\build
+INSTALL_DIR=$GNUCASH_DIR\\inst
 
 ####
 cross_compile="no"
@@ -112,8 +116,8 @@
 GTK_URL="$GNOME_WIN32_URL/gtk+/2.10/gtk+-2.10.6.zip"
 GTK_DEV_URL="$GNOME_WIN32_URL/gtk+/2.10/gtk+-dev-2.10.6.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"
+ORBIT2_URL="$GNOME_WIN32_URL/ORBit2/2.13/ORBit2-2.13.3.zip"
+ORBIT2_DEV_URL="$GNOME_WIN32_URL/ORBit2/2.13/ORBit2-dev-2.13.3.zip"
 GAIL_URL="$GNOME_WIN32_URL/gail/1.9/gail-1.9.3.zip"
 GAIL_DEV_URL="$GNOME_WIN32_URL/gail/1.9/gail-dev-1.9.3.zip"
 POPT_URL="$GNOME_WIN32_DEPS_URL/popt-1.10.2-tml-20050828.zip"
@@ -156,6 +160,9 @@
 GLADE_URL="$GNOME_MIRROR/sources/glade3/3.0/glade3-3.1.2.tar.bz2"
 GLADE_DIR=$GLOBAL_DIR\\glade
 
+INNO_URL="http://files.jrsoftware.org/ispack/ispack-5.1.9.exe"
+INNO_DIR=$GLOBAL_DIR\\inno
+
 SVN_URL="http://subversion.tigris.org/files/documents/15/35379/svn-1.4.2-setup.exe"
 SVN_DIR=$GLOBAL_DIR\\svn
 
@@ -185,6 +192,9 @@
 add_step inst_libgsf
 add_step inst_goffice
 #add_step inst_glade
+if test x$cross_compile != xyes ; then
+ add_step inst_inno
+fi
 add_step inst_svn
 add_step svn_up
 add_step inst_gnucash

Modified: gnucash/branches/reshuffle-modules/packaging/win32/dist.sh
===================================================================
--- gnucash/branches/reshuffle-modules/packaging/win32/dist.sh	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/packaging/win32/dist.sh	2007-01-03 08:31:13 UTC (rev 15306)
@@ -10,14 +10,31 @@
 . functions
 . custom.sh
 
+register_env_var PATH ":"
+
 function prepare() {
-    DIST_DIR=${GNUCASH_DIR}\\dist
+    # this directory is hardcoded in gnucash.iss.in
+    DIST_DIR=${INSTALL_DIR}\\..\\dist
     DIST_UDIR=`unix_path $DIST_DIR`
     DIST_WFSDIR=`win_fs_path $DIST_DIR`
     TMP_UDIR=`unix_path $TMP_DIR`
     if [ -x $DIST_DIR ]; then
         die "Please remove ${DIST_DIR} first"
     fi
+    _UNZIP_UDIR=`unix_path $UNZIP_DIR`
+    _AUTOTOOLS_UDIR=`unix_path $AUTOTOOLS_DIR`
+    _GUILE_UDIR=`unix_path $GUILE_DIR`
+    _WIN_UDIR=`unix_path $WINDIR`
+    _LIBXML2_UDIR=`unix_path $LIBXML2_DIR`
+    _GNOME_UDIR=`unix_path $GNOME_DIR`
+    _LIBGSF_UDIR=`unix_path $LIBGSF_DIR`
+    _GOFFICE_UDIR=`unix_path $GOFFICE_DIR`
+    _GNUCASH_UDIR=`unix_path $GNUCASH_DIR`
+    _BUILD_UDIR=`unix_path $BUILD_DIR`
+    _INSTALL_UDIR=`unix_path $INSTALL_DIR`
+    _INNO_UDIR=`unix_path $INNO_DIR`
+    add_to_env $_UNZIP_UDIR/bin PATH # unzip
+    add_to_env $_GNOME_UDIR/bin PATH # gconftool-2
 }
 
 function dist_regex() {
@@ -28,37 +45,34 @@
 
 function dist_autotools() {
     setup Autotools
-    _AUTOTOOLS_UDIR=`unix_path $AUTOTOOLS_DIR`
     mkdir -p $DIST_UDIR/bin
-    cp $_AUTOTOOLS_UDIR/bin/*.dll $DIST_UDIR/bin
+    cp -a $_AUTOTOOLS_UDIR/bin/*.dll $DIST_UDIR/bin
 }
 
 function dist_guile() {
     setup Guile
-    _GUILE_UDIR=`unix_path $GUILE_DIR`
     mkdir -p $DIST_UDIR/bin
     cp -a $_GUILE_UDIR/bin/libguile{.,-ltdl.,-srfi}*dll $DIST_UDIR/bin
+    cp -a $_GUILE_UDIR/bin/guile.exe $DIST_UDIR/bin
     mkdir -p $DIST_UDIR/share
-    cp -r $_GUILE_UDIR/share/guile $DIST_UDIR/share
+    cp -a $_GUILE_UDIR/share/guile $DIST_UDIR/share
+    [ -f $DIST_UDIR/share/guile/1.6/slibcat ] && rm $DIST_UDIR/share/guile/1.6/slibcat
 }
 
 function dist_openssl() {
     setup OpenSSL
-    _WIN_UDIR=`unix_path $WINDIR`
     mkdir -p $DIST_UDIR/bin
-    cp $_WIN_UDIR/system32/lib{eay,ssl}*.dll $DIST_UDIR/bin
+    cp -a $_WIN_UDIR/system32/lib{eay,ssl}*.dll $DIST_UDIR/bin
 }
 
 function dist_libxml2() {
     setup LibXML2
-    _LIBXML2_UDIR=`unix_path $LIBXML2_DIR`
     mkdir -p $DIST_UDIR/bin
-    cp $_LIBXML2_UDIR/bin/libxml2.dll $DIST_UDIR/bin
+    cp -a $_LIBXML2_UDIR/bin/libxml2.dll $DIST_UDIR/bin
 }
 
 function dist_gnome() {
     setup Gnome platform
-    _GNOME_UDIR=`unix_path $GNOME_DIR`
     wget_unpacked $GETTEXT_URL $DOWNLOAD_DIR $DIST_DIR
     smart_wget $LIBICONV_URL $DOWNLOAD_DIR
     unzip -q $LAST_FILE bin/iconv.dll -d $DIST_DIR
@@ -95,41 +109,39 @@
 
 function dist_libgsf() {
     setup libGSF
-    _LIBGSF_UDIR=`unix_path $LIBGSF_DIR`
     mkdir -p $DIST_UDIR/bin
-    cp $_LIBGSF_UDIR/bin/libgsf*.dll $DIST_UDIR/bin
+    cp -a $_LIBGSF_UDIR/bin/libgsf*.dll $DIST_UDIR/bin
     mkdir -p $DIST_UDIR/etc/gconf/schemas
-    cp $_LIBGSF_UDIR/etc/gconf/schemas/* $DIST_UDIR/etc/gconf/schemas
+    cp -a $_LIBGSF_UDIR/etc/gconf/schemas/* $DIST_UDIR/etc/gconf/schemas
     mkdir -p $DIST_UDIR/lib
-    cp -r $_LIBGSF_UDIR/lib/locale $DIST_UDIR/lib
+    cp -a $_LIBGSF_UDIR/lib/locale $DIST_UDIR/lib
 }
 
 function dist_goffice() {
     setup GOffice
-    _GOFFICE_UDIR=`unix_path $GOFFICE_DIR`
     mkdir -p $DIST_UDIR/bin
-    cp $_GOFFICE_UDIR/bin/libgoffice*.dll $DIST_UDIR/bin
+    cp -a $_GOFFICE_UDIR/bin/libgoffice*.dll $DIST_UDIR/bin
     mkdir -p $DIST_UDIR/lib
-    cp -r $_GOFFICE_UDIR/lib/{goffice,locale} $DIST_UDIR/lib
+    cp -a $_GOFFICE_UDIR/lib/{goffice,locale} $DIST_UDIR/lib
     mkdir -p $DIST_UDIR/share
-    cp -r $_GOFFICE_UDIR/share/{goffice,pixmaps} $DIST_UDIR/share
+    cp -a $_GOFFICE_UDIR/share/{goffice,pixmaps} $DIST_UDIR/share
 }
 
 function dist_gnucash() {
     setup GnuCash
-    _GNUCASH_UDIR=`unix_path $GNUCASH_DIR`
     mkdir -p $DIST_UDIR/bin
-    cp $_GNUCASH_UDIR/bin/* $DIST_UDIR/bin
+    cp -a $_INSTALL_UDIR/bin/* $DIST_UDIR/bin
     mkdir -p $DIST_UDIR/etc/gconf/schemas
-    cp $_GNUCASH_UDIR/etc/gconf/schemas/* $DIST_UDIR/etc/gconf/schemas
+    cp -a $_INSTALL_UDIR/etc/gconf/schemas/* $DIST_UDIR/etc/gconf/schemas
     mkdir -p $DIST_UDIR/lib
-    cp -r $_GNUCASH_UDIR/lib/{bin,locale} $DIST_UDIR/lib
-    cp $_GNUCASH_UDIR/lib/lib*.la $DIST_UDIR/lib
+    cp -a $_INSTALL_UDIR/lib/{bin,locale} $DIST_UDIR/lib
+    cp -a $_INSTALL_UDIR/lib/lib*.{dll,la} $DIST_UDIR/lib
     mkdir -p $DIST_UDIR/lib/gnucash
-    cp $_GNUCASH_UDIR/lib/gnucash/lib*.{dll,la} $DIST_UDIR/lib/gnucash
-    cp -r $_GNUCASH_UDIR/libexec $DIST_UDIR
+    cp -a $_INSTALL_UDIR/lib/gnucash/lib*.{dll,la} $DIST_UDIR/lib/gnucash
+    cp -a $_INSTALL_UDIR/libexec $DIST_UDIR
     mkdir -p $DIST_UDIR/share
-    cp -r $_GNUCASH_UDIR/share/{gnucash,pixmaps,xml} $DIST_UDIR/share
+    cp -a $_INSTALL_UDIR/share/{gnucash,pixmaps,xml} $DIST_UDIR/share
+    cp -a $_BUILD_UDIR/packaging/win32/gnucash.iss $_GNUCASH_UDIR
 }
 
 function finish() {
@@ -140,6 +152,15 @@
             --install-schema-file $file >/dev/null
         echo "done"
     done
+
+    # Strip redirections in distributed libtool .la files
+    for file in `find $DIST_UDIR/lib -name '*.la'`; do
+        cat $file | sed 's,^libdir=,#libdir=,' > $file.new
+        mv $file.new $file
+    done
+
+    echo "You can now run the Inno Setup Compiler for creating the setup.exe:"
+    echo ${_INNO_UDIR}/iscc ${_GNUCASH_UDIR}/gnucash.iss
 }
 
 prepare

Modified: gnucash/branches/reshuffle-modules/packaging/win32/functions
===================================================================
--- gnucash/branches/reshuffle-modules/packaging/win32/functions	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/packaging/win32/functions	2007-01-03 08:31:13 UTC (rev 15306)
@@ -48,7 +48,38 @@
     exit -1
 }
 
+# usage: register_env_var NAME SEPARATOR [DEFAULT]
+function register_env_var() {
+    [ $# -ge 2 -a $# -le 3 ] || die hard
+    eval "SEPS_$1"'="'"$2"'"'
+    if [ $# -eq 3 ]; then
+        eval "$1_BASE=$3"
+    else
+        eval "$1_BASE"'=$'"$1"
+    fi
+    eval "$1_ADDS="
+    eval export "$1"
+    ENV_VARS="$ENV_VARS $1"
+}
+ENV_VARS=
 
+# usage: add_to_env VALUE NAME
+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
+}
+
+
 ### Local Variables: ***
 ### mode: shell-script ***
 ### sh-basic-offset: 4 ***

Modified: gnucash/branches/reshuffle-modules/packaging/win32/gnucash.iss.in
===================================================================
--- gnucash/branches/reshuffle-modules/packaging/win32/gnucash.iss.in	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/packaging/win32/gnucash.iss.in	2007-01-03 08:31:13 UTC (rev 15306)
@@ -15,12 +15,12 @@
 AppUpdatesURL=http://www.gnucash.org
 DefaultDirName={pf}\@PACKAGE@
 DefaultGroupName=GnuCash
-LicenseFile=@prefix@\dist\share\@PACKAGE@\doc\COPYING
+LicenseFile=@prefix@\..\dist\share\@PACKAGE@\doc\COPYING
 Compression=lzma
 OutputDir=.
 OutputBaseFilename=@PACKAGE at -@VERSION at -setup
 UninstallFilesDir={app}\uninstall\@PACKAGE@
-InfoAfterFile=@prefix@\dist\share\@PACKAGE@\doc\README
+InfoAfterFile=@prefix@\..\dist\share\@PACKAGE@\doc\README
 
 [Types]
 Name: "full"; Description: "{cm:FullInstall}"
@@ -42,6 +42,7 @@
 
 [Run]
 Filename: "{app}\bin\gnucash.bat"; Description: "{cm:RunPrg}"; WorkingDir: "{app}\bin"; Flags: postinstall skipifsilent
+Filename: "{app}\bin\guile.bat"; Parameters: "-c ""(use-modules (ice-9 slib)) (require 'printf)"""; Flags: runhidden
 
 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ; Here we configure the included files and the place of their
@@ -49,26 +50,26 @@
 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 [Files]
 ; The main executables and DLLs
-Source: "@prefix@\dist\bin\*"; DestDir: "{app}\bin"; Flags: recursesubdirs; Components: main; AfterInstall: MyAfterInstallConfig(ExpandConstant('{app}\bin\gnucash.bat'))
+Source: "@prefix@\..\dist\bin\*"; DestDir: "{app}\bin"; Flags: recursesubdirs; Components: main; AfterInstall: MyAfterInstallConfig()
 ; Note: The above AfterInstall function will create the 
 ; gnucash.bat file on-the-fly by the Pascal script below.
 
-Source: "@prefix@\dist\etc\*"; DestDir: "{app}\etc"; Flags: recursesubdirs; Components: main
-Source: "@prefix@\dist\lib\*"; DestDir: "{app}\lib"; Flags: recursesubdirs; Components: main
-Source: "@prefix@\dist\libexec\*"; DestDir: "{app}\libexec"; Flags: recursesubdirs; Components: main
-Source: "@prefix@\dist\share\*"; DestDir: "{app}\share"; Flags: recursesubdirs; Components: main
+Source: "@prefix@\..\dist\etc\*"; DestDir: "{app}\etc"; Flags: recursesubdirs; Components: main
+Source: "@prefix@\..\dist\lib\*"; DestDir: "{app}\lib"; Flags: recursesubdirs; Components: main
+Source: "@prefix@\..\dist\libexec\*"; DestDir: "{app}\libexec"; Flags: recursesubdirs; Components: main
+Source: "@prefix@\..\dist\share\*"; DestDir: "{app}\share"; Flags: recursesubdirs; Components: main
 
 ;; The translations (no idea why mingw installs them in prefix/lib/locale)
-;Source: "@prefix@\dist\lib\locale\*"; DestDir: "{app}\lib\locale"; Flags: recursesubdirs; Components: translations
+;Source: "@prefix@\..\dist\lib\locale\*"; DestDir: "{app}\lib\locale"; Flags: recursesubdirs; Components: translations
 ;
 ;; The account templates
-;Source: "@prefix@\dist\share\gnucash\accounts\*"; DestDir: "{app}\share\gnucash\accounts"; Flags: recursesubdirs; Components: templates
+;Source: "@prefix@\..\dist\share\gnucash\accounts\*"; DestDir: "{app}\share\gnucash\accounts"; Flags: recursesubdirs; Components: templates
 
 ; And all the documentation
-Source: "@prefix@\dist\share\@PACKAGE@\doc\README"; DestDir: "{app}\doc\@PACKAGE@"; Components: main
-Source: "@prefix@\dist\share\@PACKAGE@\doc\COPYING"; DestDir: "{app}\doc\@PACKAGE@"; Flags: ignoreversion; Components: main
-Source: "@prefix@\dist\share\@PACKAGE@\doc\AUTHORS"; DestDir: "{app}\doc\@PACKAGE@"; Components: main
-Source: "@prefix@\dist\share\@PACKAGE@\doc\ChangeLog"; DestDir: "{app}\doc\@PACKAGE@"; Components: main
+Source: "@prefix@\..\dist\share\@PACKAGE@\doc\README"; DestDir: "{app}\doc\@PACKAGE@"; Components: main
+Source: "@prefix@\..\dist\share\@PACKAGE@\doc\COPYING"; DestDir: "{app}\doc\@PACKAGE@"; Flags: ignoreversion; Components: main
+Source: "@prefix@\..\dist\share\@PACKAGE@\doc\AUTHORS"; DestDir: "{app}\doc\@PACKAGE@"; Components: main
+Source: "@prefix@\..\dist\share\@PACKAGE@\doc\ChangeLog"; DestDir: "{app}\doc\@PACKAGE@"; Components: main
 
 
 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -86,6 +87,8 @@
 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 [UninstallDelete]
 Type: files; Name: "{app}\bin\gnucash.bat"
+Type: files; Name: "{app}\bin\guile.bat"
+Type: files; Name: "{app}\share\guile\1.6\slibcat"
 Type: filesandordirs; Name: "{app}\etc\gconf"
 Type: dirifempty; Name: "{app}\etc"
 
@@ -108,9 +111,9 @@
   StringChange(Result, '\', '/');
 end;
 
-procedure MyAfterInstallConfig(FileName: String);
+procedure MyAfterInstallConfig();
 var
-  FileString, appdir, libdir, pkglibdir, pkgdatadir: String;
+  FileName, FileString, appdir, libdir, pkglibdir, pkgdatadir: String;
   Res: Boolean;
 begin
 
@@ -121,6 +124,7 @@
   pkgdatadir := appdir + '\share\gnucash';
 
   { Create the gnucash.bat file; #10 is the linefeed character and #13 CR }
+  FileName := appdir + '\bin\gnucash.bat' ;
   FileString := 'set PATH=' + appdir + '\bin;' + libdir + '\bin;%PATH%'#13#10 ;
 
   FileString := FileString + 'set GUILE_WARN_DEPRECATED=no'#13#10 ;
@@ -134,6 +138,13 @@
   if Res = False then
     MsgBox('Error on saving '+FileName+' for completing the installation', mbInformation, MB_OK);
 
+  FileName := appdir + '\bin\guile.bat' ;
+  FileString := 'set GUILE_LOAD_PATH=' + pkgdatadir + '\guile-modules;' + pkgdatadir + '\scm;' + appdir + '\share\guile\1.6;%GUILE_LOAD_PATH%'#13#10 ;
+  FileString := FileString + 'start guile.exe %*'#13#10 ;
+  Res := SaveStringToFile(FileName, FileString, False);
+  if Res = False then
+    MsgBox('Error on saving '+FileName+' for completing the installation', mbInformation, MB_OK);
+
 end;
 
 

Modified: gnucash/branches/reshuffle-modules/packaging/win32/install.sh
===================================================================
--- gnucash/branches/reshuffle-modules/packaging/win32/install.sh	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/packaging/win32/install.sh	2007-01-03 08:31:13 UTC (rev 15306)
@@ -10,57 +10,23 @@
 . functions
 . 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=":"
-PKG_CONFIG=""
-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 \
-PKG_CONFIG_PATH \
-READLINE_CPPFLAGS \
-READLINE_LDFLAGS \
-REGEX_CPPFLAGS \
-REGEX_LDFLAGS \
-"
+register_env_var ACLOCAL_FLAGS " "
+register_env_var AUTOTOOLS_CPPFLAGS " "
+register_env_var AUTOTOOLS_LDFLAGS " "
+register_env_var GNOME_CPPFLAGS " "
+register_env_var GNOME_LDFLAGS " "
+register_env_var GUILE_LOAD_PATH ";"
+register_env_var GUILE_CPPFLAGS " "
+register_env_var GUILE_LDFLAGS " "
+register_env_var INTLTOOL_PERL " "
+register_env_var PATH ":"
+register_env_var PKG_CONFIG ":" ""
+register_env_var PKG_CONFIG_PATH ":"
+register_env_var READLINE_CPPFLAGS " "
+register_env_var READLINE_LDFLAGS " "
+register_env_var REGEX_CPPFLAGS " "
+register_env_var REGEX_LDFLAGS " "
 
-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() {
     # Necessary so that intltoolize doesn't come up with some
     # foolish AC_CONFIG_AUX_DIR; bug#362006
@@ -89,47 +55,12 @@
         qpopd
     fi
 
-    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`
+    mkdir -p $TMP_UDIR
+    mkdir -p $DOWNLOAD_UDIR
 }
 
-# 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 --passive-ftp -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`
@@ -137,7 +68,7 @@
     then
         echo "already installed.  skipping."
     else
-        mkdir -p $WGET_DIR
+        mkdir -p $_WGET_UDIR
         tar -xjpf $DOWNLOAD_UDIR/wget*.tar.bz2 -C $WGET_DIR
         cp $_WGET_UDIR/*/*/wget.exe $WGET_DIR
     fi
@@ -209,7 +140,7 @@
     then
         echo "regex already installed.  skipping."
     else
-        mkdir -p $REGEX_DIR
+        mkdir -p $_REGEX_UDIR
         wget_unpacked $REGEX_BIN_URL $DOWNLOAD_DIR $REGEX_DIR
         wget_unpacked $REGEX_LIB_URL $DOWNLOAD_DIR $REGEX_DIR
     fi
@@ -226,7 +157,7 @@
     then
         echo "readline already installed.  skipping."
     else
-        mkdir -p $READLINE_DIR
+        mkdir -p $_READLINE_UDIR
         wget_unpacked $READLINE_BIN_URL $DOWNLOAD_DIR $READLINE_DIR
         wget_unpacked $READLINE_LIB_URL $DOWNLOAD_DIR $READLINE_DIR
     fi
@@ -241,7 +172,7 @@
     then
         echo "indent already installed.  skipping."
     else
-        mkdir -p $INDENT_DIR
+        mkdir -p $_INDENT_UDIR
         wget_unpacked $INDENT_BIN_URL $DOWNLOAD_DIR $INDENT_DIR
     fi
     quiet which indent || die "indent unavailable"
@@ -363,9 +294,7 @@
 	    make LDFLAGS="-lwsock32 ${READLINE_LDFLAGS} ${REGEX_LDFLAGS} -lregex -no-undefined -avoid-version"
 	    make install
 	qpopd
-        _GUILE_MAJOR=`echo $_GUILE_UDIR/share/guile/1.* | sed 's,.*/,,'`
-	_SLIB_DIR=$GUILE_DIR\\share\\guile\\$_GUILE_MAJOR
-	mkdir -p $_SLIB_DIR
+	_SLIB_DIR=$_GUILE_UDIR/share/guile/1.*
 	unzip $_SLIB_BALL -d $_SLIB_DIR
 	qpushd $_SLIB_DIR/slib
 	    cp guile.init guile.init.bak
@@ -374,7 +303,7 @@
 	qpopd
     fi
     if test x$cross_compile = xyes ; then
-	qpushd $GUILE_DIR/bin
+	qpushd $_GUILE_UDIR/bin
 	# The cross-compiling guile expects these program names
 	# for the build-time guile
 	ln -sf /usr/bin/guile-config mingw32-guile-config
@@ -473,7 +402,7 @@
     then
         echo "gnome packages installed.  skipping."
     else
-        mkdir -p $GNOME_DIR
+        mkdir -p $_GNOME_UDIR
 	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
@@ -563,13 +492,13 @@
         qpopd
     fi
     if test x$cross_compile = xyes ; then
-        qpushd $GNOME_DIR/lib/pkgconfig
+        qpushd $_GNOME_UDIR/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
+        #qpushd $_GNOME_UDIR/bin
 	#    for A in *-0.dll; do ln -sf $A `echo $A|sed 's/\(.*\)-0.dll/\1.dll/'`; done
 	#qpopd
     fi
@@ -669,6 +598,22 @@
     quiet glade-3 --version || die "glade not installed correctly"
 }
 
+function inst_inno() {
+    setup Inno Setup Compiler
+    _INNO_UDIR=`unix_path $INNO_DIR`
+    add_to_env $_INNO_UDIR PATH
+    if quiet which iscc
+    then
+        echo "Inno Setup Compiler already installed.  Skipping."
+    else
+        smart_wget $INNO_URL $DOWNLOAD_DIR
+        echo "!!! When asked for the installation path, specify $INNO_DIR !!!"
+	echo "!!! Also, you can deselect all optional components."
+        $LAST_FILE
+    fi
+    quiet which iscc || die "iscc (Inno Setup Compiler) not installed correctly"
+}
+
 function inst_svn() {
     setup Subversion
     _SVN_UDIR=`unix_path $SVN_DIR`
@@ -684,12 +629,12 @@
 }
 
 function svn_up() {
-    mkdir -p $REPOS_DIR
+    mkdir -p $_REPOS_UDIR
     qpushd $REPOS_DIR
     # latest revision that should compile, use HEAD or vwxyz
     SVN_REV="HEAD"
     if [ -x .svn ]; then
-	setup svn up
+	setup "svn update in ${REPOS_DIR}"
 	svn up -r ${SVN_REV}
     else
 	setup svn co
@@ -700,76 +645,79 @@
 
 function inst_gnucash() {
     setup GnuCash
-    _GNUCASH_WFSDIR=`win_fs_path $GNUCASH_DIR`
-    _GNUCASH_UDIR=`unix_path $GNUCASH_DIR`
+    _INSTALL_WFSDIR=`win_fs_path $INSTALL_DIR`
+    _INSTALL_UDIR=`unix_path $INSTALL_DIR`
+    _BUILD_UDIR=`unix_path $BUILD_DIR`
+    _REL_REPOS_UDIR=`unix_path $REL_REPOS_DIR`
+    mkdir -p $_BUILD_UDIR
+
     qpushd $REPOS_DIR
-    if test "x$cross_compile" = xyes ; then
-	# Set these variables manually because of cross-compiling
-	export GUILE_LIBS="${GUILE_LDFLAGS} -lguile -lguile-ltdl"
-	export GUILE_INCS="${GUILE_CPPFLAGS}"
-	export BUILD_GUILE=yes
-	export name_build_guile=/usr/bin/guile-config
-    fi
-    ./autogen.sh
-    ./configure ${HOST_XCOMPILE} ${TARGET_XCOMPILE} \
-	--prefix=$_GNUCASH_WFSDIR \
-	--enable-debug \
-	--enable-schemas-install=no \
-	--enable-binreloc \
-	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}"
+        if test "x$cross_compile" = xyes ; then
+            # Set these variables manually because of cross-compiling
+            export GUILE_LIBS="${GUILE_LDFLAGS} -lguile -lguile-ltdl"
+            export GUILE_INCS="${GUILE_CPPFLAGS}"
+            export BUILD_GUILE=yes
+            export name_build_guile=/usr/bin/guile-config
+        fi
+        ./autogen.sh
+        # Windows DLLs don't need relinking
+        grep -v "need_relink=yes" ltmain.sh > ltmain.sh.new ; mv ltmain.sh.new ltmain.sh
+    qpopd
 
-    # Windows DLLs don't need relinking
-    grep -v "need_relink=yes" ltmain.sh > ltmain.sh.new ; mv ltmain.sh.new ltmain.sh
-    grep -v "need_relink=yes" libtool   > libtool.new   ; mv libtool.new   libtool
-    # Exclude (for now) the test subdirectories from the build
-    # because executable linking is so painfully slow on mingw
-    perl -pi.instbak -e's#^(SUBDIRS.* )test( .*)?$#\1\2#' `find src -name Makefile`
-    find src -name Makefile.instbak -exec rm {} \;
+    qpushd $BUILD_DIR
+        $_REL_REPOS_UDIR/configure ${HOST_XCOMPILE} ${TARGET_XCOMPILE} \
+            --prefix=$_INSTALL_WFSDIR \
+            --enable-debug \
+            --enable-schemas-install=no \
+            --enable-binreloc \
+            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}"
 
-    make
+        # Windows DLLs don't need relinking
+        grep -v "need_relink=yes" libtool   > libtool.new   ; mv libtool.new   libtool
 
-    # 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:${_GNOME_UDIR}/bin:${_LIBXML2_UDIR}/bin:${_GUILE_UDIR}/bin:${_REGEX_UDIR}/bin:${_AUTOTOOLS_UDIR}/bin" \
-	gnucash
-    qpopd
+        make
 
-    make install
+        # Try to fix the paths in the "gnucash" script
+        qpushd src/bin
+            rm gnucash
+            make PATH_SEPARATOR=";" \
+                bindir="${_INSTALL_UDIR}/bin:${_INSTALL_UDIR}/lib/bin:${_GOFFICE_UDIR}/bin:${_LIBGSF_UDIR}/bin:${_GNOME_UDIR}/bin:${_LIBXML2_UDIR}/bin:${_GUILE_UDIR}/bin:${_REGEX_UDIR}/bin:${_AUTOTOOLS_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
+    qpushd $_INSTALL_UDIR/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
+    qpushd $_INSTALL_UDIR/etc/gconf/schemas
+        for file in *.schemas; do
+            gconftool-2 \
+                --config-source=xml:merged:${_INSTALL_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;${GNOME_DIR}\\bin;${LIBXML2_DIR}\\bin;${GUILE_DIR}\\bin;${REGEX_DIR}\\bin;${AUTOTOOLS_DIR}\\bin;%PATH%" > 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=${GNUCASH_DIR}\\share\\gnucash\\guile-modules;${GNUCASH_DIR}\\share\\gnucash\\scm;%GUILE_LOAD_PATH%" >> gnucash.bat
-    # Really sure we don't need this?
-    #echo "set SCHEME_LIBRARY_PATH=${GUILE_DIR}\\share\\guile\\site\\slib\\" >> gnucash.bat
-    echo "set LTDL_LIBRARY_PATH=${GNUCASH_DIR}\\lib" >> gnucash.bat
-    echo "start gnucash-bin" >> gnucash.bat
+    qpushd $_INSTALL_UDIR/bin
+        echo "set PATH=${INSTALL_DIR}\\bin;${INSTALL_DIR}\\lib\\bin;${GOFFICE_DIR}\\bin;${LIBGSF_DIR}\\bin;${GNOME_DIR}\\bin;${LIBXML2_DIR}\\bin;${GUILE_DIR}\\bin;${REGEX_DIR}\\bin;${AUTOTOOLS_DIR}\\bin;%PATH%" > gnucash.bat
+        echo "set GUILE_WARN_DEPRECATED=no" >> gnucash.bat
+        echo "set GNC_MODULE_PATH=${INSTALL_DIR}\\lib\\gnucash" >> gnucash.bat
+        echo "set GUILE_LOAD_PATH=${INSTALL_DIR}\\share\\gnucash\\guile-modules;${INSTALL_DIR}\\share\\gnucash\\scm;%GUILE_LOAD_PATH%" >> gnucash.bat
+        echo "set LTDL_LIBRARY_PATH=${INSTALL_DIR}\\lib" >> gnucash.bat
+        echo "start gnucash-bin" >> gnucash.bat
     qpopd
 }
 
 function finish() {
+    setup Finish...
     _NEW=x
     for _ENV in $ENV_VARS; do
 	_ADDS=`eval echo '"\$'"${_ENV}"'_ADDS"'`
@@ -778,6 +726,7 @@
 		echo
 		echo "Environment variables changed, please do the following"
 		echo
+		[ -d /etc/profile.d ] || echo "mkdir -p /etc/profile.d"
 		_NEW=
 	    fi
 	    _VAL=`eval echo '"$'"${_ENV}_BASE"'"'`

Modified: gnucash/branches/reshuffle-modules/src/app-utils/gnc-ui-util.c
===================================================================
--- gnucash/branches/reshuffle-modules/src/app-utils/gnc-ui-util.c	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/app-utils/gnc-ui-util.c	2007-01-03 08:31:13 UTC (rev 15306)
@@ -770,6 +770,7 @@
   gnc_lconv_set_utf8(&lc.mon_thousands_sep, ",");
   gnc_lconv_set_utf8(&lc.mon_grouping, "\003");
   gnc_lconv_set_utf8(&lc.negative_sign, "-");
+  gnc_lconv_set_utf8(&lc.positive_sign, "");
 
   gnc_lconv_set_char(&lc.frac_digits, 2);
   gnc_lconv_set_char(&lc.int_frac_digits, 2);

Modified: gnucash/branches/reshuffle-modules/src/app-utils/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/app-utils/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/app-utils/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -43,7 +43,7 @@
    ${QOF_LIBS} \
    ${GCONF_LIBS}
 
-noinst_PROGRAMS = \
+check_PROGRAMS = \
   test-link-module \
   test-exp-parser \
   test-print-parse-amount \

Modified: gnucash/branches/reshuffle-modules/src/backend/file/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/backend/file/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/backend/file/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -191,13 +191,13 @@
   SRCDIR=${srcdir} \
   $(shell ${top_srcdir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
 
-noinst_LTLIBRARIES = libgnc-test-file-stuff.la
+check_LTLIBRARIES = libgnc-test-file-stuff.la
 
 libgnc_test_file_stuff_la_SOURCES = test-file-stuff.c
 libgnc_test_file_stuff_la_LIBADD = \
   ${top_builddir}/src/engine/libgncmod-engine.la
 
-noinst_PROGRAMS = \
+check_PROGRAMS = \
   test-date-converting \
   test-dom-converters1 \
   test-kvp-frames \

Modified: gnucash/branches/reshuffle-modules/src/backend/postgres/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/backend/postgres/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/backend/postgres/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -14,7 +14,7 @@
   TEST_DB_SOCKET_DIR=`pwd`/gnc_test_db_sock \
   $(shell ${top_srcdir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
 
-noinst_PROGRAMS = \
+check_PROGRAMS = \
   test-load-backend \
   test-db \
   test-escape \

Modified: gnucash/branches/reshuffle-modules/src/bin/gnucash-bin.c
===================================================================
--- gnucash/branches/reshuffle-modules/src/bin/gnucash-bin.c	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/bin/gnucash-bin.c	2007-01-03 08:31:13 UTC (rev 15306)
@@ -361,14 +361,12 @@
             gnc_module_load(modules[i].name, modules[i].version);
     }
     if (!gnc_engine_is_initialized()) {
-#ifdef G_OS_WIN32
-        g_warning("GnuCash engine indicates it hasn't been initialized correctly. On Windows this mechanism is know not to work. Ignoring for now.\n");
-        /* See more detailed discussion here
-	   https://lists.gnucash.org/pipermail/gnucash-devel/2006-September/018529.html */
-#else
+        /* On Windows this check used to fail anyway, see
+	   https://lists.gnucash.org/pipermail/gnucash-devel/2006-September/018529.html
+	   but more recently it seems to work as expected
+	   again. 2006-12-20, cstim. */
         g_error("GnuCash engine failed to initialize.  Exiting.\n");
         exit(0);
-#endif
     }
 }
 

Modified: gnucash/branches/reshuffle-modules/src/business/business-core/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/business/business-core/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/business/business-core/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -41,7 +41,7 @@
 TESTS_ENVIRONMENT := \
   $(shell ${top_srcdir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
 
-noinst_PROGRAMS = \
+check_PROGRAMS = \
   test-load-module \
   test-business \
   test-address \

Modified: gnucash/branches/reshuffle-modules/src/calculation/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/calculation/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/calculation/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -1,6 +1,6 @@
 TESTS=test-link
 
-noinst_PROGRAMS=test-link
+check_PROGRAMS=test-link
 
 test_link_SOURCES=test-link.c
 test_link_LDADD= \

Modified: gnucash/branches/reshuffle-modules/src/engine/kvp-scm.c
===================================================================
--- gnucash/branches/reshuffle-modules/src/engine/kvp-scm.c	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/engine/kvp-scm.c	2007-01-03 08:31:13 UTC (rev 15306)
@@ -23,14 +23,18 @@
 KvpValue *
 gnc_scm_to_kvp_value_ptr(SCM val)
 {
-    if(SCM_EXACTP (val) && gnc_gh_gint64_p(val))
+    if(SCM_NUMBERP(val))
     {
-        return kvp_value_new_gint64(gnc_scm_to_gint64(val));
+        /* in guile 1.8 (exact? ) only works on numbers */
+        if(SCM_EXACTP (val) && gnc_gh_gint64_p(val))
+        {
+            return kvp_value_new_gint64(gnc_scm_to_gint64(val));
+        }
+        else 
+        {
+            return kvp_value_new_double(scm_num2dbl(val, __FUNCTION__));
+        }
     }
-    else if(SCM_NUMBERP(val))
-    {
-        return kvp_value_new_double(scm_num2dbl(val, __FUNCTION__));
-    }
     else if(gnc_numeric_p(val))
     {
         return kvp_value_new_gnc_numeric(gnc_scm_to_numeric(val));

Modified: gnucash/branches/reshuffle-modules/src/engine/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/engine/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/engine/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -59,7 +59,7 @@
   SRCDIR=${srcdir} \
   $(shell ${top_srcdir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
 
-noinst_PROGRAMS = \
+check_PROGRAMS = \
   test-link \
   test-commodities \
   test-date \

Modified: gnucash/branches/reshuffle-modules/src/engine/test/test-numeric.c
===================================================================
--- gnucash/branches/reshuffle-modules/src/engine/test/test-numeric.c	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/engine/test/test-numeric.c	2007-01-03 08:31:13 UTC (rev 15306)
@@ -54,19 +54,21 @@
 
 /* ======================================================= */
 
+#define check_unary_op(eq,ex,a,i,e) check_unary_op_r(eq,ex,a,i,e,__LINE__)
 static void
-check_unary_op (gboolean (*eqtest) (gnc_numeric, gnc_numeric), 
-                gnc_numeric expected, 
-                gnc_numeric actual, 
-                gnc_numeric input, 
-                const char * errmsg)
+check_unary_op_r (gboolean (*eqtest) (gnc_numeric, gnc_numeric), 
+		  gnc_numeric expected, 
+		  gnc_numeric actual, 
+		  gnc_numeric input, 
+		  const char * errmsg,
+		  int line)
 {
 	char *e = gnc_numeric_print (expected);
 	char *r = gnc_numeric_print (actual);
 	char *a = gnc_numeric_print (input);
 	char *str = g_strdup_printf (errmsg, e,r, a);
 	
-	do_test (eqtest(expected, actual), str);
+	do_test_call (eqtest(expected, actual), str, __FILE__, line);
 	
 	g_free (a);
 	g_free (r);
@@ -76,12 +78,14 @@
 
 /* ======================================================= */
 
+#define check_binary_op(ex,a,ia,ib,e) check_binary_op_r(ex,a,ia,ib,e,__LINE__)
 static void
-check_binary_op (gnc_numeric expected, 
-                 gnc_numeric actual, 
-                 gnc_numeric input_a, 
-                 gnc_numeric input_b, 
-                 const char * errmsg)
+check_binary_op_r (gnc_numeric expected, 
+		   gnc_numeric actual, 
+		   gnc_numeric input_a, 
+		   gnc_numeric input_b, 
+		   const char * errmsg,
+		   int line)
 {
 	char *e = gnc_numeric_print (expected);
 	char *r = gnc_numeric_print (actual);
@@ -89,7 +93,7 @@
 	char *b = gnc_numeric_print (input_b);
 	char *str = g_strdup_printf (errmsg, e,r,a,b);
 	
-	do_test (gnc_numeric_eq(expected, actual), str);
+	do_test_call (gnc_numeric_eq(expected, actual), str, __FILE__, line);
 	
 	g_free (a);
 	g_free (b);

Modified: gnucash/branches/reshuffle-modules/src/engine/test-core/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/engine/test-core/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/engine/test-core/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -1,4 +1,4 @@
-noinst_LTLIBRARIES=libgncmod-test-engine.la
+check_LTLIBRARIES=libgncmod-test-engine.la
 
 LDADD = \
   ${top_builddir}/src/gnc-module/libgncmodule.la \

Modified: gnucash/branches/reshuffle-modules/src/gnc-module/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/gnc-module/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/gnc-module/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -41,7 +41,7 @@
 TESTS_ENVIRONMENT := \
   $(shell ${top_srcdir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
 
-noinst_PROGRAMS = \
+check_PROGRAMS = \
   test-load-c \
   test-modsysver \
   test-incompatdep \

Modified: gnucash/branches/reshuffle-modules/src/gnc-module/test/misc-mods/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/gnc-module/test/misc-mods/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/gnc-module/test/misc-mods/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -7,25 +7,22 @@
 LDADD = -L../.. -L../../.libs
 
 PWD := $(shell pwd)
-checklibdir=${PWD}
-checklib_LTLIBRARIES=libfuturemodsys.la libincompatdep.la libagedver.la
+check_LTLIBRARIES=libfuturemodsys.la libincompatdep.la libagedver.la
 
 libfuturemodsys_la_SOURCES=futuremodsys.c
+libfuturemodsys_la_LDFLAGS=-rpath ${PWD}
 libfuturemodsys_la_LIBADD = \
   $(GLIB_LIBS)
 
 libincompatdep_la_SOURCES=incompatdep.c
-libincompatdep_la_LDFLAGS=-module
+libincompatdep_la_LDFLAGS=-module -rpath ${PWD}
 libincompatdep_la_LIBADD = \
   ../../libgncmodule.la \
   $(GLIB_LIBS)
 
 libagedver_la_SOURCES=agedver.c
+libagedver_la_LDFLAGS=-rpath ${PWD}
 libagedver_la_LIBADD = \
   $(GLIB_LIBS)
 
 CLEANFILES = *.so* *.a
-
-# Keep automake from generating install targets for test libs
-install-checklibLTLIBRARIES:
-uninstall-checklibLTLIBRARIES:

Modified: gnucash/branches/reshuffle-modules/src/gnc-module/test/mod-bar/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/gnc-module/test/mod-bar/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/gnc-module/test/mod-bar/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -5,10 +5,10 @@
   ${GLIB_CFLAGS}
 
 PWD := $(shell pwd)
-checklibdir=${PWD}
-checklib_LTLIBRARIES = libbar.la libgncmodbar.la
+check_LTLIBRARIES = libbar.la libgncmodbar.la
 
 libbar_la_SOURCES = bar.c
+libbar_la_LDFLAGS = -rpath ${PWD}
 
 # Make swig-bar.c for dist. It is an automatic dependency
 # of gnc-mod-bar.c
@@ -17,7 +17,7 @@
   swig-bar.c
 
 libgncmodbar_la_SOURCES=gnc-mod-bar.c
-
+libgncmodbar_la_LDFLAGS=-rpath ${PWD}
 libgncmodbar_la_LIBADD=libbar.la \
   $(GUILE_LIBS) \
   $(GLIB_LIBS)
@@ -33,7 +33,3 @@
 
 BUILT_SOURCES = swig-bar.c
 MAINTAINERCLEANFILES = swig-bar.c
-
-# Keep automake from generating install targets for test libs
-install-checklibLTLIBRARIES:
-uninstall-checklibLTLIBRARIES:

Modified: gnucash/branches/reshuffle-modules/src/gnc-module/test/mod-baz/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/gnc-module/test/mod-baz/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/gnc-module/test/mod-baz/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -6,10 +6,10 @@
   ${GUILE_INCS}
 
 PWD := $(shell pwd)
-checklibdir = ${PWD}
-checklib_LTLIBRARIES = libbaz.la libgncmodbaz.la
+check_LTLIBRARIES = libbaz.la libgncmodbaz.la
 
 libbaz_la_SOURCES = baz.c
+libbaz_la_LDFLAGS = -rpath ${PWD}
 libbaz_la_LIBADD = ../mod-foo/libfoo.la
 
 # Make swig-baz.c for dist. It is an automatic dependency
@@ -19,7 +19,7 @@
   swig-baz.c
 
 libgncmodbaz_la_SOURCES = gnc-mod-baz.c
-
+libgncmodbaz_la_LDFLAGS = -rpath ${PWD}
 libgncmodbaz_la_LIBADD = \
   libbaz.la \
   ../../libgncmodule.la \
@@ -37,7 +37,3 @@
 
 BUILT_SOURCES = swig-baz.c
 MAINTAINERCLEANFILES = swig-baz.c
-
-# Keep automake from generating install targets for test libs
-install-checklibLTLIBRARIES:
-uninstall-checklibLTLIBRARIES:

Modified: gnucash/branches/reshuffle-modules/src/gnc-module/test/mod-foo/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/gnc-module/test/mod-foo/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/gnc-module/test/mod-foo/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -5,10 +5,10 @@
   ${GLIB_CFLAGS}
 
 PWD := $(shell pwd)
-checklibdir=${PWD}
-checklib_LTLIBRARIES=libfoo.la libgncmodfoo.la
+check_LTLIBRARIES=libfoo.la libgncmodfoo.la
 
 libfoo_la_SOURCES = foo.c
+libfoo_la_LDFLAGS = -rpath ${PWD}
 
 # Make swig-foo.c for dist. It is an automatic dependency
 # of gnc-mod-foo.c
@@ -17,7 +17,7 @@
   swig-foo.c
 
 libgncmodfoo_la_SOURCES = gnc-mod-foo.c
-
+libgncmodfoo_la_LDFLAGS = -rpath ${PWD}
 libgncmodfoo_la_LIBADD = \
   libfoo.la \
   $(GUILE_LIBS) \
@@ -34,7 +34,3 @@
 
 BUILT_SOURCES = swig-foo.c
 MAINTAINERCLEANFILES = swig-foo.c
-
-# Keep automake from generating install targets for test libs
-install-checklibLTLIBRARIES:
-uninstall-checklibLTLIBRARIES:

Modified: gnucash/branches/reshuffle-modules/src/gnome-utils/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/gnome-utils/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/gnome-utils/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -220,7 +220,7 @@
 	@echo "#ifndef GNC_VERSION_H"			>> _gnc-version.h
 	@echo "#define GNC_VERSION_H"			>> _gnc-version.h
 	@echo ""					>> _gnc-version.h
-	@svninfo=`${top_srcdir}/util/gnc-svnversion ${srcdir}` ; \
+	@svninfo=`${top_srcdir}/util/gnc-svnversion ${top_srcdir}` ; \
 	if [ $$? = 0 ] ; then \
 		echo "#define GNUCASH_SVN 1"		>> _gnc-version.h ; \
 	fi
@@ -234,11 +234,11 @@
 	-rm -f _gnc-svninfo.h
 
 _gnc-svninfo.h: Makefile
-	@svninfo=`${top_srcdir}/util/gnc-svnversion ${srcdir}` ; \
+	@svninfo=`${top_srcdir}/util/gnc-svnversion ${top_srcdir}` ; \
 	if [ $$? = 0 ] ; then \
 		if [ -z "$$svninfo" ] ; then \
 			echo "gnc-svnversion failed.  figure out why." ; \
-			echo "can't determine svn revision from ${srcdir}." ; \
+			echo "can't determine svn revision from ${top_srcdir}." ; \
 			exit 1 ; \
 		fi ; \
 		echo "/* Autogenerated. Do not change. */" > _gnc-svninfo.h ; \

Modified: gnucash/branches/reshuffle-modules/src/gnome-utils/gnc-main-window.c
===================================================================
--- gnucash/branches/reshuffle-modules/src/gnome-utils/gnc-main-window.c	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/gnome-utils/gnc-main-window.c	2007-01-03 08:31:13 UTC (rev 15306)
@@ -403,6 +403,9 @@
 #define WINDOW_GEOMETRY		"Window Geometry"
 #define WINDOW_POSITION		"Window Position"
 #define WINDOW_MAXIMIZED	"Window Maximized"
+#define TOOLBAR_VISIBLE		"Toolbar Visible"
+#define STATUSBAR_VISIBLE	"Statusbar Visible"
+#define SUMMARYBAR_VISIBLE	"Summarybar Visible"
 #define WINDOW_FIRSTPAGE	"First Page"
 #define WINDOW_PAGECOUNT	"Page Count"
 #define WINDOW_PAGEORDER	"Page Order"
@@ -511,9 +514,10 @@
 gnc_main_window_restore_window (GncMainWindow *window, GncMainWindowSaveData *data)
 {
   GncMainWindowPrivate *priv;
+  GtkAction *action;
   gint *pos, *geom, *order;
   gsize length;
-  gboolean max;
+  gboolean max, visible, desired_visibility;
   gchar *window_group;
   gint page_start, page_count, i;
   GError *error = NULL;
@@ -612,6 +616,46 @@
     gtk_window_maximize(GTK_WINDOW(window));
   }
 
+  /* Common view menu items */
+  action = gnc_main_window_find_action(window, "ViewToolbarAction");
+  visible = gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(action));
+  desired_visibility = g_key_file_get_boolean(data->key_file, window_group,
+					      TOOLBAR_VISIBLE, &error);
+  if (error) {
+    g_warning("error reading group %s key %s: %s",
+	      window_group, TOOLBAR_VISIBLE, error->message);
+    g_error_free(error);
+    error = NULL;
+  } else if (visible != desired_visibility) {
+    gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action),desired_visibility);
+  }
+
+  action = gnc_main_window_find_action(window, "ViewSummaryAction");
+  visible = gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(action));
+  desired_visibility = g_key_file_get_boolean(data->key_file, window_group,
+					      SUMMARYBAR_VISIBLE, &error);
+  if (error) {
+    g_warning("error reading group %s key %s: %s",
+	      window_group, TOOLBAR_VISIBLE, error->message);
+    g_error_free(error);
+    error = NULL;
+  } else if (visible != desired_visibility) {
+    gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action),desired_visibility);
+  }
+
+  action = gnc_main_window_find_action(window, "ViewStatusbarAction");
+  visible = gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(action));
+  desired_visibility = g_key_file_get_boolean(data->key_file, window_group,
+					      STATUSBAR_VISIBLE, &error);
+  if (error) {
+    g_warning("error reading group %s key %s: %s",
+	      window_group, TOOLBAR_VISIBLE, error->message);
+    g_error_free(error);
+    error = NULL;
+  } else if (visible != desired_visibility) {
+    gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action),desired_visibility);
+  }
+
   /* Now populate the window with pages. */
   for (i = 0; i < page_count; i++) {
     data->page_offset = page_start;
@@ -752,8 +796,9 @@
 gnc_main_window_save_window (GncMainWindow *window, GncMainWindowSaveData *data)
 {
   GncMainWindowPrivate *priv;
+  GtkAction *action;
   gint i, num_pages, coords[4], *order;
-  gboolean maximized;
+  gboolean maximized, visible;
   gchar *window_group;
 
   /* Setup */
@@ -802,6 +847,20 @@
 	coords[2], coords[3],
 	maximized ? "maximized" : "not maximized");
 
+  /* Common view menu items */
+  action = gnc_main_window_find_action(window, "ViewToolbarAction");
+  visible = gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(action));
+  g_key_file_set_boolean(data->key_file, window_group,
+			 TOOLBAR_VISIBLE, visible);
+  action = gnc_main_window_find_action(window, "ViewSummaryAction");
+  visible = gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(action));
+  g_key_file_set_boolean(data->key_file, window_group,
+			 SUMMARYBAR_VISIBLE, visible);
+  action = gnc_main_window_find_action(window, "ViewStatusbarAction");
+  visible = gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(action));
+  g_key_file_set_boolean(data->key_file, window_group,
+			 STATUSBAR_VISIBLE, visible);
+
   /* Save individual pages in this window */
   g_list_foreach(priv->installed_pages, (GFunc)gnc_main_window_save_page, data);
 
@@ -3055,6 +3114,11 @@
   ENTER(" ");
   priv = GNC_MAIN_WINDOW_GET_PRIVATE(window);
   page = priv->current_page;
+  if (!page) {
+    LEAVE("No current page");
+    return;
+  }
+  
   tab_hbox = gtk_notebook_get_tab_label(GTK_NOTEBOOK(priv->notebook),
                                        page->notebook_page);
   children = gtk_container_get_children(GTK_CONTAINER(tab_hbox));

Modified: gnucash/branches/reshuffle-modules/src/gnome-utils/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/gnome-utils/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/gnome-utils/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -25,7 +25,7 @@
 TESTS_ENVIRONMENT := \
   $(shell ${top_srcdir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
 
-noinst_PROGRAMS = \
+check_PROGRAMS = \
   test-link-module test-gnc-recurrence test-gnc-dialog
 
 INCLUDES= \

Modified: gnucash/branches/reshuffle-modules/src/import-export/hbci/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/import-export/hbci/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/import-export/hbci/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -1,6 +1,6 @@
 TESTS=test-link-module
 
-noinst_PROGRAMS=test-link-module
+check_PROGRAMS=test-link-module
 
 test_link_module_SOURCES=test-link-module.c
 test_link_module_LDADD=../libgncmod-hbci.la 

Modified: gnucash/branches/reshuffle-modules/src/import-export/ofx/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/import-export/ofx/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/import-export/ofx/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -1,7 +1,7 @@
 TESTS=test-link
 
 AM_CFLAGS=${LIBOFX_CFLAGS}
-noinst_PROGRAMS=test-link
+check_PROGRAMS=test-link
 
 test_link_SOURCES=test-link.c
 test_link_LDADD=../libgncmod-ofx.la 

Modified: gnucash/branches/reshuffle-modules/src/import-export/qif/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/import-export/qif/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/import-export/qif/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -46,7 +46,7 @@
   GNC_TEST_FILES=${srcdir}/test-files \
   $(shell ${top_srcdir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
 
-noinst_PROGRAMS = \
+check_PROGRAMS = \
   test-link \
   test-qif
 

Modified: gnucash/branches/reshuffle-modules/src/import-export/qif-import/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/import-export/qif-import/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/import-export/qif-import/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -1,6 +1,6 @@
 TESTS=test-link
 
-noinst_PROGRAMS=test-link
+check_PROGRAMS=test-link
 
 test_link_SOURCES = \
   test-link.c

Modified: gnucash/branches/reshuffle-modules/src/import-export/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/import-export/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/import-export/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -39,6 +39,6 @@
 TESTS_ENVIRONMENT := \
   $(shell ${top_srcdir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
 
-noinst_PROGRAMS = \
+check_PROGRAMS = \
   test-link \
   test-import-parse

Modified: gnucash/branches/reshuffle-modules/src/network-utils/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/network-utils/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/network-utils/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -16,7 +16,7 @@
 TESTS_ENVIRONMENT := \
   $(shell ${top_srcdir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
 
-noinst_PROGRAMS = \
+check_PROGRAMS = \
   test-link-module
 
 test_link_module_SOURCES=test-link-module.c

Modified: gnucash/branches/reshuffle-modules/src/quotes/gnc-fq-check.in
===================================================================
--- gnucash/branches/reshuffle-modules/src/quotes/gnc-fq-check.in	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/quotes/gnc-fq-check.in	2007-01-03 08:31:13 UTC (rev 15306)
@@ -41,7 +41,7 @@
 # non-zero - failure
 
 sub check_modules {
-  my @modules = qw(Finance::Quote LWP HTML::Parser HTML::TableExtract Crypt::SSLeay);
+  my @modules = qw(Finance::Quote LWP HTML::Parser HTML::TableExtract Crypt::SSLeay Date::Manip);
   my @missing;
 
   foreach my $mod (@modules) {

Modified: gnucash/branches/reshuffle-modules/src/quotes/gnc-fq-update.in
===================================================================
--- gnucash/branches/reshuffle-modules/src/quotes/gnc-fq-update.in	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/quotes/gnc-fq-update.in	2007-01-03 08:31:13 UTC (rev 15306)
@@ -39,6 +39,7 @@
 }
 
 CPAN::Shell->install('LWP');
+CPAN::Shell->install('Date::Manip');
 CPAN::Shell->install('HTML::Parser');
 CPAN::Shell->install('HTML::TableExtract');
 CPAN::Shell->install('Crypt::SSLeay');

Modified: gnucash/branches/reshuffle-modules/src/register/ledger-core/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/register/ledger-core/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/register/ledger-core/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -1,6 +1,6 @@
 TESTS =  test-link-module
 
-noinst_PROGRAMS = test-link-module
+check_PROGRAMS = test-link-module
 
 test_link_module_SOURCES=test-link-module.c
 test_link_module_LDADD=../libgncmod-ledger-core.la

Modified: gnucash/branches/reshuffle-modules/src/register/register-core/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/register/register-core/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/register/register-core/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -8,7 +8,7 @@
 #TESTS_ENVIRONMENT := \
 #  $(shell ${top_srcdir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
 
-noinst_PROGRAMS = \
+check_PROGRAMS = \
   test-link-module
 
 test_link_module_SOURCES=test-link-module.c

Modified: gnucash/branches/reshuffle-modules/src/register/register-gnome/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/register/register-gnome/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/register/register-gnome/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -8,7 +8,7 @@
 #TESTS_ENVIRONMENT := \
 #  $(shell ${top_srcdir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
 
-noinst_PROGRAMS = \
+check_PROGRAMS = \
   test-link-module
 
 test_link_module_SOURCES = test-link-module.c

Modified: gnucash/branches/reshuffle-modules/src/report/locale-specific/us/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/report/locale-specific/us/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/report/locale-specific/us/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -20,7 +20,7 @@
 
 EXTRA_DIST = test-load-module
 
-noinst_PROGRAMS = test-link-module
+check_PROGRAMS = test-link-module
 
 testit:
 	${TESTS_ENVIRONMENT} gdb guile

Modified: gnucash/branches/reshuffle-modules/src/report/report-gnome/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/report/report-gnome/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/report/report-gnome/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -24,6 +24,6 @@
 
 LDADD = ../libgncmod-report-gnome.la
 
-noinst_PROGRAMS = test-link-module
+check_PROGRAMS = test-link-module
 
 EXTRA_DIST = test-load-module

Modified: gnucash/branches/reshuffle-modules/src/report/report-system/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/report/report-system/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/report/report-system/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -18,6 +18,6 @@
   $(shell ${top_srcdir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
 
 
-noinst_PROGRAMS = test-link-module
+check_PROGRAMS = test-link-module
 
 EXTRA_DIST = test-load-module

Modified: gnucash/branches/reshuffle-modules/src/scm/price-quotes.scm
===================================================================
--- gnucash/branches/reshuffle-modules/src/scm/price-quotes.scm	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/scm/price-quotes.scm	2007-01-03 08:31:13 UTC (rev 15306)
@@ -30,8 +30,8 @@
 (use-modules (gnucash main)) ;; FIXME: delete after we finish modularizing.
 (use-modules (gnucash gnc-module))
 (use-modules (gnucash core-utils))
-(use-modules (sw_gnome_utils)) ;; for gnucash-ui-is-running
 
+(gnc:module-load "gnucash/gnome-utils" 0) ;; for gnucash-ui-is-running
 (gnc:module-load "gnucash/app-utils" 0)
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Modified: gnucash/branches/reshuffle-modules/src/tax/us/test/Makefile.am
===================================================================
--- gnucash/branches/reshuffle-modules/src/tax/us/test/Makefile.am	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/src/tax/us/test/Makefile.am	2007-01-03 08:31:13 UTC (rev 15306)
@@ -13,6 +13,6 @@
 
 EXTRA_DIST = test-load-module
 
-noinst_PROGRAMS=test-link-module
+check_PROGRAMS=test-link-module
 test_link_module_SOURCES=test-link-module.c
 test_link_module_LDADD=../libgncmod-tax-us.la ${GUILE_LIBS} ${GLIB_LIBS}

Modified: gnucash/branches/reshuffle-modules/util/gnc-svnversion
===================================================================
--- gnucash/branches/reshuffle-modules/util/gnc-svnversion	2007-01-03 03:10:46 UTC (rev 15305)
+++ gnucash/branches/reshuffle-modules/util/gnc-svnversion	2007-01-03 08:31:13 UTC (rev 15306)
@@ -4,7 +4,7 @@
 #   gnc-svnversion <srcdir>
 #
 # Prints the revision number to stdout and exits 0 on success
-# exits with errorcode 1 if we're not in an svn or svk checkout
+# exits with errorcode 1 if we're not in an svn, svk or git checkout
 #
 # Written By:  Derek Atkins <derek at ihtfp.com>
 #
@@ -40,8 +40,21 @@
   exit $?
 fi
 
-# If we get here then this is NOT an svn checkout.  Maybe it's
-# SVK?  First, check if we've got 'svk' in the path.  If not,
+# If we get here then this is NOT an svn checkout.
+
+# Maybe it's git?
+if test -d "${real_srcdir}"/.git
+then
+  githead=`git --git-dir "${real_srcdir}"/.git rev-parse HEAD 2>/dev/null`
+  if test $? = 0 ; then
+    echo $githead
+    exit 0
+  else
+    exit 1
+  fi
+fi
+
+# Maybe it's SVK?  First, check if we've got 'svk' in the path.  If not,
 # then exit with an error code of 1..
 which svk >/dev/null 2>&1
 if test $? != 0 ; then exit 1 ; fi



More information about the gnucash-changes mailing list