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   213283 use File::Spec ();
  4         45  
  4         95  
4 4     4   22 use File::Path ();
  4         7  
  4         54  
5 4     4   19 use File::Basename ();
  4         16  
  4         94  
6 4     4   1884 use Perl::OSType qw/os_type/;
  4         1955  
  4         252  
7              
8 4     4   27 use warnings;
  4         12  
  4         96  
9 4     4   21 use strict;
  4         7  
  4         1114  
10             our $VERSION = '0.280235'; # 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   2132 eval "use $mod";
  4         21  
  4         108  
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__