xMule's Requirements:
----------------------------------
wxGTK 2.6.3 (wxWidgets GTK Interface) - http://www.wxwidgets.org
GNU Compiler Collection (GCC) 4.1.1   - http://gcc.gnu.org/
Crypto++ 5.2.1 (Optional)             - http://www.eskimo.com/~weidai/cryptlib.html


Steps to compile wxWidgets:
----------------------------------
1. Extract wxWidgets
2. ./configure --enable-debug --disable-unicode
3. make
4. make install


Steps to compile xMule:
----------------------------------
1. Extract xMule
2. ./configure --enable-debug
3. make
4. make install


Notes:
----------------------------------
1. Compilation should work on GCC 3.2 and above. Using the
   latest GCC is always recommended.
2. Using the latest wxWidgets is recommended in order
   to avoid bugs and get a beautiful GTK2 xMule interface.
3. Always use --enable-debug so that you'll be able to report
   usefull backtraces.
4. If you are using the SVN trunk, make sure you run ./autogen.sh
   so that a configure script will get generated (autoconf >= 2.57 is required).


Configure Script Advanced Options:
----------------------------------
1. Option: --enable-optimise
   Explanation: -O flag will be added to the compilation options.
   If not given, no optimization will occur. It is currently preferable NOT
   to optimise, because if xMule crashes, the optimised code will not produce
   usable stack trace. -O2 is reported to work fine, -O3 will totally crash
   on startup, don't waste your time as of now.

2. Option: --enable-profile
   Explanation: -pg flag will be added to the compilation options.
   xMule will then record profiling data in gmon.out, from which one can see
   where xMule spends its time. You probably do NOT want to turn this on, unless
   you want to help the devs figure out where your CPU time is going... :P

3. Option: --disable-debug-syms
   Explanation: With this option, no debugging symbols are added to the binary
   files generated. Be aware the programs built with this options do not produce
   usable backtraces. This option has no effect when --enable-debug is specified too.

4. Option --disable-precomp
   Explanation: xMule uses Precompiled Headers with G++ 3.4 or greater.
   To disable using precompiled headers use this option.

5. Option: --disable-gtk
   Explanation: Disable pure GTK code in xMule. If you have problems with the system tray.


Post compilation:
----------------------------------
After compiling you have to copy xmule-binary from xmule/src/xmule to whereever you want and to copy
xmule/src/resource-directory to $HOME/.xMule/resource, if you don't start ./xmule from your xmule/src-directory.
Otherwise, you will miss some popup-menues inside the FlowChart-Window, which are needed to enable functions
like "source-exchange" and "securehash/ident/creditfiles".
