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