                                  _   _ ____  _     
                              ___| | | |  _ \| |    
                             / __| | | | |_) | |    
                            | (__| |_| |  _ <| |___ 
                             \___|\___/|_| \_\_____|

CVS-INFO

This file is only present in the CVS - never in release archives. It contains
information about other files and things that the CVS repository keeps in its
inner sanctum.

Compile and build instructions follow below.

  CHANGES.0     contains ancient changes.
  CHANGES.$year contains changes for the particular year.

  memanalyze.pl is for analyzing the output generated by curl if -DMALLOCDEBUG
                is used when compiling

  buildconf     builds the makefiles and configure stuff

  Makefile.dist is included as the root Makefile in distribution archives

  perl/         is a subdirectory with various perl scripts

To build after having extracted everything from CVS, do this:

./buildconf
./configure
make

REQUIREMENTS

 You need the following software installed:

 o autoconf 2.50 (or later)
 o automake 1.5 (or later)
 o libtool  1.4 (or later)
 o GNU m4 (required by autoconf)

 o nroff + perl (if you don't have nroff and perl and you for some reason
   don't want to install them, you can rename the source file
   src/hugehelp.c.cvs to src/hugehelp.c and avoid having to generate this
   file. This will of course give you an older version of the file that isn't
   up-to-date. That file was checked in once and won't be updated very
   regularly.)

MAC OS X

 For Mac OS X users, Guido Neitzer write down the following step-by-step guide:

 1. Install fink (http://fink.sourceforge.net)
 2. Update fink to the newest version (with the installed fink)
 3. Install the latest version of autoconf, automake and m4 with fink
 4. Install version 1.4.1 of libtool - you find it in the "unstable" section
    (read the manual to see how to get unstable versions)
 5. Get cURL from the cvs
 6. Build cURL with "./buildconf", "./configure", "make", "sudo make install"
