dropbox / Librsync
Programming Languages
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:
$Id: README,v 1.16 2003/08/03 15:13:45 abo Exp $