Mark client entry invalid when killed and when notified non-existing
[silc.git] / README.CVS
index fc950df7c38022104e44d31695350ca5d66a459f..c50be0b5183baab236405b690e521f029fa841a8 100644 (file)
@@ -59,6 +59,10 @@ distribution.
 
 Following directories currently exist in SILC source tree.
 
+  apps/
+
+       All applications.
+
   doc/
 
         Includes all the SILC documentation.  Some of the documentation
@@ -69,7 +73,7 @@ Following directories currently exist in SILC source tree.
 
         Includes SILC include files.
 
-  irssi/
+  apps/irssi/
 
        Includes the Irssi SILC Client.
 
@@ -136,32 +140,48 @@ Following directories currently exist in SILC source tree.
         Includes the official SILC web pages and everything that relates
         to them.  This directory never appears on public distribution.
 
-  silc/
+  apps/silc/
 
-        Includes SILC client.  There can be some extra files that will
-        never appear in public distribution, such as, configuration files.
+       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/
 
-  silcd/
+       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
 ==============================
 
-After checkout from CVS the SILC source tree must be prepared for 
-configuration and compilation.  To compile the source tree, give,
+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: 
 
-       ./prepare
+       http://silcnet.org/software/download/autodist/
+
+To prepare the CVS source tree for configuration and compilation, give:
+
+       autodist
        ./configure --enable-debug
        make
 
-The ./prepare script is included in to the source tree and it never
-appears in public distribution.  The script prepares the source tree
-by creating configuration scripts and Makefiles.  The prepare must be
-run every time you make some changes to configuration scripts (however,
-making changes to Makefile.am's does not require running ./prepare).
+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,
@@ -179,34 +199,35 @@ 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.
-
-
-Howto Clean SILC Source Tree
-============================
-
-To entirely clear the source tree to the state after it was checked out
-from CVS, give,
-
-       ./prepare-clean
-
-This calls `make distclean' plus removes automatically generated files
-by hand.  It also removes *.log files. However, it will not remove
-any other files you might have created.
+"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 ./prepare and later by ./configure
-scripts.  Instead, developers must write Makefile.am files.  There
-are plenty of examples what they should look like.  If you change
-Makefile.am during development you don't have to run ./prepare, just
-run normal make.
-
-Configuration files are the files that ./prepare automatically generates
-and what will be included into public distribution.  ./prepare creates
-for example the ./configure script that is not commited to the CVS.
-`configure.in' is the file that developers must edit to change ./configure
-script.  After changing one must run  ./prepare.
+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.