aboutsummaryrefslogtreecommitdiffstats
path: root/HACKING
blob: b87faa3a786d60ba09a9a267a18b31ec9f1b8fd2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
                 -------------------------
                  strongSwan - Development
                 -------------------------

Subversion repository
---------------------

For interested developers, we have a public repository. To check out and 
compile the code, you need the following tools:

    - Subversion (1.3.1)
    - a recent GNU C complier (gcc-3.4.6)
    - recent autotools (autoconf-2.59, automake-1.9.6, libtool-1.5.22)
    - the usual strongSwan dependencies (gmp >= 4.1.4, optional curl, ldap)
    - perl (5.8.8)
    - lex (flex-2.5.33)
    - yacc (bison-2.1)
    - gperf (3.0.1)
    - Doxygen (1.4.6)

The numbers in brackets represent the versions used on our development systems,
other version MAY work, too. Not all tools are checked by the configure script,
as they are not needed in the tarball distributions, so check them manually.

To check out the trunk, use:

    svn co http://www.strongswan.org/ikev2/trunk strongswan

After a successful check out, give the autotools a try:

    cd strongswan/
    ./autogen.sh

Then you're in, start the build as usual:

    ./configure [options]
    make
    make install


API documentation
-----------------
Charon and libstrongswan contain inline code documentation. These comments can 
be extracted using doxygen. It is built using 'make apidoc', which creates an
'apidoc' folder containing the HTML files.


uClibc support
--------------

To run strongSwan on uClibc, you need at least:

String and Stdio Support --->
  [*] Support glibc's register_printf_function()
General Library Settings --->
  [*] Support global constructors and destructors

It is fairly untested yet, so don't except to get it running without
further tweaks.