+++ /dev/null
-Anonymous CVS Access
-====================
-
-Anonymous CVS access is now available to SILC CVS repository. The
-repository includes everything related to SILC project; source codes,
-documentation and web pages.
-
-Also note that this is the closest to real time development you can get
-thus you cannot expect that the source tree would work or even compile.
-While it is our intention that the trunk would always at least compile
-there might be situations when it will not.
-
-
-Howto Checkout The Source Tree
-==============================
-
-The repository can be checked out by using anonymous pserver with CVS.
-There are no password restrictions in the SILC anonymous CVS repository.
-
-For those who are using sh/ksh/bash the check out is done as follows:
-
-export CVSROOT=:pserver:cvs@cvs.silcnet.org:/cvs/silc
-cvs login
-cvs co silc
-
-For those who are using csh/tcsh the check out is done as follows:
-
-setenv CVSROOT :pserver:cvs@cvs.silcnet.org:/cvs/silc
-cvs login
-cvs co silc
-
-If you don't want to set $CVSROOT environment variable you can set the
-path to the cvs as command line options:
-
-cvs -d:pserver:cvs@cvs.silcnet.org:/cvs/silc login
-cvs -d:pserver:cvs@cvs.silcnet.org:/cvs/silc co silc
-
-What ever method you decide to use, after you have done cvs login you will
-be prompted for password:
-
- CVS password: silc
-
-Type the password "silc" and press Enter.
-
-The actual SILC source tree is checked out using the cvs co silc command,
-described above. This command will fetch the source tree and save it into
-directory named silc. SILC CVS repository currently does not have any
-branches thus this will check out the trunk. The size of the trunk is
-currently about 8 Mb but will grow in the future.
-
-
-What SILC Source Tree Includes
-==============================
-
-SILC Source tree includes a lot more stuff that appears in public
-distribution. The source tree includes, for example, internal scripts,
-configuration files, SILC webpages etc. These never appear on a public
-distribution.
-
-Following directories currently exist in SILC source tree.
-
- apps/
-
- All applications.
-
- doc/
-
- Includes all the SILC documentation. Some of the documentation
- are generated when distribution is generated. The automatically
- generated files must never be commited to CVS.
-
- includes/
-
- Includes SILC include files.
-
- apps/irssi/
-
- Includes the Irssi SILC Client.
-
- lib/
-
- Includes SILC libraries. There maybe libraries on the CVS that
- does not appear on public distribution.
-
- lib/contrib/
-
- Contrib directory for routines that some of the platforms might
- not have. In that case these routines are provided by the SILC.
-
- lib/silcclient/
-
- The SILC Client library. Implementation of the SILC Client without
- the user interface. The library provides an interface for user
- interface designers.
-
- lib/silccore/
-
- The SILC Protocol Core library. Implementation of all the core
- components of the SILC Protocol. This is used by all the SILC
- applications.
-
- lib/silccrypt/
-
- The SILC Crypto library. Provides all cryptographic algorithms
- used in the SILC. Provides also the Cryptographically strong
- random number generator.
-
- lib/silcmath/
-
- The SILC Math library. Provides the Math and MP routines for
- SILC applications. The MP library is actually the GMP.
-
- lib/silsim/
-
- The SILC Modules library. Provides the dynamically loadable
- modules.
-
- lib/silcske/
-
- The SILC Key Exchange (SKE) library. Implementation of the
- SKE protocol. This is used by all SILC applications.
-
- lib/silcutil/
-
- The SILC Utility library. Provides various utility functions
- for the applications.
-
- lib/silcutil/unix/
-
- The SILC Utility library. Provides various Unix specific utility
- functions for the applications.
-
- lib/silcutil/win32/
-
- The SILC Utility library. Provides various WIN32 specific utility
- functions for the applications.
-
- public_html/
-
- Includes the official SILC web pages and everything that relates
- to them. This directory never appears on public distribution.
-
- apps/silc/
-
- Includes an example implementation of ncurses based SILC client.
- It won't compile with current Toolkit since it is not being
- updated. It is still good example for Toolkit programmer to
- figure out how to use SILC Toolkit.
-
- apps/silcer/
-
- Includes an example implementation of GUI (Gnome) base SILC
- client. Please read silcer/README for more information.
-
- apps/silcd/
-
- Includes SILC server. There can be some extra files that will
- never appear in public distribution, such as, configuration files.
-
- win32/
-
- Includes win32 Toolkit specific files. It includes MSVC++
- Workspace files. The win32/tests includes example code for
- use of SILC Toolkit and SILC Client Library on Win32 GUI
- application.
-
-
-Howto Compile SILC Source Tree
-==============================
-
-To be able to prepare the CVS tree for configuration and compilation
-Autodist must be installed into the system. You can download the latest
-version of Autodist from:
-
- http://silcnet.org/software/download/autodist/
-
-To prepare the CVS source tree for configuration and compilation, give:
-
- autodist
- ./configure --enable-debug
- make
-
-The autodist must be run every time you make some changes to configuration
-scripts.
-
-As a developer you should read the ./configure script's help by
-giving ./configure --help and study all of its different options. Also,
-you should configure the script with --enable-debug option as it
-compiles SILC with -g (debugging) option and it enables the
-SILC_LOG_DEBUG* scripts. Warning is due here: The debugging produced
-by both cilent and server is very heavy, thus it is common to test
-the programs as follows:
-
- ./silc -d "*" -f configfile 2>log
- ./silcd -d "*" -f configfile 2>log
-
-The -d option enables the debug printing. The argument for the -d option
-is a string that is used to match the output debug. The example "*" will
-match for everything, and all debugs will be printed. If you want to
-limit the debugs you want to printout you can give for example a string
-like "*server*,*rng*" to match all functions, and filenames that has
-"server" or "rng" string in them. Others will not be printed out. You
-can freely define regural expressions as debug string.
-
-
-Makefiles and configuration files
-=================================
-
-Developers should never directly write a Makefile. All Makefiles are
-always automatically generated by autodist and later by ./configure
-scripts. Instead, developers must write Makefile.ad files or Makefile.am
-files. If the Makefile needs to include any distdefs (SILC_DIST_XXX),
-then Makefile.ad (.ad stands for autodist) must be written. If the
-Makefile is generic (common to all distributions) then Makefile.am may be
-written. Note that distdefs MUST NOT be used in Makefile.am files, as the
-autodist will modify them. See the source tree for examples. If you
-change Makefile.ad files, the autodist must be rerun.
-
-The autodist also creates the configure.ac script from which the autoconf
-then creates the ./configure script. All changes to configure must
-always be done into the configure.ad scripts. All changes made to
-configure.ac will be lost. The autodist distdefs may also be used in
-configure.ad files. It is also possible to write more than one
-configure.ad in the source tree. All configure.ad fragments will be
-collected from the source tree by autodist and combined into one
-configure.ac scripts. After making changes to configure.ad files the
-autodist must be rerun.
-
-The distdefs are defined in the corresponding distributions. All
-distributions live in distdir/ directory. The distdefs can be used in any
-file in the source tree, but mainly they are used in Makefile.ad,
-configure.ad and source and headers files. See autodist documentation for
-more information how to use distdefs.