Files
gnucash/packaging/win32
Christian Stimming 961539fc7c Win32 build: libguile needs minor tweaking for MSVC compatibility.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18774 57a11ea4-9604-0410-9ed3-97b8803252fd
2010-03-01 18:45:11 +00:00
..
2009-07-07 02:45:46 +00:00

These scripts try to download and install a Windows/mingw32 build
environment for GnuCash on Windows. 

For cross-compiling the windows executable on Linux, see the lower
section of this file.

Before you start with the automated build, you have to complete these
steps manually. The directory variables are set in `defaults.sh' and optionally
`custom.sh'.

Note: The mingw homepage is http://www.mingw.org. You can read more
      about mingw over there. The packages to download are all
      on sourceforge however, so the direct links are given here.

* Download MSYS from
  https://sourceforge.net/projects/mingw/files/MSYS%20Base%20System/msys-1.0.11/MSYS-1.0.11.exe/download
  to $DOWNLOAD_DIR
  Note: there may be a more recent version available when you read this, use
        whatever verion that is available. BUT: be sure to use MSYS-xyz.exe
        (ie the MSYS installer) and not the *bin.tar.lzma. I got confused
        the first time I tried, because directory msys-1.0.12 existed on
        sourceforge, but it didn't have the windows installer. You should
        use the installer, not try to unpack the -bin.tar.lzma files. So
        choose whatever version that has got an installer.

* Install MSYS into $MSYS_DIR.

* Download minwPORT's wget from
  https://sourceforge.net/projects/mingw/files/mingwPORT/Current%20Releases/wget-1.9.1-mingwPORT.tar.bz2/download
  to $DOWNLOAD_DIR
  Note: the version number may have changed when you try this. Use whatever version
        that is available

* Look at defaults.sh and create a file named custom.sh to specify adapted directory
  variables.  If you want verbose output of any script
  step, add "set -x" to that file.

* Either, download Qt from http://www.trolltech.com/developer/downloads/qt/windows,
  install it and set QTDIR in custom.sh, like "QTDIR=/c/Qt/4.2.3"; or skip building
  the AqBanking Setup Wizard by specifying "AQBANKING_WITH_QT=no".

Start/Enter any MSYS shell window. Let the automated build begin by:

  $INSTALLER_DIR/install.sh

Good luck!

To generate a self-installing setup.exe file that contains
*everything*, run the following command after install.sh has
completed:

  $INSTALLER_DIR/dist.sh

More information is collected on http://wiki.gnucash.org/wiki/Windows


--------------------------

Cross-compiling a Windows/mingw32 executable of GnuCash on a Linux
host system. (Note: This used to work unchangedly in Sept'2006 but
probably not any longer.)

These steps need to be performed:

1. Edit the file create_cross_mingw.sh and set the PREFIX= variable to
   the preferred prefix of the mingw32 gcc/binutils on your
   Linux. (It is strongly recommended to choose a different prefix
   than your normal compiler toolchain in order to distinguish
   your native vs. cross compiler more easily.) Then run the
   script create_cross_mingw.sh - it will
   download, compile, and install a mingw32 toolchain.

2. Edit the file defaults.sh: Make a global search-and-replace of
   '\\' into '/' so that all directories are specified in unix
   conventions. Set the variable cross_compile to "yes". Then
   adjust the directories in defaults.sh according to your
   preferred installation, especially $GLOBAL_DIR.

3. Download a binary windows packages for "guile" e.g. from
   http://www.tu-harburg.de/~et2cs/gnc/ and unpack it into the
   directory $GUILE_DIR as given in defaults.sh. (This is done because
   the build system for guile doesn't support cross-compiling.)

4. Call install.sh, which will read the directory settings from
   defaults.sh. It should download, compile, and install everything
   automatically. Eventually the windows gnucash is installed into
   $GNUCASH_DIR. 

5. The content of $GNUCASH_DIR (as well as all the other binary
   packages) should then be copied to a windows machine. The paths
   in $GNUCASH_DIR/bin/gnucash and/or $GNUCASH_DIR/bin/gnucash.cmd
   need to be adjusted for the installation location on the
   windows machine.

Good luck!