Upstream tarball 20080630
[amule.git] / docs / INSTALL
blobebfe2ad28db7646457b97e2114a4c02c339b1d7e
3                               -------
4                               INSTALL
5                               -------
8  Requirements
9 --------------
11   You will need glib/gtk-1.2.10 (package names like glib and glibdev
12   or glib-devel, gtk and gtkdev or gtk-devel or similar) or gtk2
13   (package names correspond to gtk ones), libexpat (package name
14   should be expat) and gettext to compile aMule. Also wxWidgets-2.4.2 or greater (wxGTK-2.6.x is recommended),
15   linked against glib/gtk-1.2.10 is needed (package names wxGTK and
16   wxGTK-devel or similar).
18   If you compile with wxGTK-2.4.2, you will need wxBase-2.4.2
19   package,  too, if you want to use amulecmd (the TextClient).
20   You can link it to wxgtk too, but it won't run on non-graphical consoles,
21   thus removing all the fun ;)
22   Since wxWidgets-2.5.x you don't need wxBase anymore.
24   It is known to compile in GCC 3.2, 3.3 and 3.4, older GCC's probably 
25   can't handle Microsoft C++ well enough.
27  How to compile wxWidgets
28 --------------------------
30   Only GTK1 is supported. GTK2 with wxWidgets 2.6 and greater, but it is known
31   to have lots of leaks and so is not supported.
33   For GTK1:
34   ./configure  --prefix=/usr --disable-gtk2 --with-gtk && make
36   After wxWidgets has compiled and you have installed it, you can compile aMule.
37   Do "./configure && make" as usual. If for some reason, wx-config cannot be 
38   found, use ./configure --with-wx-config=/path/wx-config. Sometimes it will be
39   named wxgtk-2.4-config.
41   To install it, as root type "make install" anyway, you don't have to install
42   if you don't want to. It will run fine from the source directory too.
44   Note: If you are using a CVS version, you will have to run ./autogen.sh before
45   ./configure to generate configure script. Automake > 1.5, Autoconf >= 2.57 and
46   gettext are required.
48   And if you want to remote-administer it, you should definitely try VNC (or 
49   TightVNC). You probably won't get disappointed :)
50   * http://www.realvnc.org/
51   * http://www.tightvnc.org/
53   If you change the chart colors and want to select a custom color... be sure to 
54   press "Add to custom color"-button and select the color from there. Otherwise 
55   color will not change :) 
57  ADVANCED OPTIONS
58 ------------------
60   This are some of the availabe configure options:
62     --disable-debug           disable additional debugging output
63     --enable-optimize         enable code optimizing
64     --enable-profile          enable code profiling
65     --enable-static           produce a statically linked executable
66     --enable-embedded_crypto  use embedded Crypto code (default)
67     --enable-amulecmd         compile aMule command line client
68     --enable-amule-gui        compile aMule remote GUI (EXPERIMENTAL)
69     --enable-amule-daemon     compile aMule daemon version
70     --enable-webserver        compile aMule WebServer
71     --enable-cas              compile C aMule Statistics
72     --enable-wxcas            compile aMule GUI Statistics
73     --disable-ed2k            don't compile aMule ed2k links handler
74     --enable-alc              compile aMuleLinkCreator GUI version
75     --enable-alcc             compile aMuleLinkCreator for console
76     --disable-gsocket         disable gsocket.c linking
77     --disable-gtk             disable pure GTK code in amule
78     --enable-utf8-systray     use UTF-8 encoded strings in the systray
79     --disable-systray         disable SysTray compilation
80     --disable-monolithic      disable building of the monolithic aMule app
81     --disable-gtktest         do not try to compile and run a test GTK+ program
82     --disable-gtktest         do not try to compile and run a test GTK program
83     --disable-rpath           do not hardcode runtime library paths
84     --disable-nls             do not use Native Language Support
85     --enable-ccache           enable ccache support for fast recompilation
86         
87   With --enable-optimize, -O flag will be added to the compilation options. If not 
88   given, no optimization will occur. It is currently preferable not to optimise (in
89   fact, it is not supported), because if aMule crashes, the optimised code will not
90   produce usable stack trace. -O2 is reported to work fine, -O3 will totally crash
91   on start up, don't waste your time as of now.
93   With --enable-profile, -pg flag will be added to the compilation options. aMule 
94   will then record profiling data in gmon.out, from which one can see where aMule 
95   spends its time. You probably do not want to turn this on, unless you want to 
96   help the devs figure out where your CPU time is going :P
98  Links
99 -------
101   Compiling aMule and wxWidgets
102     http://www.amule.org/wiki/index.php/Compile