Difference between revisions of "HowTo compile on Win32 with MinGW"
GonoszTopi (Talk | contribs) (=Running=) |
|||
Line 71: | Line 71: | ||
== Running == | == Running == | ||
− | To run the binnaries we've created you need ''mingwm10.dll''. This file can be found in ''C:\MinGW\bin\mingwm10.dll'' (or whatever path you used to install [http://www.mingw.org MinGW]. | + | To run the binnaries we've created you need ''mingwm10.dll''. This file can be found in ''C:\MinGW\bin\mingwm10.dll'' (or whatever path you used to install [http://www.mingw.org MinGW]). |
− | You now have to place this file in some place so that the binnaries find it when they are executed. Here you have | + | You now have to place this file in some place so that the binnaries find it when they are executed. Here you have three options: |
#Place it in the same folder where the binnaries are (if you have them spread in several different folders, copy this file once into each folder. Since it is a very small file, it is not much of a loss). | #Place it in the same folder where the binnaries are (if you have them spread in several different folders, copy this file once into each folder. Since it is a very small file, it is not much of a loss). | ||
#Place it in ''C:\windows'' or some other any other path where [http://www.microsoft.com/windows Windows] might look for libraries (such as ''C:\Windows\System'' or ''C:\Windows\System32''). | #Place it in ''C:\windows'' or some other any other path where [http://www.microsoft.com/windows Windows] might look for libraries (such as ''C:\Windows\System'' or ''C:\Windows\System32''). | ||
+ | #Add ''C:\MinGW\bin'' (or whatever path you used to install [http://www.mingw.org MinGW]) to your ''PATH'' environment variable. | ||
Now... just run your binnaries and have fun with [[aMule]] on your [http://www.microsoft.com/windows Windows] box! | Now... just run your binnaries and have fun with [[aMule]] on your [http://www.microsoft.com/windows Windows] box! |
Revision as of 13:45, 3 September 2005
Contents
Originally by Madcat
English | Deutsch
This wiki page only covers the latest CVS version of aMule, not releases in the 1.x.x or 2.x.x branches.
For those of you that don't want to compile aMule from source, there is also the option of the aMule Windows Installer.
Requirements for compiling aMule
You will need the following packages:
- Windows port of GNU C compiler, MinGW -> Download (4.1.1)
- Minimal GNU shell for Windows, MSys -> Download (1.0.10)
- Developer toolkit for MSys (for CVS & co) -> Download (1.0.1)
- LibIConv (required by gettext) -> Download (1.8)
- GetText (for po files, autogen.sh, etc) -> Download (0.11.5)
- zlib compression library -> Download (1.2.3)
- Windows port of wxWidgets library (knows as wxMSW) -> Download (2.6.1)
- aMule's latest release sources or aMule CVS -> Download aMule
Also, 800MB-1500MB free space on your hard disk (around 40MB to download the above packages and the rest for temporary compilation files and installations. The amount of space needed will largely depend on the configuration flags you use).
As a reference, the whole compilation process will take around 3 hours on a medium-high resourced computer.
Installing the Minimal System
The first step is to create a Linux-like environment, which is required in order to be able to perform the build. This can be done by following these steps in this order:
- Install MinGW. Select Compact installation unless you know what you are doing. When it prompts you for a folder, the default (C:\mingw) is slightly messy but the safer selection.
- Install MSys. When it prompts you for the MinGW folder, it's very important to specify it correctly. Failure on this step will stop any compilation attempts. If for some reason you fail, install MSys again, or edit the file /etc/fstab in your MSys environment.
- Install the MSys developer toolkit.
- Install LibIConv.
- Install GetText.
Compiling the libraries
There are two libraries that aMule will need compiled: zlib and wxWidgets.
We will compile them from MSys, so just run it. Once you are running MSys, you'll be on your home folder. Copy the zlib and wxWidgets files you downloaded above into this folder (something like C:\msys\1.0\home\user).
The steps for compiling them is:
- zlib: Uncompress zlib, cd to the newly created directory and run ./configure --prefix=/mingw && make && make install
- wxWidgets: Uncompress wxWidgets, cd to the newly created directory and run ./configure --disable-shared --without-checklistbox && make && make install
If you want to help us developers, you can add --enable-debug flag to the wxWidgets configure command, right after --disable-shared, but be warned it will result into an aMule.exe file bigger than 100MB.
Compilation
Ok, we're all done with the compilation environment. Let's do the last step: compiling aMule.
First of all, extract aMule's sources and enter the newly created folder.
The compilation itself is actually just a matter of following the usual method: ./configure && make. Use your favorite flags on ./configure, for example, --disable-debug will remove debug info, but will also make it harder for us developers to understand the bugs you might find.
You might want to compile just the remote GUI: the flags would be --disable-monolithic --disable-ed2k --enable-amule-gui
Beware: The following programs do not work yet on Windows:
- aMule Daemon: Doesn't even compile.
- aMuleGUI: Fails to communicate with aMule.
- aMuleCMDDLG: Fails to communicate with aMule. The command-line version, aMuleCMD, still works though.
- aMuleWebDLG: Fails to communicate with aMule. The command-line version, aMuleWeb, still works though.
- ed2k: Fails to send the ed2k links to aMule.
- CAS: Fails to find the signature file.
Note: To keep the size of the binnaries down, you can run strip from within MSys.
Running
To run the binnaries we've created you need mingwm10.dll. This file can be found in C:\MinGW\bin\mingwm10.dll (or whatever path you used to install MinGW).
You now have to place this file in some place so that the binnaries find it when they are executed. Here you have three options:
- Place it in the same folder where the binnaries are (if you have them spread in several different folders, copy this file once into each folder. Since it is a very small file, it is not much of a loss).
- Place it in C:\windows or some other any other path where Windows might look for libraries (such as C:\Windows\System or C:\Windows\System32).
- Add C:\MinGW\bin (or whatever path you used to install MinGW) to your PATH environment variable.
Now... just run your binnaries and have fun with aMule on your Windows box!
Note: By default, the binnaries are compiled to C:\MSys\1.0\home\user\amule-2.0.3\src\.
Having different languages
Now aMule will be successfully running, but you will not be able to use any other language but default english.
TO be able to choose between any of the lot of languages aMule is shipped with, from MSys go to aMule's extracted folder and then into po/ folder. Something like the following should do it:
cd cd amule-2.0.3/po
Now install the languages:
make install-data-yes
This language files are now in C:\MSys\1.0\local\share\locale, so exit MSys, go to C:\msys\1.0\local\share\locale and copy that folder to the folder were you are keeping your compiled amule.exe and amulegui.exe files.