1package ExtUtils::MM_AIX;
2
3use strict;
4use vars qw($VERSION @ISA);
5$VERSION = '0.03';
6
7require ExtUtils::MM_Unix;
8@ISA = qw(ExtUtils::MM_Unix);
9
10use ExtUtils::MakeMaker qw(neatvalue);
11
12
13=head1 NAME
14
15ExtUtils::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
24This is a subclass of ExtUtils::MM_Unix which contains functionality for
25AIX.
26
27Unless otherwise stated it works just like ExtUtils::MM_Unix
28
29=head2 Overridden methods
30
31=head3 dlsyms
32
33Define DL_FUNCS and DL_VARS and write the *.exp files.
34
35=cut
36
37sub 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,"
48dynamic :: $self->{BASEEXT}.exp
49
50") unless $self->{SKIPHASH}{'dynamic'}; # dynamic and static are subs, so...
51
52    push(@m,"
53static :: $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
71Michael G Schwern <schwern@pobox.com> with code from ExtUtils::MM_Unix
72
73=head1 SEE ALSO
74
75L<ExtUtils::MakeMaker>
76
77=cut
78
79
801;
81