Merge commit 'origin/silc.1.1.branch'
[silc.git] / README.WIN32
1 Compiling SILC Toolkit on WIN32
2 ===============================
3
4 SILC Toolkit works on native WIN32 systems as well.  This document is
5 intended for those who needs to compile the Toolkit for native WIN32
6 systems.  The Toolkit can be compiled for native WIN32 systems using
7 generally any compiler.  However, the compilation environment is designed
8 to currently work with the MSVC++ (version 6.0) and with the MinGW (under
9 cygwin).
10
11
12 Compiling SILC Toolkit with MSVC++
13 ==================================
14
15 The MSVC++ workspace and project files resides in the win32/ subdirectory
16 of the Toolkit package.  The `silc.dsw' file is the workspace file that
17 automatically supports compiling the Toolkit and to generate the SILC Core
18 DLL and SILC Client DLL libraries.
19
20 The SILC Core DLL is named as libsilc and will generate libsilc.dll, and
21 the SILC Client DLL is named as libsilcclient and will generate
22 libsilcclient.dll.  Both of the projects also automatically generates
23 libsilc.lib and libsilcclient.lib import libraries that may be used to
24 link against a client application.
25
26 Generally you do not need to do any specific settings to compile the
27 Toolkit.  However, you must compile the libsilc before compiling the
28 libsilclient, since the SILC Client DLL depends on the SILC Core DLL.
29
30 You may compile the DLLs as either Release or Debug version.  Just select
31 the preferred method of compilation.  The Debug version will compile the
32 SILC Toolkit with debugging which you can conditionally use in your client
33 application by setting the global variable silc_debug to TRUE or FALSE.
34
35
36 Compiling SILC Toolkit with MinGW
37 =================================
38
39 To compile the Toolkit with MinGW you first need to install the cygwin and
40 the MinGW into your system.  After that you can just normally give the
41 ./configure with the following option:
42
43         ./configure --with-win32
44
45 If you want to compile debug version give also the --enable-debug option
46 to the ./configure.  After configuration the source tree is ready for
47 compilation which you can simply start by giving the command:
48
49         make
50
51 Note that some of the subdirectories in the Toolkit will not compile under
52 WIN32 (namely the silcd/ that includes the SILC Server).  For this reason
53 it is suggested that you will give the command make in the lib/ directory
54 to compile the DLLs.  Thus, you should give the following commands after
55 giving the ./configure.
56
57         cd lib
58         make
59
60 After compilation there should be silc.dll and silcclient.dll files in
61 the lib/ directory.  It will also generate silc.lib and silcclient.lib
62 files for linking against a client application.
63
64
65 Compiling SILC Toolkit with Cygwin
66 ==================================
67
68 Compiling the Toolkit with Cygwin is equivalent to compiling with MinGW
69 except that the ./configure does not take the --with-win32 option.  In this
70 case it will compile using Cygwin's libraries and the binaries will require
71 the Cygwin DLL.