Merged silc_1_0_branch to trunk.
[crypto.git] / README.CVS
index e7568ead1ca31985c33708f802e9e21d0c4fbb70..4672367dcada6f6fd79df060360a7d35a405a7dd 100644 (file)
@@ -164,18 +164,20 @@ Following directories currently exist in SILC source tree.
 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,
@@ -197,31 +199,31 @@ like "*server*,*rng*" to match all functions, and filenames that has
 can freely define regural expressions as debug string.
 
 
-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.
-
-
 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.