1package ExtUtils::MM_AIX; 2 3use strict; 4use warnings; 5our $VERSION = '7.70'; 6$VERSION =~ tr/_//d; 7 8use ExtUtils::MakeMaker::Config; 9require ExtUtils::MM_Unix; 10our @ISA = qw(ExtUtils::MM_Unix); 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 L<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 return '' unless $self->needs_linking; 39 join "\n", $self->xs_dlsyms_iterator(\%attribs); 40} 41 42=head3 xs_dlsyms_ext 43 44On AIX, is C<.exp>. 45 46=cut 47 48sub xs_dlsyms_ext { 49 '.exp'; 50} 51 52sub xs_dlsyms_arg { 53 my($self, $file) = @_; 54 my $arg = qq{-bE:${file}}; 55 $arg = '-Wl,'.$arg if $Config{lddlflags} =~ /-Wl,-bE:/; 56 return $arg; 57} 58 59sub init_others { 60 my $self = shift; 61 $self->SUPER::init_others; 62 # perl "hints" add -bE:$(BASEEXT).exp to LDDLFLAGS. strip that out 63 # so right value can be added by xs_make_dynamic_lib to work for XSMULTI 64 $self->{LDDLFLAGS} ||= $Config{lddlflags}; 65 $self->{LDDLFLAGS} =~ s#(\s*)\S*\Q$(BASEEXT)\E\S*(\s*)#$1$2#; 66 return; 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