45ee00b12b060105ff5ba6839748f6efe8d3d4fa
[runtime.git] / doc / runtime.in / building.html
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3                       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 <html  xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5 <head>
6 <meta http-equiv="Content-Style-Type" content="text/css" />
7 <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
8 <link rel="stylesheet" href="./runtime.css" type="text/css" />
9 <title>SILC Runtime Toolkit</title>
10 </head>
11 <body>
12
13 <div id="logo">
14 <table border="0" cellspacing="0" cellpadding="6" width="100%">
15  <tr valign="top">
16   <td>Copyright &copy; 2001 - 2008 SILC Project<br />
17     <a href="http://silcnet.org">SILC Project Website</a></td>
18   <td align="right">
19    <a href="index.html">SILC Runtime Toolkit Manual</a><br />
20    <a href="masterindex.html">Index</a></small></td>
21   </td>
22  </tr>
23 </table>
24 </div>
25
26 <div id="contentwrapper">
27 <div id="navigation">
28 </div> <!-- navigation -->
29 <div id="content">
30
31 <big><b>Building the Toolkit</b></big>
32
33 <br />&nbsp;<br />
34 SILC Runtime Toolkit works on various platforms, such as on several Unix
35 systems and on Windows.  Building of the Toolkit on some platform may
36 differ from the other.  This document describes how to build the Toolkit
37 from the sources, to create linkable libraries and binaries, on all
38 platforms the Toolkit support.
39
40 <br />&nbsp;<br />
41 The building instructions for all platforms are also included in the Toolkit
42 package.  Please refer to the INSTALL file for general building instructions
43 for Unix systems, README.WIN32 for building on Windows systems,
44 README.MACOSX for building on Mac OS X, and README_SYMBIAN for building on
45 Symbian OS.
46 <br />
47
48 <ul class="toc_entries">
49 <li><a href="#unix">Building on Unix & Linux</a><br />
50 <li><a href="#windows">Building on Windows</a><br />
51 <li><a href="#macosx">Building on Mac OS X</a>
52 <li><a href="#symbian">Building on Symbian OS</a>
53 </ul>
54
55 <b><a name="unix"></a>Building on Unix & Linux</b>
56
57 <br />&nbsp;<br />
58 On Unix systems both statically and dynamically linkable libraries are
59 built by default.
60
61 <br />&nbsp;<br />
62 To build Toolkit on Unix systems, give commands:
63
64 <br />&nbsp;<br />
65 <tt>
66 ./configure<br />
67 make
68 </tt>
69
70 <br />&nbsp;<br />
71 On some systems you may need to give "gmake" command instead of "make".  The
72 ./configure can take several options as arguments.  To see them all give
73 command:
74
75 <br />&nbsp;<br />
76 <tt>./configure --help</tt>
77
78 <br />&nbsp;<br />
79 The most important configuration options you may consider to use are:
80
81 <br />&nbsp;<br />
82 <tt>--enable-debug</tt>
83
84 <br />&nbsp;<br />
85 If you would like to enable the debugging for the compiled binaries
86 you can give this option to the `configure'.  It is recommended to use
87 this option when you are doing development with Toolkit.  It is helpful
88 to enable run-time debugging.
89
90 <br />&nbsp;<br />
91 <tt>--with-iconv[=DIR]</tt>
92
93 <br />&nbsp;<br />
94 If your system doesn't provide iconv() function in its native libraries
95 (usually libc) or if this function is broken (e.g. older Solaris systems),
96 you may want to use libiconv instead.  The DIR is the upper path in your
97 system which contains lib/ and include/ for libiconv (e.g. /usr/local).
98
99 <br />&nbsp;<br />
100 <tt>--without-pthreads</tt>
101
102 <br />&nbsp;<br />
103 If you do not want to compile the programs with POSIX multi-threads support
104 you can give --without-pthreads option.  This will disable the SILC Thread
105 API and SILC Mutex API.  Furthermore if SILC Thread API is used when this
106 option is used, the routines work, but do not work in threads (are run
107 in the calling process and can block the process).
108
109 <br />&nbsp;<br />
110 <tt>--disable-asm</tt>
111
112 <br />&nbsp;<br />
113 If you have trouble compiling the assembler optimized code in the
114 package or does not want to use them, you can give the --disable-asm
115 option to the `configure' script.  This will assure that assembler
116 optimized code is not compiled in.
117
118 <br />&nbsp;<br />
119 <tt>--enable-ipv6</tt>
120
121 <br />&nbsp;<br />
122 The `configure' will attempt to check for IPv6 support in your system.
123 However, if it fails, but you still want to compile in the IPv6 support
124 you can give --enable-ipv6 option to force the IPv6 support.
125
126 <br />&nbsp;<br />
127 <tt>--disable-cpu-optimizations</tt>
128
129 <br />&nbsp;<br />
130 By default the configure script will attempt to detect the type of your
131 CPU and enable any features specific to your CPU that could optimize the
132 performance of the Toolkit.  If you are creating binary package that
133 should work on any CPU (and not only your CPU) you should diable these
134 optimizations.  If you compile it for yourself only, keeping the
135 optimizations enabled is recommended.
136
137 <br />&nbsp;<br />
138 After compilation you can install the Toolkit into your system by giving
139 the command:
140
141 <br />&nbsp;<br />
142 <tt>make install</tt>
143
144
145 <br />&nbsp;<br />&nbsp;<br />
146 <b><a name="windows"></a>Building on Windows</b>
147
148 <br />&nbsp;<br />
149 The Toolkit can be compiled several different ways on Windows.  However,
150 this document describes the method to build the Toolkit to produce native
151 Win32 binaries.  The Toolkit package can also be compiled on Cygwin and
152 MinGW.  For these systems please refer to the README.WIN32 file in the
153 Toolkit package.
154
155 <br />&nbsp;<br />
156 The Toolkit package includes ready MSVC++ Workspace files, that will
157 automatically compile the Toolkit.  The MSVC++ workspace and project files
158 resides in the win32/ subdirectory of the Toolkit package.  The `srt.dsw'
159 file is the workspace file that automatically supports compiling the Toolkit
160 and to generate the SILC Runtime DLL (libsrt.dll).  You may also compile
161 debug version by selecteing the Debug compilation method.
162
163 <br />&nbsp;<br />&nbsp;<br />
164 <b><a name="macosx"></a>Building on Mac OS X</b>
165
166 <br />&nbsp;<br />
167 Building the Toolkit on Mac OS X is almost identical on compiling on Unix
168 system.  The reason for this is that the Mac OS X is Unix based operating
169 system.  To build the Toolkit on Mac OS X, give the following commands:
170
171 <br />&nbsp;<br />
172 <tt>
173 setenv CFLAGS -no-cpp-precomp<br />
174 ./configure powerpc<br />
175 make
176 </tt>
177
178 <br />&nbsp;<br />
179 The ./configure can take several options as arguments.  To see them all give
180 command:
181
182 <br />&nbsp;<br />
183 <tt>./configure --help</tt>
184
185 <br />&nbsp;<br />
186 To compile, give:
187
188 <br />&nbsp;<br />
189 <tt>
190 make
191 </tt>
192
193 <br />&nbsp;<br />
194 After compilation you can install the Toolkit into your system by giving
195 the command:
196
197 <br />&nbsp;<br />
198 <tt>make install</tt>
199
200 <br />&nbsp;<br />&nbsp;<br />
201 <b><a name="symbian"></a>Building on Symbian OS</b>
202
203 <br />&nbsp;<br />
204 The build environment for Symbian OS requires Carbide.c++ and MS Windows.
205
206 <br />&nbsp;<br />
207 Download the freely available Carbide.c++ from Nokia at
208 <a href="http://forum.nokia.com">http://forum.nokia.com</a>.  The exact
209 hyperlink location changes often, so it is not referenced here.  It is
210 usually under "Tools and SDKs" link.
211
212 <br />&nbsp;<br />
213 After installation a web browser is opened automatically by the
214 Carbide.c++ installer.  Follow its instructions by installing the Perl,
215 CTags and the SDK.  Perl and the SDK are required, but CTags is
216 optional and if necessary can be omitted.
217
218 <br />&nbsp;<br />
219 The Toolkit is generic C and C++ code and should work with any
220 SDK.  If you don't have SDK already installed, install the latest
221 version you can find.  The links to SDKs are found in the Carbide.c++
222 instructions after installation.  If you already have SDK in your
223 system, you should use that.
224
225 <br />&nbsp;<br />
226 After installation import the Toolkit project to Carbide.c++ from the
227 symbian/ subdirectory in the Toolkit package.
228
229 <br />&nbsp;<br />
230 Please read the README.SYMBIAN from the SILC Runtime Toolkit package for
231 complete building instructions.
232
233 <br />&nbsp;<br />
234 </div> <!-- content -->
235
236 </div> <!-- contentwrapper -->
237 <div id="footer">
238 <table border="0" cellspacing="0" cellpadding="6" width="100%">
239  <tr valign="top">
240   <td>Copyright &copy; 2001 - 2008 SILC Project<br />
241     <a href="http://silcnet.org">SILC Project Website</a></td>
242   <td align="right">
243    <a href="index.html">SILC Runtime Toolkit Manual</a><br />
244    <a href="masterindex.html">Index</a></small></td>
245   </td>
246  </tr>
247 </table>
248 </div>
249
250 </body>
251 </html>