Trac is being migrated to new services! Issues can be found in our new YouTrack instance and WIKI pages can be found on our website.

Changes between Version 5 and Version 6 of BuildingWinPidgin


Ignore:
Timestamp:
May 7, 2007, 2:42:58 PM (17 years ago)
Author:
datallah
Comment:

Clarify and add cross-compiling instructions

Legend:

Unmodified
Added
Removed
Modified
  • BuildingWinPidgin

    v5 v6  
    2323  2. Install the MinGW "current" packages from the [http://www.mingw.org MinGW site].[[BR]]
    2424     The easiest way to install these is to use the MinGW Installer linked to from the main site.[[BR]]
    25      Specifically, you will need `gcc-core 3.4.2`, `binutils 2.15.91`, `mingw-runtime 3.9` and `win32api 3.7` (or newer).[[BR]]
     25     Specifically, you will need `gcc-core 3.4.2`, `binutils 2.15.91`, `mingw-runtime 3.9` and `win32api 3.9` (or newer).[[BR]]
    2626     You will need to set MinGW's bin directory before Cygwin's in your PATH.[[BR]]
    2727     For Example (You can add the following to `~/.bash_login`):
     
    3131     You do not want to use any of Cygwin's build tools, with one exception; you need to use Cygwin's make utility. If typing `which make` produces MinGW's make utility, then just rename the `make.exe` in the MinGW bin directory to something else so that cygwin's make utility will be used instead. This shouldn't be a problem with recent versions of MinGW.
    3232
    33   3. The following instructions were written under the assumption that you checkout Pidgin from monotone to `~/pidgin` and that you install all of Pidgin's build dependencies under `~/win32-dev` (the point being that the `pidgin` and `win32-dev` directories should be on the same level).[[BR]]
     33  3. The following instructions were written under the assumption that you checkout Pidgin from monotone to `~/pidgin` and that you install all of Pidgin's build dependencies under `~/win32-dev` (the point being that the pidgin source root and `win32-dev` directories should be on the same level).[[BR]]
    3434     This can be overridden by creating a `local.mak` file in the `~/pidgin` directory and overriding the various Makefile variables.
    3535     [[BR]]**TODO: post example local.mak
     
    104104  You can download it [/static/win32/drmingw.exe here].[[BR]]
    105105  You can also use `gdb` is available from MinGW.
     106
     107== Cross Compiling ==
     108  It is quite easy to cross compile Pidgin for Windows on a Linux machine.
     109
     110  To begin, you'll need to install MinGW. On Debian/Ubuntu, this involves installing packages `mingw32`, `mingw32-binutils`, and `mingw32-runtime`. On other distributions, the packages may be named differently.
     111
     112  Set up a build environment as described [#Themanualway above], skipping steps 1 and 2.
     113
     114  Create a `local.mak` file in the source directory root to override the Makefile variables - mine looks like this:
     115{{{
     116CC := /usr/bin/i586-mingw32msvc-cc
     117GMSGFMT := msgfmt
     118MAKENSIS := /usr/bin/makensis
     119PERL := /usr/bin/perl
     120EXTUTILS := /usr/share/perl/5.8/ExtUtils
     121WINDRES := /usr/bin/i586-mingw32msvc-windres
     122STRIP := /usr/bin/i586-mingw32msvc-strip
     123
     124INCLUDE_PATHS := -I$(PIDGIN_TREE_TOP)/../win32-dev/w32api/include
     125LIB_PATHS := -L$(PIDGIN_TREE_TOP)/../win32-dev/w32api/lib
     126}}}
     127
     128  If your distribution doesn't include a recent enough win32api, you can download it from the [http://www.mingw.org/ MinGW site], extract it into your `win32-dev` directory, and override the `INCLUDE_PATHS` and `LIB_PATHS` variables in your `local.mak` as I have done.
     129
     130  Once this is set up, you should be able to follow the [#BuildPidgin building instructions above].
     131
     132  ** Note: I haven't been able to get the NSIS installer to to build correctly on my 64-bit Linux system.
     133
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!