Commit | Line | Data |
7292dc67 |
1 | package ExtUtils::MM_AIX; |
2 | |
3 | use strict; |
5bdf71cc |
4 | our $VERSION = '6.52'; |
7292dc67 |
5 | |
6 | require ExtUtils::MM_Unix; |
a592ba15 |
7 | our @ISA = qw(ExtUtils::MM_Unix); |
7292dc67 |
8 | |
76ca89ed |
9 | use ExtUtils::MakeMaker qw(neatvalue); |
10 | |
7292dc67 |
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; |