Mac OS X >= 10.7 support
[runtime.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 The distdir/ directory contains all distributions that can be created
10 from the source tree.  The distdir/default cannot be packaged, it must
11 be used only for development.
12
13
14 Preparing distribution
15 ======================
16
17 To prepare a specific distribution with specific version for packaging,
18 give command:
19
20         autodist <name> <version>
21
22 Where the <name> is the distribution name.  It is one of the distributions
23 that was defined in distdir/ directory.  The <version> is the version of
24 the distribution that will be prepared.  The version format is
25 major.minor.build, for example 0.9.10.  Example:
26
27         autodist client 0.9.15
28
29 This prepares 'client' distribution of version 0.9.15.  The package will
30 have the version 0.9.15 automatically.
31
32 NOTE: Those distribution that have RPM spec files you should specify the
33 RPM release version to autodist also by doing the following:
34
35         autodist toolkit 1.1.2 0.fc7
36
37 where the "0.fc7" will become the RPM release version.  If you omit the
38 release version the default currently is "0.fc7".
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 NOTE:  If you have SILC Toolkit installed to your system you must use
51 the following command to configure the distribution, so that the Toolkit
52 from the system is not used:
53
54         PKG_CONFIG=. ./configure
55
56 To compile the distribution, give command:
57
58         make
59
60 If you want you can clear the environment first with make clean command,
61 but this is not necessary.
62
63
64 Packaging the distribution
65 ==========================
66
67 After the distribution is prepared, configured and compiled it can be
68 packaged with the following commands:
69
70         make -C doc dist-hook
71         makedist --bzip2
72
73 The 'makedist --bzip2' creates the default 'tar.gz' and 'tar.bz2'
74 distribution.
75
76 NOTE:  Before giving this command, make sure that you do not have any of
77 the tests in the SILC source tree compiled.  If they are the binaries
78 will be included in the distribution which is not allowed.  The tests are
79 always located in the tests/ directory, for example lib/silccore/tests/.
80 The tests are not compiled by default, but if you compiled them by
81 yourself make sure you make clean them before creating the distribution.
82
83 NOTE:  Same thing must be assured for silcer/ and tutorial/ sub
84 directories.  Make sure they are not compiled and does not include any
85 extra files.  If you haven't compiled them after the CVS checkout, they do
86 not include any extra files.
87
88 NOTE for 'toolkit' distribution:  Running ./configure for toolkit
89 distribution is not necessary.  Toolkit is packaged simply by giving
90 command:
91
92         makedist
93
94
95 Before releasing the distribution
96 =================================
97
98 Before releasing the distribution the created distribution must be tagged
99 in the CVS so that it can be checkout at a later time, if needed.  The tag
100 format is as follows:
101
102         silc_<name>_<version>
103
104 Where <name> is the distribution name and <version> is the version of the
105 distribution in following format: major_minor_build, for example 0_9_10.
106 Example:
107
108         silc_client_0_9_15
109
110 To tag the distribution go to the root of the SILC CVS source tree and
111 give, for example, command:
112
113         cvs tag silc_client_0_9_15