NAME

Alien::OpenVcdiff - Build and install Google's open-vcdiff delta encoding library

SYNOPSIS

Command-line utility

use Alien::OpenVcdiff;

say Alien::OpenVcdiff::vcdiff_binary();
## /usr/local/share/perl/5.16.2/auto/share/dist/Alien-OpenVcdiff/bin/vcdiff

system(Alien::OpenVcdiff::vcdiff_binary() . " encode -dictionary file1 -target file2 -json");

Library interface

my $openvcdiff = Alien::OpenVcdiff->new;

my $cflags = $openvcdiff->cflags;
## "-I/usr/local/share/perl/5.16.2/auto/share/dist/Alien-OpenVcdiff/include/google"

my $libs = $openvcdiff->libs;
## "-L/usr/local/share/perl/5.16.2/auto/share/dist/Alien-OpenVcdiff/lib -lvcdcom -lvcddec -lvcdenc"

The above methods are inherited from Alien::Base which has worked really well so far except with $cflags I found I had to strip the "google" off the end of the include directory.

DESCRIPTION

This package configures, builds, and installs Google's open-vcdiff. This library and its associated command-line utility vcdiff implement RFC 3284, "The VCDIFF Generic Differencing and Compression Data Format". This RFC specifies a file format for delta encoding and can be thought of as a diff/patch equivalent for binary data (or any kind of data really).

The vcdiff command-line utility binary's location can be found by calling Alien::OpenVcdiff::vcdiff_binary() after the package has been loaded.

Although the binary might come in handy sometimes, the primary purpose of this module is to install the libvcdenc.so and libvcddec.so shared libraries so that they can be used by the Vcdiff::OpenVcdiff module. Nothing from open-vcdiff is installed globally -- it's all contained in the perl auto directory.

SEE ALSO

Alien-OpenVcdiff github repo

Vcdiff::OpenVcdiff

Vcdiff

open-vcdiff

AUTHOR

Doug Hoyte, <doug@hcsw.org>

COPYRIGHT & LICENSE

Copyright 2013 Doug Hoyte.

This module includes open-vcdiff which is copyright Google Inc and Lincoln Smith. open-vcdiff is licensed under the Apache 2.0 license which can be found in the included open-vcdiff distribution.

This module is licensed under the same terms as perl itself or under the Apache 2.0 license, whichever you prefer.