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.
- 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
-
v5
|
v6
|
|
23 | 23 | 2. Install the MinGW "current" packages from the [http://www.mingw.org MinGW site].[[BR]] |
24 | 24 | 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]] |
26 | 26 | You will need to set MinGW's bin directory before Cygwin's in your PATH.[[BR]] |
27 | 27 | For Example (You can add the following to `~/.bash_login`): |
… |
… |
|
31 | 31 | 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. |
32 | 32 | |
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]] |
34 | 34 | This can be overridden by creating a `local.mak` file in the `~/pidgin` directory and overriding the various Makefile variables. |
35 | 35 | [[BR]]**TODO: post example local.mak |
… |
… |
|
104 | 104 | You can download it [/static/win32/drmingw.exe here].[[BR]] |
105 | 105 | 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 | {{{ |
| 116 | CC := /usr/bin/i586-mingw32msvc-cc |
| 117 | GMSGFMT := msgfmt |
| 118 | MAKENSIS := /usr/bin/makensis |
| 119 | PERL := /usr/bin/perl |
| 120 | EXTUTILS := /usr/share/perl/5.8/ExtUtils |
| 121 | WINDRES := /usr/bin/i586-mingw32msvc-windres |
| 122 | STRIP := /usr/bin/i586-mingw32msvc-strip |
| 123 | |
| 124 | INCLUDE_PATHS := -I$(PIDGIN_TREE_TOP)/../win32-dev/w32api/include |
| 125 | LIB_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!