

                              -------
                              INSTALL
                              -------


 Requirements
--------------

  You will need glib/gtk-1.2.10 (package names like glib and glibdev
  or glib-devel, gtk and gtkdev or gtk-devel or similar) or gtk2
  (package names correspond to gtk ones), libexpat (package name
  should be expat) and gettext to compile iMule. Also wxWidgets-2.8 or greater,
  linked against glib/gtk-1.2.10 is needed (package names wxGTK and
  wxGTK-devel or similar).

  It is known to compile in GCC 4.3 older GCC's probably 

 How to compile iMule
--------------------------

  After wxWidgets development libraries have been installed, you can compile iMule.

  Do "./configure --help" to see the list of options.
  
  Do "./configure <your chosen options>". If for some reason, wx-config cannot be 
  found, use ./configure --with-wx-config=/path/wx-config.
  
  Then "make" as usual.

  To install it as root type "sudo make install-sedentary".
   
  To install it as a no-priviledged user, type : "make prefix=<install directory> install-nomad"
  This will install a nomad version, with all files in the install directory, including runtime configuration files. You can change this when running iMule by going to Preferences->General and checking "per-user configuration".

  Note: If you are using a CVS version, you will have to run ./autogen.sh before
  ./configure to generate configure script. Automake > 1.5, Autoconf >= 2.57 and
  gettext are required.

  And if you want to remote-administer it, you should definitely try VNC (or 
  TightVNC). You probably won't get disappointed :)
  * http://www.realvnc.org/
  * http://www.tightvnc.org/

  If you change the chart colors and want to select a custom color... be sure to 
  press "Add to custom color"-button and select the color from there. Otherwise 
  color will not change :) 

 ADVANCED OPTIONS
------------------

  This are some of the availabe configure options:

    --enable-irouter          enable the internal I2P router
    --disable-debug           disable additional debugging output
    --enable-optimize         enable code optimizing
    --enable-profile          enable code profiling
    --enable-static           produce a statically linked executable
    --enable-embedded_crypto  use embedded Crypto code (default)
    --enable-imulecmd         compile iMule command line client
    --enable-imule-gui        compile iMule remote GUI (EXPERIMENTAL)
    --enable-imule-daemon     compile iMule daemon version
    --enable-webserver        compile iMule WebServer
    --enable-cas              compile C iMule Statistics
    --enable-wxcas            compile iMule GUI Statistics
    --disable-ed2k            don't compile iMule ed2k links handler
    --enable-alc              compile iMuleLinkCreator GUI version
    --enable-alcc             compile iMuleLinkCreator for console
    --disable-gsocket         disable gsocket.c linking
    --disable-gtk             disable pure GTK code in imule
    --enable-utf8-systray     use UTF-8 encoded strings in the systray
    --disable-systray         disable SysTray compilation
    --disable-monolithic      disable building of the monolithic iMule app
    --disable-gtktest         do not try to compile and run a test GTK+ program
    --disable-gtktest         do not try to compile and run a test GTK program
    --disable-rpath           do not hardcode runtime library paths
    --disable-nls             do not use Native Language Support
    --enable-ccache           enable ccache support for fast recompilation
    
	
  With --enable-optimize, -O flag will be added to the compilation options. If not 
  given, no optimization will occur. It is currently preferable not to optimise (in
  fact, it is not supported), because if iMule crashes, the optimised code will not
  produce usable stack trace. -O2 is reported to work fine, -O3 will totally crash
  on start up, don't waste your time as of now.

  With --enable-profile, -pg flag will be added to the compilation options. iMule 
  will then record profiling data in gmon.out, from which one can see where iMule 
  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

 Links
-------

  Compiling iMule
    http://www.imule.org/wiki/index.php/Compile
