File Coverage

blib/lib/ExtUtils/CBuilder.pm
Criterion Covered Total %
statement 21 21 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod n/a
total 28 28 100.0


line stmt bran cond sub pod time code
1             package ExtUtils::CBuilder;
2              
3 4     4   198462 use File::Spec ();
  4         33  
  4         90  
4 4     4   20 use File::Path ();
  4         6  
  4         51  
5 4     4   20 use File::Basename ();
  4         7  
  4         97  
6 4     4   1680 use Perl::OSType qw/os_type/;
  4         1747  
  4         221  
7              
8 4     4   27 use warnings;
  4         8  
  4         99  
9 4     4   19 use strict;
  4         7  
  4         1018  
10             our $VERSION = '0.280234'; # VERSION
11             our @ISA;
12              
13             # We only use this once - don't waste a symbol table entry on it.
14             # More importantly, don't make it an inheritable method.
15             my $load = sub {
16             my $mod = shift;
17 4     4   1692 eval "use $mod";
  4         26  
  4         164  
18             die $@ if $@;
19             @ISA = ($mod);
20             };
21              
22             {
23             my @package = split /::/, __PACKAGE__;
24              
25             my $ostype = os_type();
26              
27             if (grep {-e File::Spec->catfile($_, @package, 'Platform', $^O) . '.pm'} @INC) {
28             $load->(__PACKAGE__ . "::Platform::$^O");
29              
30             } elsif ( $ostype &&
31             grep {-e File::Spec->catfile($_, @package, 'Platform', $ostype) . '.pm'} @INC) {
32             $load->(__PACKAGE__ . "::Platform::$ostype");
33              
34             } else {
35             $load->(__PACKAGE__ . "::Base");
36             }
37             }
38              
39             1;
40             __END__