0f27d177c9b606dc673312f7a9ec0bde903f4de9
[perl.git] / ext / ExtUtils-MakeMaker / lib / ExtUtils / MM_AIX.pm
1 package ExtUtils::MM_AIX;
2
3 use strict;
4 our $VERSION = '6.55_02';
5
6 require ExtUtils::MM_Unix;
7 our @ISA = qw(ExtUtils::MM_Unix);
8
9 use ExtUtils::MakeMaker qw(neatvalue);
10
11
12 =head1 NAME
13
14 ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix
15
16 =head1 SYNOPSIS
17
18   Don't use this module directly.
19   Use ExtUtils::MM and let it choose.
20
21 =head1 DESCRIPTION
22
23 This is a subclass of ExtUtils::MM_Unix which contains functionality for
24 AIX.
25
26 Unless otherwise stated it works just like ExtUtils::MM_Unix
27
28 =head2 Overridden methods
29
30 =head3 dlsyms
31
32 Define DL_FUNCS and DL_VARS and write the *.exp files.
33
34 =cut
35
36 sub dlsyms {
37     my($self,%attribs) = @_;
38
39     return '' unless $self->needs_linking();
40
41     my($funcs) = $attribs{DL_FUNCS} || $self->{DL_FUNCS} || {};
42     my($vars)  = $attribs{DL_VARS} || $self->{DL_VARS} || [];
43     my($funclist)  = $attribs{FUNCLIST} || $self->{FUNCLIST} || [];
44     my(@m);
45
46     push(@m,"
47 dynamic :: $self->{BASEEXT}.exp
48
49 ") unless $self->{SKIPHASH}{'dynamic'}; # dynamic and static are subs, so...
50
51     push(@m,"
52 static :: $self->{BASEEXT}.exp
53
54 ") unless $self->{SKIPHASH}{'static'};  # we avoid a warning if we tick them
55
56     push(@m,"
57 $self->{BASEEXT}.exp: Makefile.PL
58 ",'     $(PERLRUN) -e \'use ExtUtils::Mksymlists; \\
59         Mksymlists("NAME" => "',$self->{NAME},'", "DL_FUNCS" => ',
60         neatvalue($funcs), ', "FUNCLIST" => ', neatvalue($funclist),
61         ', "DL_VARS" => ', neatvalue($vars), ');\'
62 ');
63
64     join('',@m);
65 }
66
67
68 =head1 AUTHOR
69
70 Michael G Schwern <schwern@pobox.com> with code from ExtUtils::MM_Unix
71
72 =head1 SEE ALSO
73
74 L<ExtUtils::MakeMaker>
75
76 =cut
77
78
79 1;