ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix


ExtUtils-MakeMaker documentation Contained in the ExtUtils-MakeMaker distribution.

Index


Code Index:

NAME

Top

ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix

SYNOPSIS

Top

  Don't use this module directly.
  Use ExtUtils::MM and let it choose.

DESCRIPTION

Top

This is a subclass of ExtUtils::MM_Unix which contains functionality for AIX.

Unless otherwise stated it works just like ExtUtils::MM_Unix

Overridden methods

dlsyms

Define DL_FUNCS and DL_VARS and write the *.exp files.

AUTHOR

Top

Michael G Schwern <schwern@pobox.com> with code from ExtUtils::MM_Unix

SEE ALSO

Top

ExtUtils::MakeMaker


ExtUtils-MakeMaker documentation Contained in the ExtUtils-MakeMaker distribution.
package ExtUtils::MM_AIX;

use strict;
our $VERSION = '6.56';

require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);

use ExtUtils::MakeMaker qw(neatvalue);


sub dlsyms {
    my($self,%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...

    push(@m,"
static :: $self->{BASEEXT}.exp

") unless $self->{SKIPHASH}{'static'};  # we avoid a warning if we tick them

    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), ');\'
');

    join('',@m);
}



1;