File Coverage

builder/MyBuilder.pm
Criterion Covered Total %
statement 17 32 53.1
branch 0 8 0.0
condition 0 3 0.0
subroutine 6 7 85.7
pod 0 1 0.0
total 23 51 45.1


line stmt bran cond sub pod time code
1             package builder::MyBuilder;
2 1     1   7 use strict;
  1         0  
  1         44  
3 1     1   6 use warnings FATAL => 'all';
  1         1  
  1         120  
4 1     1   18 use 5.008005;
  1         2  
5 1     1   4 use base 'Module::Build::XSUtil';
  1         1  
  1         545  
6 1     1   80818 use Config;
  1         2  
  1         45  
7 1     1   375 use File::Which qw(which);
  1         1161  
  1         314  
8              
9             sub new {
10 0     0 0   my ( $class, %args ) = @_;
11 0           my $self = $class->SUPER::new(
12             %args,
13             generate_ppport_h => 'src/ppport.h',
14             c_source => 'src',
15             xs_files => { './src/Redis__Fast.xs' => './lib/Redis/Fast.xs', },
16             include_dirs => ['src', 'deps/hiredis'],
17             extra_linker_flags => ["deps/hiredis/libhiredis$Config{lib_ext}", "deps/hiredis/libhiredis_ssl$Config{lib_ext}", "-lssl", "-lcrypto"],
18              
19             test_requires => {
20             "Digest::SHA" => "0",
21             "File::Temp" => "0",
22             "Parallel::ForkManager" => "0",
23             "Test::Deep" => "0",
24             "Test::Fatal" => "0",
25             "Test::LeakTrace" => "0",
26             "Test::More" => "0.98",
27             "Test::SharedFork" => "0",
28             "Test::TCP" => "0",
29             "Test::UNIXSock" => "0",
30             },
31             );
32              
33 0           my $make;
34 0 0 0       if ($^O =~ m/(bsd|dragonfly)$/ && $^O !~ m/gnukfreebsd$/) {
35 0           my $gmake = which('gmake');
36 0 0         unless (defined $gmake) {
37 0           print "'gmake' is necessary for BSD platform.\n";
38 0           exit 0;
39             }
40 0           $make = $gmake;
41             } else {
42 0           $make = $Config{make};
43             }
44 0 0         if (-e '.git') {
45 0 0         unless (-e 'deps/hiredis/Makefile') {
46 0           $self->do_system('git','submodule','update','--init');
47             }
48             }
49 0           $self->do_system($make, '-C', 'deps/hiredis', 'static', 'USE_SSL=1');
50 0           return $self;
51             }
52              
53             1;