NAME
App::SmokeBrew::BuildPerl - build and install a particular version of Perl
SYNOPSIS
use strict;
use warnings;
use App::SmokeBrew::BuildPerl;
my $bp = App::SmokeBrew::BuildPerl->new(
version => '5.12.0',
builddir => 'build',
prefix => 'prefix',
skiptest => 1,
verbose => 1,
perlargs => [ '-Dusemallocwrap=y', '-Dusemymalloc=n' ],
);
my $prefix = $bp->build_perl();
print $prefix, "\n";
DESCRIPTION
App::SmokeBrew::BuildPerl encapsulates the task of configuring, building, testing and installing a perl executable ( and associated core modules ).
CONSTRUCTOR
new
-
Creates a new App::SmokeBrew::BuildPerl object. Takes a number of options.
version
-
A required attribute, this is the version of perl to install. Must be a valid perl version.
builddir
-
A required attribute, this is the working directory where builds can take place. It will be coerced into a Path::Class::Dir object by MooseX::Types::Path::Class.
prefix
-
A required attribute, this is the prefix of the location where perl installs will be made, it will be coerced into a Path::Class::Dir object by MooseX::Types::Path::Class.
example:
prefix = /home/cpan/pit/rel perls will be installed as /home/cpan/pit/perl-5.12.0, /home/cpan/pit/perl-5.10.1, etc.
skiptest
-
Optional boolean attribute, which defaults to 0, indicates whether the testing phase of the perl installation (
make test
) should be skipped or not. perlopts
-
Optional attribute, takes an arrayref of perl configuration flags that will be passed to
Configure
. There is no need to specify-Dprefix
or-Dusedevel
as the module handles these for you.perlopts => [ '-Dusethreads', '-Duse64bitint' ],
verbose
-
Optional boolean attribute, which defaults to 0, indicates whether we should produce verbose output.
noclean
-
Optional boolean attribute, which defaults to 0, indicates whether we should cleanup files that we produce under the
builddir
or not. make
-
Optional attribute to specify the
make
utility to use. Defaults tomake
and you should only have to mess with this on wacky platforms.
METHODS
build_perl
-
Fetches, extracts, configures, builds, tests (see
skiptest
) and installs theperl
executable.The
builddir
is used for the first five processes. Installation is made into the givenprefix
directory.
AUTHOR
Chris BinGOs
Williams
LICENSE
Copyright © Chris Williams
This module may be used, modified, and distributed under the same terms as Perl itself. Please see the license that came with your Perl distribution for details.