File Coverage

blib/lib/Alien/gmake.pm
Criterion Covered Total %
statement 22 27 81.4
branch 1 4 25.0
condition n/a
subroutine 9 9 100.0
pod 2 2 100.0
total 34 42 80.9


line stmt bran cond sub pod time code
1             package Alien::gmake;
2              
3 5     5   699322 use strict;
  5         15  
  5         155  
4 5     5   31 use warnings;
  5         13  
  5         191  
5 5     5   35 use base qw( Alien::Base );
  5         17  
  5         3298  
6 5     5   99312 use Env qw( @PATH );
  5         7936  
  5         50  
7 5     5   1015 use File::Spec;
  5         15  
  5         1100  
8              
9             # ABSTRACT: Find or build GNU Make
10             our $VERSION = '0.20'; # VERSION
11              
12              
13             my $in_path;
14              
15             sub import
16             {
17 2     2   27 require Carp;
18 2         891 Carp::carp "Alien::gmake with implicit path modification is deprecated ( see https://metacpan.org/pod/Alien::gmake#CAVEATS )";
19 2 50       31 return if __PACKAGE__->install_type('system');
20 0 0       0 return if $in_path;
21 0         0 my $dir = File::Spec->catdir(__PACKAGE__->dist_dir, 'bin');
22 0         0 Carp::carp "adding $dir to PATH";
23 0         0 unshift @PATH, $dir;
24             # only do it once.
25 0         0 $in_path = 1;
26             }
27              
28             sub exe
29             {
30 5     5 1 188287 my($class) = @_;
31 5         34 $class->runtime_prop->{command};
32             }
33              
34              
35             sub alien_helper
36             {
37             return {
38             gmake => sub {
39             # return the executable name for GNU make,
40             # usually either make or gmake depending on
41             # the platform and environment
42 3     3   21411 Alien::gmake->exe;
43             },
44             }
45 1     1 1 51 }
46              
47             1;
48              
49             __END__