Alien-OpenVcdiff
view release on metacpan or search on metacpan
lib/Alien/OpenVcdiff.pm view on Meta::CPAN
package Alien::OpenVcdiff;
our $VERSION = '0.101';
use parent 'Alien::Base';
use strict;
sub vcdiff_binary {
my $dist_dir = Alien::OpenVcdiff->dist_dir();
## Installed in distribution auto/
my $file = $dist_dir . '/bin/vcdiff';
return $file if -f $file && -x $file;
## Built locally
$file = $dist_dir . '/vcdiff';
return $file if -f $file && -x $file;
die "Unable to find vcdiff binary in " . $dist_dir;
}
1;
__END__
=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<Alien::Base> 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<vcdiff> implement L<RFC 3284|http://www.faqs.org/rfcs/rfc3284.html>, "The VCDIFF Gener...
The C<vcdiff> 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<libvcdenc.so> and C<libvcddec.so> shared libraries so that they can be used by the L<Vcdiff::OpenVcdiff> module. Nothing from C<open-vcdiff> is ...
=head1 SEE ALSO
( run in 0.729 second using v1.01-cache-2.11-cpan-02777c243ea )