This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[patch@25305] lib/ExtUtils/t/Constant.t VMS fixes
[perl5.git] / lib / ExtUtils / MM_AIX.pm
CommitLineData
7292dc67
RGS
1package ExtUtils::MM_AIX;
2
3use strict;
4use vars qw($VERSION @ISA);
76ca89ed 5$VERSION = '0.03';
7292dc67
RGS
6
7require ExtUtils::MM_Unix;
8@ISA = qw(ExtUtils::MM_Unix);
9
76ca89ed
RGS
10use ExtUtils::MakeMaker qw(neatvalue);
11
7292dc67
RGS
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;