Update ExtUtils-MakeMaker to CPAN version 7.28
[perl.git] / cpan / ExtUtils-MakeMaker / lib / ExtUtils / MM_AIX.pm
1 package ExtUtils::MM_AIX;
2
3 use strict;
4 our $VERSION = '7.28';
5 $VERSION = eval $VERSION;
6
7 use ExtUtils::MakeMaker::Config;
8 require ExtUtils::MM_Unix;
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 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 sub dlsyms {
36     my($self,%attribs) = @_;
37     return '' unless $self->needs_linking;
38     join "\n", $self->xs_dlsyms_iterator(\%attribs);
39 }
40
41 =head3 xs_dlsyms_ext
42
43 On AIX, is C<.exp>.
44
45 =cut
46
47 sub xs_dlsyms_ext {
48     '.exp';
49 }
50
51 sub xs_dlsyms_arg {
52     my($self, $file) = @_;
53     return qq{-bE:${file}};
54 }
55
56 sub init_others {
57     my $self = shift;
58     $self->SUPER::init_others;
59     # perl "hints" add -bE:$(BASEEXT).exp to LDDLFLAGS. strip that out
60     # so right value can be added by xs_make_dynamic_lib to work for XSMULTI
61     $self->{LDDLFLAGS} ||= $Config{lddlflags};
62     $self->{LDDLFLAGS} =~ s#(\s*)\S*\Q$(BASEEXT)\E\S*(\s*)#$1$2#;
63     return;
64 }
65
66 =head1 AUTHOR
67
68 Michael G Schwern <schwern@pobox.com> with code from ExtUtils::MM_Unix
69
70 =head1 SEE ALSO
71
72 L<ExtUtils::MakeMaker>
73
74 =cut
75
76
77 1;