This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade to ExtUtils::MakeMaker 6.37_03
[perl5.git] / lib / ExtUtils / MM_AIX.pm
1 package ExtUtils::MM_AIX;
2
3 use strict;
4 use vars qw($VERSION @ISA);
5 $VERSION = '6.37_03';
6
7 require ExtUtils::MM_Unix;
8 @ISA = qw(ExtUtils::MM_Unix);
9
10 use ExtUtils::MakeMaker qw(neatvalue);
11
12
13 =head1 NAME
14
15 ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix
16
17 =head1 SYNOPSIS
18
19   Don't use this module directly.
20   Use ExtUtils::MM and let it choose.
21
22 =head1 DESCRIPTION
23
24 This is a subclass of ExtUtils::MM_Unix which contains functionality for
25 AIX.
26
27 Unless otherwise stated it works just like ExtUtils::MM_Unix
28
29 =head2 Overridden methods
30
31 =head3 dlsyms
32
33 Define DL_FUNCS and DL_VARS and write the *.exp files.
34
35 =cut
36
37 sub dlsyms {
38     my($self,%attribs) = @_;
39
40     return '' unless $self->needs_linking();
41
42     my($funcs) = $attribs{DL_FUNCS} || $self->{DL_FUNCS} || {};
43     my($vars)  = $attribs{DL_VARS} || $self->{DL_VARS} || [];
44     my($funclist)  = $attribs{FUNCLIST} || $self->{FUNCLIST} || [];
45     my(@m);
46
47     push(@m,"
48 dynamic :: $self->{BASEEXT}.exp
49
50 ") unless $self->{SKIPHASH}{'dynamic'}; # dynamic and static are subs, so...
51
52     push(@m,"
53 static :: $self->{BASEEXT}.exp
54
55 ") unless $self->{SKIPHASH}{'static'};  # we avoid a warning if we tick them
56
57     push(@m,"
58 $self->{BASEEXT}.exp: Makefile.PL
59 ",'     $(PERLRUN) -e \'use ExtUtils::Mksymlists; \\
60         Mksymlists("NAME" => "',$self->{NAME},'", "DL_FUNCS" => ',
61         neatvalue($funcs), ', "FUNCLIST" => ', neatvalue($funclist),
62         ', "DL_VARS" => ', neatvalue($vars), ');\'
63 ');
64
65     join('',@m);
66 }
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;