This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade to ExtUtils::MakeMaker 6.27,
[perl5.git] / lib / ExtUtils / MM_AIX.pm
1 package ExtUtils::MM_AIX;
2
3 use strict;
4 use vars qw($VERSION @ISA);
5 $VERSION = '0.02';
6
7 require ExtUtils::MM_Unix;
8 @ISA = qw(ExtUtils::MM_Unix);
9
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
38     return '' unless $self->needs_linking();
39
40     my($funcs) = $attribs{DL_FUNCS} || $self->{DL_FUNCS} || {};
41     my($vars)  = $attribs{DL_VARS} || $self->{DL_VARS} || [];
42     my($funclist)  = $attribs{FUNCLIST} || $self->{FUNCLIST} || [];
43     my(@m);
44
45     push(@m,"
46 dynamic :: $self->{BASEEXT}.exp
47
48 ") unless $self->{SKIPHASH}{'dynamic'}; # dynamic and static are subs, so...
49
50     push(@m,"
51 static :: $self->{BASEEXT}.exp
52
53 ") unless $self->{SKIPHASH}{'static'};  # we avoid a warning if we tick them
54
55     push(@m,"
56 $self->{BASEEXT}.exp: Makefile.PL
57 ",'     $(PERLRUN) -e \'use ExtUtils::Mksymlists; \\
58         Mksymlists("NAME" => "',$self->{NAME},'", "DL_FUNCS" => ',
59         neatvalue($funcs), ', "FUNCLIST" => ', neatvalue($funclist),
60         ', "DL_VARS" => ', neatvalue($vars), ');\'
61 ');
62
63     join('',@m);
64 }
65
66
67 =head1 AUTHOR
68
69 Michael G Schwern <schwern@pobox.com> with code from ExtUtils::MM_Unix
70
71 =head1 SEE ALSO
72
73 L<ExtUtils::MakeMaker>
74
75 =cut
76
77
78 1;