File Coverage

blib/lib/Alien/Build/Plugin/Gather/Dino.pm
Criterion Covered Total %
statement 26 26 100.0
branch 4 4 100.0
condition n/a
subroutine 8 8 100.0
pod 1 1 100.0
total 39 39 100.0


line stmt bran cond sub pod time code
1             package Alien::Build::Plugin::Gather::Dino;
2              
3 3     3   235640 use strict;
  3         8  
  3         81  
4 3     3   13 use warnings;
  3         6  
  3         58  
5 3     3   44 use 5.008001;
  3         9  
6 3     3   802 use Alien::Build::Plugin;
  3         3737  
  3         16  
7 3     3   1535 use FFI::CheckLib qw( find_lib );
  3         4740  
  3         183  
8 3     3   612 use Path::Tiny qw( path );
  3         8336  
  3         561  
9              
10             # ABSTRACT: Experimental support for dynamic share Alien install
11             our $VERSION = '0.01'; # VERSION
12              
13              
14             sub init
15             {
16 2     2 1 114 my($self, $meta) = @_;
17            
18             $meta->after_hook(
19             gather_share => sub {
20 2     2   34930851 my($build) = @_;
21            
22 2         17 foreach my $path (map { path('.')->absolute->child($_) } qw( bin lib dynamic ))
  6         804  
23             {
24 6 100       1105 next unless -d $path;
25 4 100       166 if(find_lib(lib => '*', libpath => $path->stringify, systempath => []))
26             {
27 2         1077 push @{ $build->runtime_prop->{rpath} }, $path->basename;
  2         23  
28             }
29             }
30             },
31 2         13 );
32             }
33              
34             1;
35              
36             __END__