README for librsync
-------------------

librsync implements the rolling-checksum algorithm of remote file
synchronization that was popularized by the rsync utility and is used in
rproxy. This algorithm transfers the differences between 2 files without
needing both files on the same system.

It was originaly developed as part of rproxy, but is now used by other
applications and has its own project on sourceforge.

  http://librsync.sourceforge.net/

This library was previously known as libhsync up to version 0.9.0.

To use anonymous CVS, see the file README.CVS in this directory.

>> Requirements

To build librsync you will need:

  * A C compiler and appropriate headers and libraries

  * Make

  * popt -- command line parsing library

    Available from ftp://ftp.redhat.com/pub/redhat/code/popt

    A cut-down version of popt1.5 is included and will be used
    automatically if there is no popt library on your build host.

>> Compiling

To build and test librsync from the extracted distribution do;

  $ ./configure
  $ make all check

>> Note for RedHat 7.0

RedHat 7.0 (Guiness) ships with a buggy version of GCC 2.96 that
produces many warnings while compiling librsync.  These are harmless
-- the library seems to work anyhow.  You can avoid the warnings by
using the 'kgcc' version of the compiler:

  $ export CC=kgcc
  $ ./autogen.sh
  $ make all check

>> Note for Windows

With cygwin you can build using gcc as under a normal unix system. It
is also possible to compile under cygwin using MSVC++. You must have
environment variables needed by MSCV set using the Vcvars32.bat
script. With these variables set, you just do;
  
  $ ./configure.msc
  $ make all check

The PCbuild directory contains a project and pre-generated config
files for use with the MSVC++ IDE. This should be enought to compile
rdiff.exe without requiring cygwin.

>> Library Versions

librsync uses the GNU libtool library versioning system, so the filename
does not correspond to the librsync release.  To show the library release
and version, use the librsyncinfo tool. See libversions.txt for more
information.

>> Platforms

librsync is known to run on:

GNU Linux Debian 3.0 x86

SUNWspro: (use -v for more warnings)

mips-sgi-irix6.5: works, but you must use GNU Make rather than the default
SGI Make.  I used gcc.

windows32: see above.

>> API Documentation

librsync contains markup for automatic API documentation generation using
the Doxygen tool:

  http://www.doxygen.org/

$Id: README,v 1.16 2003/08/03 15:13:45 abo Exp $
