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
{
return 'Alien::CMake' => '0.07';
}
});
$self->add_helper( cp => sub { _config 'cp' }, 'Config' );
$self->add_helper( devnull => sub { $^O eq 'MSWin32' ? 'NUL' : '/dev/null' });
$self->add_helper( flex => undef, sub {
my $helper = shift;
if(which 'flex')
{
$helper->code(sub { 'flex' });
return ();
( run in 0.872 second using v1.01-cache-2.11-cpan-acf6aa7dc9e )