Alien-Tidyp
view release on metacpan or search on metacpan
lib/Alien/Tidyp.pm view on Meta::CPAN
package Alien::Tidyp;
use warnings;
use strict;
use Alien::Tidyp::ConfigData;
use File::ShareDir qw(dist_dir);
use File::Spec::Functions qw(catdir catfile rel2abs);
=head1 NAME
Alien::Tidyp - Building, finding and using tidyp library - L<http://www.tidyp.com>
=cut
our $VERSION = 'v1.4.7';
=head1 VERSION
Version 1.4.7 of Alien::Tidyp uses I<tidyp> sources v1.04.
=head1 SYNOPSIS
B<IMPORTANT:> This module is not a perl binding for I<tidyp> library; it is just a helper module.
The real perl binding is implemented by e.g L<HTML::Tidy|HTML::Tidy> module, which is able to
use Alien::Tidyp to locate I<tidyp> library on your system (or build it from source codes).
Alien::Tidyp tries (in given order) during its installation:
=over
=item * Locate an already installed I<tidyp> + ask user whether to use the already installed
I<tidyp> or whether to build I<tidyp> from sources
=item * Via env variable TIDYP_DIR you can specify where the build script should look
for the already installed I<tidyp> (directories $TIDYP_DIR/lib and $TIDYP_DIR/include/tidyp
are expected to exist)
=item * When not using the already installed I<tidyp> build process continues with
the following steps
=item * Download I<tidyp> source code tarball
=item * Build I<tidyp> binaries from source codes (note: static libraries are build in this case)
=item * Install binaries and dev files (*.h, *.a) into I<share> directory of Alien::Tidyp
distribution - I<share> directory is usually something like this: /usr/lib/perl5/site_perl/5.10/auto/share/dist/Alien-Tidyp
=back
Later on you can use Alien::Tidyp in your module that needs to link with
I<tidyp> like this:
# Sample Makefile.pl
use ExtUtils::MakeMaker;
use Alien::Tidyp;
WriteMakefile(
NAME => 'Any::Tidyp::Module',
VERSION_FROM => 'lib/Any/Tidyp/Module.pm',
LIBS => Alien::Tidyp->config('LIBS'),
INC => Alien::Tidyp->config('INC'),
# + additional params
);
B<IMPORTANT:> As Alien::Tidyp builds static libraries the modules using Alien::Tidyp (e.g. L<HTML::Tidy|HTML::Tidy>)
need to have Alien::Tidyp just for building, not for later use. In other words Alien:Tidyp is just "build dependency"
not "run-time dependency".
=head1 Build.PL options
=head2 --srctarball=<url_or_filename>
This option might come handy if you are not connected to the Internet. You can use it like:
Build.PL --srctarball=/path/to/file/tidyp-1.04.tar.gz
or:
Build.PL --srctarball=http://any.server.com/path/to/tidyp-1.04.tar.gz
IMPORTANT: The file should always be exactly the same source code tarball as specified in the end of Build.PL - see
source code (SHA1 checksum of the tarball is checked).
=head1 METHODS
( run in 2.345 seconds using v1.01-cache-2.11-cpan-2398b32b56e )