Alien-Build
view release on metacpan or search on metacpan
lib/Alien/Build/Interpolate/Default.pm view on Meta::CPAN
package Alien::Build::Interpolate::Default;
use strict;
use warnings;
use 5.008004;
use parent qw( Alien::Build::Interpolate );
use File::chdir;
use File::Which qw( which );
use Capture::Tiny qw( capture );
# ABSTRACT: Default interpolator for Alien::Build
our $VERSION = '2.84'; # VERSION
sub _config
{
$Config::Config{$_[0]};
}
sub new
{
my($class) = @_;
my $self = $class->SUPER::new(@_);
$self->add_helper( ar => sub { _config 'ar' }, 'Config' );
$self->add_helper( bison => undef, sub {
my $helper = shift;
if(which 'bison')
{
$helper->code(sub { 'bison' });
return ();
}
else
{
return 'Alien::bison' => '0.17';
}
});
$self->add_helper( bzip2 => undef, sub {
my $helper = shift;
if(which 'bzip2')
{
$helper->code( sub { 'bzip2' });
return ();
}
else
{
return 'Alien::Libbz2' => '0.04';
}
});
$self->add_helper( cc => sub { _config 'cc' }, 'Config' );
$self->add_helper( cmake => sub { 'cmake' }, sub {
if(which 'cmake')
{
return ();
}
else
{
lib/Alien/Build/Interpolate/Default.pm view on Meta::CPAN
this helper with one that works with L<Alien::cmake3> that works better).
=head2 cp
%{cp}
The copy command.
=head2 devnull
%{devnull}
The null device, if available. On Unix style operating systems this will be C</dev/null> on Windows it is C<NUL>.
=head2 flex
%{flex}
Requires: L<Alien::flex> 0.08 if not already in C<PATH>.
=head2 gmake
%{gmake}
Requires: L<Alien::gmake> 0.11
Deprecated: use L<Alien::Build::Plugin::Build::Make> instead.
=head2 install
%{install}
The Unix C<install> command. Not normally available on Windows.
=head2 ld
%{ld}
The linker used to build Perl
=head2 m4
%{m4}
Requires: L<Alien::m4> 0.08
L<Alien::m4> should pull in a version of C<m4> that will work with Autotools.
=head2 make
%{make}
Make. On Unix this will be the same make used by Perl. On Windows this will be
C<gmake> or C<nmake> if those are available, and only C<dmake> if the first two
are not available.
=head2 make_path
%{make_path}
Make directory, including all parent directories as needed. This is usually C<mkdir -p>
on Unix and simply C<md> on windows.
=head2 nasm
%{nasm}
Requires: L<Alien::nasm> 0.11 if not already in the C<PATH>.
=head2 patch
%{patch}
Requires: L<Alien::patch> 0.09 if not already in the C<PATH>.
On Windows this will normally render C<patch --binary>, which makes patch work like it does on Unix.
=head2 perl
%{perl}
Requires: L<Devel::FindPerl>
=head2 pkgconf
%{pkgconf}
Requires: L<Alien::pkgconf> 0.06.
=head2 cwd
%{cwd}
=head2 sh
%{sh}
Unix style command interpreter (/bin/sh).
Deprecated: use the L<Alien::Build::Plugin::Build::MSYS> plugin instead.
=head2 rm
%{rm}
The remove command
=head2 xz
%{xz}
Requires: L<Alien::xz> 0.02 if not already in the C<PATH>.
=head1 AUTHOR
Author: Graham Ollis E<lt>plicease@cpan.orgE<gt>
Contributors:
Diab Jerius (DJERIUS)
( run in 0.766 second using v1.01-cache-2.11-cpan-524268b4103 )