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