gnucash/packaging/win32/README
Geert Janssens d7cf97feb4 Improve the cross-compilation process.
- improve create_cross_mingw.sh's integration in defaults.sh and install.sh
- update README file

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@19104 57a11ea4-9604-0410-9ed3-97b8803252fd
2010-05-04 23:40:29 +00:00

108 lines
4.4 KiB
Plaintext

These scripts try to download and install a Windows/mingw32 build
environment for GnuCash on Windows.
These scripts support two ways to build a Windows/mingw32 version of GnuCash:
- directly on a Windows PC
- via cross-compilation on Linux
1. Build GnuCash directly on a Windows PC
-----------------------------------------
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 version 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 mingwPORT'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
Note: if you didn't download and install Qt earlier, this command will fail
regardless of whether you disabled AQ_BANKING_WITH_QT or not. This is
a bug in the configuration script for the installer builder (issc).
More information is collected on http://wiki.gnucash.org/wiki/Windows
2. Cross-compile GnuCash/win32 on a linux PC
--------------------------------------------
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. 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. Particularly for cross-compiling,
set these variables:
* cross_compile: should be set to yes
* GLOBAL_DIR: the base directory for all other directory definitions,
unless you explicitly override it for some directories.
* MINGW_DIR: set this to your preferred prefix of the mingw32 gcc/binutils
on your Linux installation.
(It is strongly recommended to choose a prefix different
from your normal compiler tool chain in order to distinguish
your native vs. cross compiler more easily.)
2. Then run the script create_cross_mingw.sh - it will
download, compile, and install a mingw32 tool chain.
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/custom.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!