Building the Toolkit
SILC Runtime Toolkit works on various platforms, such as on several Unix systems and on Windows. Building of the Toolkit on some platform may differ from the other. This document describes how to build the Toolkit from the sources, to create linkable libraries and binaries, on all platforms the Toolkit support.
The building instructions for all platforms are also included in the Toolkit package. Please refer to the INSTALL file for general building instructions for Unix systems, README.WIN32 for building on Windows systems, README.MACOSX for building on Mac OS X, and README.SYMBIAN for building on Symbian OS.
Building on Unix & Linux
On Unix systems both statically and dynamically linkable libraries are built by default.
To build Toolkit on Unix systems, give commands:

On some systems you may need to give "gmake" command instead of "make". The ./configure can take several options as arguments. To see them all give command:
./configure --help
The most important configuration options you may consider to use are:
If you would like to enable the debugging for the compiled binaries you can give this option to the `configure'. It is recommended to use this option when you are doing development with Toolkit. It is helpful to enable run-time debugging.
If your system doesn't provide iconv() function in its native libraries (usually libc) or if this function is broken (e.g. older Solaris systems), you may want to use libiconv instead. The DIR is the upper path in your system which contains lib/ and include/ for libiconv (e.g. /usr/local).
If you do not want to compile the programs with POSIX multi-threads support you can give --without-pthreads option. This will disable the SILC Thread API and SILC Mutex API. Furthermore if SILC Thread API is used when this option is used, the routines work, but do not work in threads (are run in the calling process and can block the process).
If you have trouble compiling the assembler optimized code in the package or does not want to use them, you can give the --disable-asm option to the `configure' script. This will assure that assembler optimized code is not compiled in.
The `configure' will attempt to check for IPv6 support in your system. However, if it fails, but you still want to compile in the IPv6 support you can give --enable-ipv6 option to force the IPv6 support.
By default the configure script will attempt to detect the type of your CPU and enable any features specific to your CPU that could optimize the performance of the Toolkit. If you are creating binary package that should work on any CPU (and not only your CPU) you should diable these optimizations. If you compile it for yourself only, keeping the optimizations enabled is recommended.
After compilation you can install the Toolkit into your system by giving the command:
make install
Building on Windows
The Toolkit can be compiled several different ways on Windows. However, this document describes the method to build the Toolkit to produce native Win32 binaries. The Toolkit package can also be compiled on Cygwin and MinGW. For these systems please refer to the README.WIN32 file in the Toolkit package.
The Toolkit package includes ready MSVC++ Workspace files, that will automatically compile the Toolkit. The MSVC++ workspace and project files resides in the win32/ subdirectory of the Toolkit package. The `srt.dsw' file is the workspace file that automatically supports compiling the Toolkit and to generate the SILC Runtime DLL (libsrt.dll). You may also compile debug version by selecteing the Debug compilation method.
Building on Mac OS X
Building the Toolkit on Mac OS X is almost identical on compiling on Unix system. The reason for this is that the Mac OS X is Unix based operating system. To build the Toolkit on Mac OS X, give the following commands:
setenv CFLAGS -no-cpp-precomp
./configure powerpc

The ./configure can take several options as arguments. To see them all give command:
./configure --help
To compile, give:
After compilation you can install the Toolkit into your system by giving the command:
make install
Building on Symbian OS
The build environment for Symbian OS requires Carbide.c++ and MS Windows.
Download the freely available Carbide.c++ from Nokia at The exact hyperlink location changes often, so it is not referenced here. It is usually under "Tools and SDKs" link.
After installation a web browser is opened automatically by the Carbide.c++ installer. Follow its instructions by installing the Perl, CTags and the SDK. Perl and the SDK are required, but CTags is optional and if necessary can be omitted.
The Toolkit is generic C and C++ code and should work with any SDK. If you don't have SDK already installed, install the latest version you can find. The links to SDKs are found in the Carbide.c++ instructions after installation. If you already have SDK in your system, you should use that.
After installation import the Toolkit project to Carbide.c++ from the symbian/ subdirectory in the Toolkit package.
Please read the README.SYMBIAN from the SILC Runtime Toolkit package for complete building instructions.