diff options
Diffstat (limited to 'gnu/usr.bin/perl/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm')
-rw-r--r-- | gnu/usr.bin/perl/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm | 50 |
1 files changed, 24 insertions, 26 deletions
diff --git a/gnu/usr.bin/perl/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm b/gnu/usr.bin/perl/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm index bb7e6105a5f..b114ee49d30 100644 --- a/gnu/usr.bin/perl/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm +++ b/gnu/usr.bin/perl/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm @@ -1,14 +1,13 @@ package ExtUtils::MM_AIX; use strict; -our $VERSION = '7.10_02'; +our $VERSION = '7.34'; +$VERSION = eval $VERSION; +use ExtUtils::MakeMaker::Config; require ExtUtils::MM_Unix; our @ISA = qw(ExtUtils::MM_Unix); -use ExtUtils::MakeMaker qw(neatvalue); - - =head1 NAME ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix @@ -35,35 +34,34 @@ Define DL_FUNCS and DL_VARS and write the *.exp files. sub dlsyms { my($self,%attribs) = @_; + return '' unless $self->needs_linking; + join "\n", $self->xs_dlsyms_iterator(\%attribs); +} - return '' unless $self->needs_linking(); - - my($funcs) = $attribs{DL_FUNCS} || $self->{DL_FUNCS} || {}; - my($vars) = $attribs{DL_VARS} || $self->{DL_VARS} || []; - my($funclist) = $attribs{FUNCLIST} || $self->{FUNCLIST} || []; - my(@m); - - push(@m," -dynamic :: $self->{BASEEXT}.exp - -") unless $self->{SKIPHASH}{'dynamic'}; # dynamic and static are subs, so... +=head3 xs_dlsyms_ext - push(@m," -static :: $self->{BASEEXT}.exp +On AIX, is C<.exp>. -") unless $self->{SKIPHASH}{'static'}; # we avoid a warning if we tick them +=cut - push(@m," -$self->{BASEEXT}.exp: Makefile.PL -",' $(PERLRUN) -e \'use ExtUtils::Mksymlists; \\ - Mksymlists("NAME" => "',$self->{NAME},'", "DL_FUNCS" => ', - neatvalue($funcs), ', "FUNCLIST" => ', neatvalue($funclist), - ', "DL_VARS" => ', neatvalue($vars), ');\' -'); +sub xs_dlsyms_ext { + '.exp'; +} - join('',@m); +sub xs_dlsyms_arg { + my($self, $file) = @_; + return qq{-bE:${file}}; } +sub init_others { + my $self = shift; + $self->SUPER::init_others; + # perl "hints" add -bE:$(BASEEXT).exp to LDDLFLAGS. strip that out + # so right value can be added by xs_make_dynamic_lib to work for XSMULTI + $self->{LDDLFLAGS} ||= $Config{lddlflags}; + $self->{LDDLFLAGS} =~ s#(\s*)\S*\Q$(BASEEXT)\E\S*(\s*)#$1$2#; + return; +} =head1 AUTHOR |