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