File Coverage

blib/lib/FFI/Build/File/Fortran.pm
Criterion Covered Total %
statement 17 27 62.9
branch 0 4 0.0
condition n/a
subroutine 6 11 54.5
pod 2 3 66.6
total 25 45 55.5


line stmt bran cond sub pod time code
1             package FFI::Build::File::Fortran;
2              
3 2     2   106676 use strict;
  2         14  
  2         58  
4 2     2   13 use warnings;
  2         4  
  2         44  
5 2     2   44 use 5.008001;
  2         7  
6 2     2   12 use base qw( FFI::Build::File::C );
  2         5  
  2         1112  
7 2     2   55693 use constant default_suffix => '.f';
  2         6  
  2         103  
8 2     2   13 use constant default_encoding => ':utf8';
  2         4  
  2         524  
9              
10             our $VERSION = '0.11';
11              
12             =head1 NAME
13              
14             FFI::Build::File::Fortran - Class to track Fortran source file in FFI::Build
15             Fortran
16              
17             =head1 SYNOPSIS
18              
19             use FFI::Build::File::Fortran;
20            
21             my $c = FFI::Build::File::C->new('src/foo.f');
22              
23             =head1 DESCRIPTION
24              
25             File class for Fortran source files.
26              
27             =cut
28              
29             sub accept_suffix
30             {
31 0     0 1   (qr/\.f(90|95|or)?$/)
32             }
33              
34             sub cc
35             {
36 0     0 0   my($self) = @_;
37 0           $self->platform->for;
38             }
39              
40             sub ld
41             {
42 0     0 1   my($self) = @_;
43 0           $self->platform->for;
44             }
45              
46             sub _filter
47             {
48 0 0   0     grep { $_ ne '-no-cpp-precomp' && $_ !~ /^-[DI]/ } @_;
  0            
49             }
50              
51             # TODO: this should use a public interface
52             sub _base_args
53             {
54 0     0     my($self) = @_;
55 0 0         map { ref $_ ? [_filter(@$_)] : _filter($_) } $self->SUPER::_base_args;
  0            
56             }
57              
58             1;
59              
60             =head1 SEE ALSO
61              
62             =over 4
63              
64             =item L
65              
66             The Core Platypus documentation.
67              
68             =item L
69              
70             Tool to build bundled libraries with your Perl dist.
71              
72             =item L
73              
74             Bundle Fortran with your FFI / Perl extension.
75              
76             =back
77              
78             =head1 AUTHOR
79              
80             Graham Ollis Eplicease@cpan.orgE
81              
82             =head1 COPYRIGHT AND LICENSE
83              
84             This software is copyright (c) 2015 by Graham Ollis
85              
86             This is free software; you can redistribute it and/or modify it under
87             the same terms as the Perl 5 programming language system itself.
88              
89             =cut