+
+Building the Toolkit
+
+
+SILC 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, and
+README.MACOSX for building on Mac OS X.
+
+
+Building on Unix & Linux
+Building on Windows
+Building on Mac OS X
+Building on Symbian OS
+
+
+Building on Unix & Linux
+
+
+Building the Toolkit on Unix will produce binaries of all libraries, and
+SILC Client and SILC Server. The Toolkit package includes also Client and
+Server as an example applications, and they are compiled automatically.
+The libraries are compiled to provide staticly linkable libraries. Two
+libraries are produced: libsilc.a and libsilcclient.a. The libsilc.a includes
+everything else except the Client library. The libsilcclient.a includes
+only the Client library.
+
+
+To build Toolkit on Unix systems, give commands:
+
+
+
+./configure
+make
+
+
+
+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:
+
+
+--enable-debug
+
+
+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.
+
+
+--with-gmp[=DIR]
+
+
+If you wish to use GMP library for arbitrary precision arithmetic
+library instead of using the MPI library included in the package, you can
+give the --with-gmp[=DIR] option to the `configure'. The DIR is the upper
+path in your system which contains lib/ and include/ for GMP library.
+
+
+--with-iconv[=DIR]
+
+
+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).
+
+
+--without-pthreads
+
+
+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).
+
+
+--disable-asm
+
+
+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.
+
+
+--enable-ipv6
+
+
+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.
+
+
+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 `silc.dsw'
+file is the workspace file that automatically supports compiling the Toolkit
+and to generate the SILC Core DLL and SILC Client DLL libraries.
+
+
+The SILC Core DLL is named as libsilc and will generate libsilc.dll, and
+the SILC Client DLL is named as libsilcclient and will generate
+libsilcclient.dll. Both of the projects also automatically generates
+libsilc.lib and libsilcclient.lib import libraries that may be used to
+link against a client application.
+
+
+Generally you do not need to do any specific settings to compile the
+Toolkit. However, you must compile the libsilc before compiling the
+libsilclient, since the SILC Client DLL depends on the SILC Core DLL.
+You may compile the DLLs as either Release or Debug version. Just select
+the preferred method of compilation. The Debug version will compile the
+SILC Toolkit with run-time debugging support, which is recommended when
+doing development with the Toolkit.
+
+
+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
+make
+
+
+
+The ./configure can take several options as arguments. To see them all give
+command:
+
+
+./configure --help
+
+
+If you do not want to compile the applications, or they do not compile on
+your system, you can also choose to compile only the libraries, and skip
+all applications. In this case, before giving the "make" command, go
+to the lib/ subdirectory, and give "make" command there:
+
+
+
+cd lib/
+make
+
+
+
+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
+http://forum.nokia.com. 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 SILC 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 SILC Toolkit project to Carbide.c++ from the
+symbian/ subdirectory in the SILC Toolkit package.
+
+
+Please read the README.SYMBIAN from the SILC Toolkit package for complete
+building instructions.
+
+ |
+