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-Dprefixor-Dusedevelas 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
builddiror not. make-
Optional attribute to specify the
makeutility to use. Defaults tomakeand you should only have to mess with this on wacky platforms.
METHODS
build_perl-
Fetches, extracts, configures, builds, tests (see
skiptest) and installs theperlexecutable.The
builddiris used for the first five processes. Installation is made into the givenprefixdirectory.
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.