1package ExtUtils::MM_AIX; 2 3use strict; 4our $VERSION = '7.34'; 5$VERSION = eval $VERSION; 6 7use ExtUtils::MakeMaker::Config; 8require ExtUtils::MM_Unix; 9our @ISA = qw(ExtUtils::MM_Unix); 10 11=head1 NAME 12 13ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix 14 15=head1 SYNOPSIS 16 17 Don't use this module directly. 18 Use ExtUtils::MM and let it choose. 19 20=head1 DESCRIPTION 21 22This is a subclass of ExtUtils::MM_Unix which contains functionality for 23AIX. 24 25Unless otherwise stated it works just like ExtUtils::MM_Unix 26 27=head2 Overridden methods 28 29=head3 dlsyms 30 31Define DL_FUNCS and DL_VARS and write the *.exp files. 32 33=cut 34 35sub dlsyms { 36 my($self,%attribs) = @_; 37 return '' unless $self->needs_linking; 38 join "\n", $self->xs_dlsyms_iterator(\%attribs); 39} 40 41=head3 xs_dlsyms_ext 42 43On AIX, is C<.exp>. 44 45=cut 46 47sub xs_dlsyms_ext { 48 '.exp'; 49} 50 51sub xs_dlsyms_arg { 52 my($self, $file) = @_; 53 return qq{-bE:${file}}; 54} 55 56sub init_others { 57 my $self = shift; 58 $self->SUPER::init_others; 59 # perl "hints" add -bE:$(BASEEXT).exp to LDDLFLAGS. strip that out 60 # so right value can be added by xs_make_dynamic_lib to work for XSMULTI 61 $self->{LDDLFLAGS} ||= $Config{lddlflags}; 62 $self->{LDDLFLAGS} =~ s#(\s*)\S*\Q$(BASEEXT)\E\S*(\s*)#$1$2#; 63 return; 64} 65 66=head1 AUTHOR 67 68Michael G Schwern <schwern@pobox.com> with code from ExtUtils::MM_Unix 69 70=head1 SEE ALSO 71 72L<ExtUtils::MakeMaker> 73 74=cut 75 76 771; 78