updated documentation files
[strongswan.git] / HACKING
1                  -------------------------
2                   strongSwan - Development
3                  -------------------------
4
5 Subversion repository
6 ---------------------
7
8 For interested developers, we have a public repository. To check out and 
9 compile the code, you need the following tools:
10
11     - Subversion (1.3.1)
12     - a recent GNU C complier (gcc-3.4.6)
13     - recent autotools (autoconf-2.59, automake-1.9.6, libtool-1.5.22)
14     - the usual strongSwan dependencies (gmp >= 4.1.4, optional curl, ldap)
15     - perl (5.8.8)
16     - lex (flex-2.5.33)
17     - yacc (bison-2.1)
18     - gperf (3.0.1)
19     - Doxygen (1.4.6)
20
21 The numbers in brackets represent the versions used on our development systems,
22 other version MAY work, too. Not all tools are checked by the configure script,
23 as they are not needed in the tarball distributions, so check them manually.
24
25 To check out the trunk, use:
26
27     svn co http://www.strongswan.org/ikev2/trunk strongswan
28
29 After a successful check out, give the autotools a try:
30
31     cd strongswan/
32     ./autogen.sh
33
34 Then you're in, start the build as usual:
35
36     ./configure [options]
37     make
38     make install
39
40
41 API documentation
42 -----------------
43 Charon and libstrongswan contain inline code documentation. These comments can 
44 be extracted using doxygen. It is built using 'make apidoc', which creates an
45 'apidoc' folder containing the HTML files.
46
47
48 uClibc support
49 --------------
50
51 To run strongSwan on uClibc, you need at least:
52
53 String and Stdio Support --->
54   [*] Support glibc's register_printf_function()
55 General Library Settings --->
56   [*] Support global constructors and destructors
57
58 It is fairly untested yet, so don't except to get it running without
59 further tweaks.