File Coverage

bin/xsone
Criterion Covered Total %
statement 25 25 100.0
branch 11 12 91.6
condition n/a
subroutine 5 5 100.0
pod n/a
total 41 42 97.6


line stmt bran cond sub pod time code
1             #!/usr/bin/env perl
2             # xsone - Combine multiple XS files into a single XS file
3             #
4             # See ExtUtils::XSOne for documentation.
5              
6 8     8   40022 use strict;
  8         17  
  8         327  
7 8     8   33 use warnings;
  8         16  
  8         425  
8 8     8   5788 use Getopt::Long;
  8         130837  
  8         49  
9 8     8   5396 use Pod::Usage;
  8         580157  
  8         1159  
10 8     8   4598 use ExtUtils::XSOne;
  8         25  
  8         11685  
11              
12 8         1074816 my $src_dir;
13             my $output;
14 8         0 my @order;
15 8         62 my $verbose = 0;
16 8         43 my $help = 0;
17              
18 8 50       73 GetOptions(
19             'src|s=s' => \$src_dir,
20             'out|o=s' => \$output,
21             'order=s@' => \@order,
22             'verbose|v' => \$verbose,
23             'help|h|?' => \$help,
24             ) or pod2usage(2);
25              
26 8 100       9660 pod2usage(1) if $help;
27 7 100       28 pod2usage("--src is required") unless $src_dir;
28 6 100       25 pod2usage("--out is required") unless $output;
29              
30 5 100       69 my $count = ExtUtils::XSOne->combine(
31             src_dir => $src_dir,
32             output => $output,
33             order => @order ? \@order : undef,
34             verbose => $verbose,
35             );
36              
37 4 100       0 print "Combined $count files into $output\n" unless $verbose;
38              
39             __END__