Commit | Line | Data |
---|---|---|
920dae64 AT |
1 | package ExtUtils::MM_AIX; |
2 | ||
3 | use strict; | |
4 | use vars qw($VERSION @ISA); | |
5 | $VERSION = '0.03'; | |
6 | ||
7 | require ExtUtils::MM_Unix; | |
8 | @ISA = qw(ExtUtils::MM_Unix); | |
9 | ||
10 | use ExtUtils::MakeMaker qw(neatvalue); | |
11 | ||
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; |