updates.
[silc.git] / README.CVS
1 Anonymous CVS Access
2 ====================
3
4 Anonymous CVS access is now available to SILC CVS repository. The
5 repository includes everything related to SILC project; source codes,
6 documentation and web pages.
7
8 Also note that this is the closest to real time development you can get
9 thus you cannot expect that the source tree would work or even compile.
10 While it is our intention that the trunk would always at least compile
11 there might be situations when it will not.
12
13
14 Howto Checkout The Source Tree
15 ==============================
16
17 The repository can be checked out by using anonymous pserver with CVS.
18 There are no password restrictions in the SILC anonymous CVS repository.
19
20 For those who are using sh/ksh/bash the check out is done as follows:
21
22 export CVSROOT=:pserver:silc@silc.pspt.fi:/storage/silc/CVS
23 cvs login
24 cvs co silc
25
26 For those who are using csh/tcsh the check out is done as follows:
27
28 setenv CVSROOT :pserver:silc@silc.pspt.fi:/storage/silc/CVS
29 cvs login
30 cvs co silc
31
32 If you don't want to set $CVSROOT environment variable you can set the
33 path to the cvs as command line options:
34
35 cvs -d:pserver:silc@silc.pspt.fi:/storage/silc/CVS login
36 cvs -d:pserver:silc@silc.pspt.fi:/storage/silc/CVS co silc
37
38 What ever method you decide to use, after you have done cvs login you will
39 be prompted for password:
40
41         CVS password: silc
42
43 Type the password "silc" and press Enter.
44
45 The actual SILC source tree is checked out using the cvs co silc command,
46 described above. This command will fetch the source tree and save it into
47 directory named silc. SILC CVS repository currently does not have any
48 branches thus this will check out the trunk. The size of the trunk is
49 currently about 8 Mb but will grow in the future.
50
51
52 What SILC Source Tree Includes
53 ==============================
54
55 SILC Source tree includes a lot more stuff that appears in public
56 distribution.  The source tree includes, for example, internal scripts,
57 configuration files, SILC webpages etc.  These never appear on a public
58 distribution.
59
60 Following directories currently exist in SILC source tree.
61
62   doc/
63
64         Includes all the SILC documentation.  Some of the documentation
65         are generated when distribution is generated.  The automatically
66         generated files must never be commited to CVS.
67
68   includes/
69
70         Includes SILC include files.
71
72   lib/
73
74         Includes SILC libraries.  There maybe libraries on the CVS that
75         does not appear on public distribution.
76
77   public_html/
78
79         Includes the official SILC web pages and everything that relates
80         to them.  This directory never appears on public distribution.
81
82   silc/
83
84         Includes SILC client.  There can be some extra files that will
85         never appear in public distribution, such as, configuration files.
86
87   silcd/
88
89         Includes SILC server.  There can be some extra files that will
90         never appear in public distribution, such as, configuration files.
91
92
93 Howto Compile SILC Source Tree
94 ==============================
95
96 After checkout from CVS the SILC source tree must be prepared for 
97 configuration and compilation.  To compile the source tree, give,
98
99         ./prepare
100         ./configure --enable-debug
101         make
102
103 The ./prepare script is included in to the source tree and it never
104 appears in public distribution.  The script prepares the source tree
105 by creating configuration scripts and Makefiles.  The prepare must be
106 run every time you make some changes to configuration scripts (however,
107 making changes to Makefile.am's does not require running ./prepare).
108
109 As a developer you should read the ./configure script's help by
110 giving ./configure --help and study all of its different options.  Also,
111 you should configure the script with --enable-debug option as it
112 compiles SILC with -g (debugging) option and it enables the 
113 SILC_LOG_DEBUG* scripts.  Warning is due here:  The debugging produced
114 by both cilent and server is very heavy, thus it is common to test
115 the programs as follows:
116
117         ./silc -d -f configfile 2>log
118         ./silcd -d -f configfile 2>log
119
120 Do not give the -d options if you do not want to dump the debugging.
121
122
123 Howto Clean SILC Source Tree
124 ============================
125
126 To entirely clear the source tree to the state after it was checked out
127 from CVS, give,
128
129         ./prepare-clean
130
131 This calls `make distclean' plus removes automatically generated files
132 by hand.  It also removes *.log files. However, it will not remove
133 any other files you might have created.
134
135
136 Makefiles and configuration files
137 =================================
138
139 Developers should never directly write a Makefile.  All Makefiles are
140 always automatically generated by ./prepare and later by ./configure
141 scripts.  Instead, developers must write Makefile.am files.  There
142 are plenty of examples what they should look like.  If you change
143 Makefile.am during development you don't have to run ./prepare, just
144 run normal make.
145
146 Configuration files are the files that ./prepare automatically generates
147 and what will be included into public distribution.  ./prepare creates
148 for example the ./configure script that is not commited to the CVS.
149 `configure.in' is the file that developers must edit to change ./configure
150 script.  After changing one must run  ./prepare.