contrib: add NSIS to MinGW cross-compilation instructions
[siplcs.git] / contrib / mingw-cross-compile / README.txt
blob574550f5756c5b45550db149e87b7cb8283e3577
1 Introduction
2 ============
4 With these instructions you will be able to generate libsipe.dll on a Linux
5 machine that is compatible with the official Pidgin Windows releases.
7 The approach described here is based on this wiki page:
9    http://code.google.com/p/pidgin-privacy-please/wiki/HowToCrossCompileForWindowsAgainstLatestPidgin
11 The build has been verified to work at the time this text was written. When
12 you read this some things in Pidgin or MinGW might changed, so make sure to
13 check the comments on that wiki page for updates.
16 Preparation
17 ===========
19 You'll need a Linux machine with the following MinGW cross-compilation
20 packages installed:
22 Ubuntu:
23    sudo apt-get install mingw32 mingw32-binutils mingw32-runtime
25 Fedora:
26    sudo yum install mingw32-gcc
28 This will most likely work also for other Linux distros, but you'll have
29 to check what names the MinGW cross-compilation packages are for your
30 distro.
32 If you are trying to build the source code from the git repository then
33 you'll need additional tools installed, at least:
35    autoconf
36    automake
38 If you want to build the NSIS installer package then you'll need to install:
40    mingw32-nsis
43 Build
44 =====
46  - [pidgin-sipe source code from git instead from a release tarball]
47    run the following commands inside the git work area:
49       ./autogen.sh
50       ./configure
51       make dist-gzip
53    This will generate pidgin-sipe-<VERSION>.tar.gz
55  - create an empty directory and cd into it
57  - run contrib/mingw-cross-compile/fetch.sh from pidgin-sipe source
58    * make sure to check for fetch & unpack errors before proceeding!
60  - cd into build/pidgin-<...REPLACE PIDGIN VERSION HERE...>
62  - copy/unpack pidgin-sipe source code tree into into current directory
64  - [for Fedora only] run
66       sed -i s/-mno-cygwin// libpurple/win32/global.mak
68    (current Fedora MinGW cross-compiler doesn't like -mno-cygwin)
70  - run
72      cp pidgin-sipe-<...REPLACE PIDGIN-SIPE VERSION HERE...>/contrib/mingw-cross-compile/local.mak .
74  - run (this is one line on the command line!)
76      make -C pidgin-sipe-<...REPLACE PIDGIN-SIPE VERSION HERE...>/src/core
77           -f Makefile.mingw
79      (to compile without SSPI support add " USE_SSPI=" to the command line)
81 If everything goes well you should now have
83   pidgin-sipe-<...REPLACE PIDGIN-SIPE VERSION HERE...>/src/core/libsipe.dll
85 which you can copy into your Pidgin Windows installation directory.
87 NOTE: PLEASE make sure that there is NO OTHER libsipe.dll in that installation
88       or in your PATH!
91 NSIS Installer Package
92 ======================
94 After you have successfully executed the build:
96  - run (this is one line on the command line!)
98      PIDGIN_TREE_TOP=.. make
99           -C pidgin-sipe-<...REPLACE PIDGIN-SIPE VERSION HERE...>
100           -f Makefile.mingw cross-compile-nsis
102      (to compile without SSPI support add " USE_SSPI=" to the command line)
104 If everything goes well you should now have
106   pidgin-sipe-<...REPLACE PIDGIN-SIPE VERSION HERE...>.exe
108 which you now can execute on your Windows machine.