Merged silc_1_0_branch to trunk.
[crypto.git] / README.DIST
1 How to create SILC distributions
2 ================================
3
4 This document describes how to prepare SILC distributions in SILC source
5 tree and how to package distributions for releasing.  This also defines
6 the procedure what one should do when distribution is created for
7 releasing.
8
9
10 The 'distributions' file
11 ========================
12
13 The 'distributions' file descibres all distributions that can be created 
14 from the SILC CVS source tree.  You should read that file if you want to 
15 learn how to create new distributions.  The file already defines the main 
16 distributions that can be created from the soure tree.  These are the 
17 'client', 'server' and 'toolkit' distributions.
18
19
20 Preparing distribution
21 ======================
22
23 The SILC CVS source tree must be prepared before it can be configured, 
24 compiled and packaged.  The ./prepare script is used to prepare 
25 distribution for configuration, compilation and packaging.  To prepare a 
26 specific distribution with specific version, give command:
27
28         autodist <name> <version>
29
30 Where the <name> is the distribution name.  It is one of the distributions 
31 that was defined in distdir/ directory.  The <version> is the version of 
32 the distribution that will be prepared.  The version format is 
33 major.minor.build, for example 0.9.10.  Example:
34
35         autodist client 0.9.15
36
37 This prepares 'client' distribution of version 0.9.15.  The package will 
38 have the version 0.9.15 automatically.
39
40
41 Configuring and compiling the distribution
42 ==========================================
43
44 When you prepare the distribution for releasing you should configure the 
45 distribution without any specific configuration options, hence just give 
46 the command:
47
48         ./configure
49
50 To compile the distribution, give command:
51
52         make
53
54 If you want you can clear the environment first with make clean command, 
55 but this is not necessary.
56
57
58 Packaging the distribution
59 ==========================
60
61 After the distribution is prepared, configured and compiled it can be 
62 packaged with the following commands:
63
64         make -C doc dist-hook
65         makedist --bzip2
66
67 The 'makedist --bzip2' creates the default 'tar.gz' and 'tar.bz2' 
68 distribution.
69
70 NOTE:  Before giving this command, make sure that you do not have any of 
71 the tests in the SILC source tree compiled.  If they are the binaries
72 will be included in the distribution which is not allowed.  The tests are 
73 always located in the tests/ directory, for example lib/silccore/tests/.
74 The tests are not compiled by default, but if you compiled them by 
75 yourself make sure you make clean them before creating the distribution.
76
77 NOTE:  Same thing must be assured for silcer/ and tutorial/ sub
78 directories.  Make sure they are not compiled and does not include any
79 extra files.  If you haven't compiled them after the CVS checkout, they do
80 not include any extra files.
81
82 NOTE for 'toolkit' distribution:  Before giving make dist the following
83 must be done:
84
85         go to util/robodoc/
86         give ./configure;make to compile robodoc
87         go to doc/
88         give make toolkit-ref-html
89
90 This then creates the Toolkit reference manual.  After this the toolkit 
91 distribution can be packaged.
92
93
94 Before releasing the distribution
95 =================================
96
97 Before releasing the distribution the created distribution must be tagged 
98 in the CVS so that it can be checkout at a later time, if needed.  The tag 
99 format is as follows:
100
101         silc_<name>_<version>
102
103 Where <name> is the distribution name and <version> is the version of the 
104 distribution in following format: major_minor_build, for example 0_9_10.  
105 Example:
106
107         silc_client_0_9_15
108
109 To tag the distribution go to the root of the SILC CVS source tree and 
110 give, for example, command:
111
112         cvs tag silc_client_0_9_15