X-Git-Url: http://git.silcnet.org/gitweb/?p=website.git;a=blobdiff_plain;f=docs%2Ftoolkit%2Fmanual%2Fbuilding.html;fp=docs%2Ftoolkit%2Fmanual%2Fbuilding.html;h=67e149b84f6a108745fbc252315d2debfbd1559f;hp=0000000000000000000000000000000000000000;hb=80b80cef93d9dff6acc4bc8e3a522c55fcdc3fca;hpb=43e53f529ca5c7d2ddb7cee8e76e273631e6f1e2 diff --git a/docs/toolkit/manual/building.html b/docs/toolkit/manual/building.html new file mode 100644 index 0000000..67e149b --- /dev/null +++ b/docs/toolkit/manual/building.html @@ -0,0 +1,415 @@ + + + + + + + + + + + + + + + + + + + +
Copyright © 2001 - 2007 SILC Project
+ SILC Project Website
+ SILC Toolkit Reference Manual
+ Index
+ + +
+ + + + + + + + + + + + + + +
+ + + +
+
+ + + +SILC Toolkit Reference Manual
+ + +SILC Crypto Library
+    Introduction to SILC RNG
+    SILC RNG Interface
+    SILC Cipher API
+    SILC PKCS API
+    SILC Public Key API
+    SILC PKCS #1 API
+    SILC Hash Interface
+    SILC HMAC Interface
+SILC Core Library
+    SILC Authentication Interface
+    SILC Message Interface
+    SILC Channel Interface
+    SILC Command Interface
+    SILC Notify Interface
+    SILC Status Types
+    SILC Modes
+    SILC ID Interface
+    SILC Argument Interface
+    SILC Attributes Interface
+    Packet Engine Interface
+    SILC Public Key Payload Interface
+SILC Key Exchange Library
+    SILC SKE Interface
+    SILC Connection Authentication Interface
+SILC VCard Library
+    SILC VCard Interface
+SILC Math Library
+    SILC MP Interface
+    SILC Math Interface
+SILC Client Library
+    Using SILC Client Library Tutorial
+    Arguments for command_reply Client Operation
+    SilcStatus Error Arguments in command_reply Client Operation
+    Arguments for notify Client Operation
+    Unicode and UTF-8 Strings in Client Library
+    Client Library Interface Reference
+    Client Entry Interface Reference
+SILC ASN.1 Library
+    SILC ASN.1 Interface
+    SILC BER interface
+SILC HTTP Library
+    SILC HTTP Server Interface
+    SILC HTTP PHP Translator
+SILC Utility Library
+    Basic Types and Definitions
+    Data Buffer Interface
+    Data Buffer Format Interface
+    Hash Table Interface
+    Memory Allocation Interface
+    Data Stack (memory pool) Interface
+    Finite State Machine Interface
+    Thread Interface
+    Mutual Exclusion Lock Interface
+    Condition Variable Interface
+    Atomic Operations Interface
+    Network (TCP and UDP) Interface
+    Scheduler Interface
+    Asynchronous Operation Interface
+    Abstract Stream Interface
+    Socket Stream Interface
+    File Descriptor Stream Interface
+    File Utility Functions
+    String Utility Interface
+    Snprintf Interface
+    UTF-8 String Interface
+    Stringprep Interface
+    Utility Functions
+    List Interface
+    Dynamic List Interface
+    MIME Interface
+    Time Utility Functions
+    Logging Interface
+    Config File Interface
+SILC Key Repository Library
+    SILC SKR Interface
+SILC Application Utility Library
+    SILC Application Utilities
+    SILC ID Cache Interface
+SILC SFTP Library
+    SILC SFTP Interface
+    SFTP Filesystems Interface
+ +
+Resource Links +
+SILC Project Website
+SILC Protocol Documentation
+SILC White Paper
+SILC FAQs
+ +
+



+
+
+ + + + +
+
+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. +



    +
  • +
    + + + + +
    +
    + + + +



    +
    +
    + + + +
    + + + + + + +
    Copyright © 2001 - 2007 SILC Project
    + SILC Project Website
    + SILC Toolkit Reference Manual
    + Index
    + + +