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

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.

Use autoconf 2.50 and no earlier. Also, try having automake 1.5 and libtool
1.4.1 at least.

You will need perl to generate the src/hugehelp.c file. The file
src/hugehelp.c.cvs is a one-shot file that you can rename to src/hugehelp.c if
you really can't generate the true file yourself!

  CHANGES.0     contains ancient changes.

  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/contrib/ is a subdirectory with various perl scripts

  java/         is a subdirectory with the Java interface to libcurl

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

./buildconf
./configure
make
