File Coverage

lib/ExtUtils/MM_AIX.pm
Criterion Covered Total %
statement 9 22 40.9
branch 0 4 0.0
condition 0 3 0.0
subroutine 3 7 42.8
pod 4 4 100.0
total 16 40 40.0


line stmt bran cond sub pod time code
1              
2             use strict;
3 1     1   18597 use warnings;
  1         2  
  1         35  
4 1     1   4 our $VERSION = '7.64';
  1         2  
  1         45  
5             $VERSION =~ tr/_//d;
6              
7             use ExtUtils::MakeMaker::Config;
8 1     1   4 require ExtUtils::MM_Unix;
  1         2  
  1         7  
9             our @ISA = qw(ExtUtils::MM_Unix);
10              
11             =head1 NAME
12              
13             ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix
14              
15             =head1 SYNOPSIS
16              
17             Don't use this module directly.
18             Use ExtUtils::MM and let it choose.
19              
20             =head1 DESCRIPTION
21              
22             This is a subclass of L<ExtUtils::MM_Unix> which contains functionality for
23             AIX.
24              
25             Unless otherwise stated it works just like ExtUtils::MM_Unix.
26              
27             =head2 Overridden methods
28              
29             =head3 dlsyms
30              
31             Define DL_FUNCS and DL_VARS and write the *.exp files.
32              
33             =cut
34              
35             my($self,%attribs) = @_;
36             return '' unless $self->needs_linking;
37 0     0 1   join "\n", $self->xs_dlsyms_iterator(\%attribs);
38 0 0         }
39 0            
40             =head3 xs_dlsyms_ext
41              
42             On AIX, is C<.exp>.
43              
44             =cut
45              
46             '.exp';
47             }
48              
49 0     0 1   my($self, $file) = @_;
50             my $arg = qq{-bE:${file}};
51             $arg = '-Wl,'.$arg if $Config{lddlflags} =~ /-Wl,-bE:/;
52             return $arg;
53 0     0 1   }
54 0            
55 0 0         my $self = shift;
56 0           $self->SUPER::init_others;
57             # perl "hints" add -bE:$(BASEEXT).exp to LDDLFLAGS. strip that out
58             # so right value can be added by xs_make_dynamic_lib to work for XSMULTI
59             $self->{LDDLFLAGS} ||= $Config{lddlflags};
60 0     0 1   $self->{LDDLFLAGS} =~ s#(\s*)\S*\Q$(BASEEXT)\E\S*(\s*)#$1$2#;
61 0           return;
62             }
63              
64 0   0       =head1 AUTHOR
65 0            
66 0           Michael G Schwern <schwern@pobox.com> with code from ExtUtils::MM_Unix
67              
68             =head1 SEE ALSO
69              
70             L<ExtUtils::MakeMaker>
71              
72             =cut
73              
74              
75             1;