hoytech / Alien-OpenVcdiff

Build and install Google's open-vcdiff delta encoding library
0 stars 1 forks source link

=head1 NAME

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

=head1 SYNOPSIS

=head2 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");

=head2 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 L which has worked really well so far except with C<$cflags> I found I had to strip the "google" off the end of the include directory.

=head1 DESCRIPTION

This package configures, builds, and installs Google's L<open-vcdiff|http://code.google.com/p/open-vcdiff/>. This library and its associated command-line utility C implement L<RFC 3284|http://www.faqs.org/rfcs/rfc3284.html>, "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 C command-line utility binary's location can be found by calling C<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 C and C shared libraries so that they can be used by the L module. Nothing from C is installed globally -- it's all contained in the perl auto directory.

=head1 SEE ALSO

L<Alien-OpenVcdiff github repo|https://github.com/hoytech/Alient-OpenVcdiff>

L

L

L<open-vcdiff|http://code.google.com/p/open-vcdiff/>

=head1 AUTHOR

Doug Hoyte, C<< doug@hcsw.org >>

=head1 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.

=cut