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