SILENT KILLERPanel

Current Path: > > usr > > share > perl5 > vendor_perl > > > ExtUtils


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //usr//share/perl5/vendor_perl///ExtUtils

NameTypeSizeLast ModifiedActions
CBuilder Directory - -
Command Directory - -
Liblist Directory - -
MM Directory - -
MakeMaker Directory - -
ParseXS Directory - -
Typemaps Directory - -
CBuilder.pm File 8880 bytes November 22 2017 16:20:35.
Command.pm File 7802 bytes March 19 2018 10:21:53.
Install.pm File 41020 bytes May 28 2017 10:51:53.
Installed.pm File 14363 bytes May 28 2017 10:51:43.
Liblist.pm File 9743 bytes October 13 2019 08:55:21.
MANIFEST.SKIP File 971 bytes December 31 2014 19:02:48.
MM.pm File 2138 bytes March 19 2018 10:21:54.
MM_AIX.pm File 1403 bytes March 19 2018 10:21:54.
MM_Any.pm File 82753 bytes March 19 2018 10:21:54.
MM_BeOS.pm File 1044 bytes March 19 2018 10:21:54.
MM_Cygwin.pm File 4085 bytes March 19 2018 10:21:54.
MM_DOS.pm File 1052 bytes March 19 2018 10:21:53.
MM_Darwin.pm File 936 bytes March 19 2018 10:21:54.
MM_MacOS.pm File 892 bytes March 19 2018 10:21:54.
MM_NW5.pm File 5466 bytes March 19 2018 10:21:54.
MM_OS2.pm File 3217 bytes March 19 2018 10:21:54.
MM_QNX.pm File 894 bytes March 19 2018 10:21:54.
MM_UWIN.pm File 981 bytes March 19 2018 10:21:54.
MM_Unix.pm File 111071 bytes October 13 2019 08:55:21.
MM_VMS.pm File 68116 bytes March 19 2018 10:21:54.
MM_VOS.pm File 749 bytes March 19 2018 10:21:53.
MM_Win32.pm File 14402 bytes March 19 2018 10:21:54.
MM_Win95.pm File 1281 bytes March 19 2018 10:21:53.
MY.pm File 678 bytes March 19 2018 10:21:54.
MakeMaker.pm File 110530 bytes October 13 2019 08:55:21.
Manifest.pm File 23439 bytes December 31 2014 19:02:48.
Mkbootstrap.pm File 3306 bytes March 19 2018 10:21:53.
Mksymlists.pm File 11002 bytes March 19 2018 10:21:54.
Packlist.pm File 8565 bytes May 28 2017 10:51:43.
ParseXS.pm File 66572 bytes July 31 2017 15:46:04.
ParseXS.pod File 4406 bytes July 31 2017 15:46:04.
Typemaps.pm File 26795 bytes July 31 2017 15:46:04.
testlib.pm File 916 bytes March 19 2018 10:21:54.
xsubpp File 5080 bytes October 13 2019 08:58:35.

Reading File: //usr//share/perl5/vendor_perl///ExtUtils/MM_NW5.pm

package ExtUtils::MM_NW5;

=head1 NAME

ExtUtils::MM_NW5 - methods to override UN*X behaviour in ExtUtils::MakeMaker

=head1 SYNOPSIS

 use ExtUtils::MM_NW5; # Done internally by ExtUtils::MakeMaker if needed

=head1 DESCRIPTION

See ExtUtils::MM_Unix for a documentation of the methods provided
there. This package overrides the implementation of these methods, not
the semantics.

=over

=cut

use strict;
use ExtUtils::MakeMaker::Config;
use File::Basename;

our $VERSION = '7.34';
$VERSION = eval $VERSION;

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

use ExtUtils::MakeMaker qw(&neatvalue &_sprintf562);

$ENV{EMXSHELL} = 'sh'; # to run `commands`

my $BORLAND  = $Config{'cc'} =~ /\bbcc/i;
my $GCC      = $Config{'cc'} =~ /\bgcc/i;


=item os_flavor

We're Netware in addition to being Windows.

=cut

sub os_flavor {
    my $self = shift;
    return ($self->SUPER::os_flavor, 'Netware');
}

=item init_platform

Add Netware macros.

LIBPTH, BASE_IMPORT, NLM_VERSION, MPKTOOL, TOOLPATH, BOOT_SYMBOL,
NLM_SHORT_NAME, INCLUDE, PATH, MM_NW5_REVISION


=item platform_constants

Add Netware macros initialized above to the Makefile.

=cut

sub init_platform {
    my($self) = shift;

    # To get Win32's setup.
    $self->SUPER::init_platform;

    # incpath is copied to makefile var INCLUDE in constants sub, here just
    # make it empty
    my $libpth = $Config{'libpth'};
    $libpth =~ s( )(;);
    $self->{'LIBPTH'} = $libpth;

    $self->{'BASE_IMPORT'} = $Config{'base_import'};

    # Additional import file specified from Makefile.pl
    if($self->{'base_import'}) {
        $self->{'BASE_IMPORT'} .= ', ' . $self->{'base_import'};
    }

    $self->{'NLM_VERSION'} = $Config{'nlm_version'};
    $self->{'MPKTOOL'}	= $Config{'mpktool'};
    $self->{'TOOLPATH'}	= $Config{'toolpath'};

    (my $boot = $self->{'NAME'}) =~ s/:/_/g;
    $self->{'BOOT_SYMBOL'}=$boot;

    # If the final binary name is greater than 8 chars,
    # truncate it here.
    if(length($self->{'BASEEXT'}) > 8) {
        $self->{'NLM_SHORT_NAME'} = substr($self->{'BASEEXT'},0,8);
    }

    # Get the include path and replace the spaces with ;
    # Copy this to makefile as INCLUDE = d:\...;d:\;
    ($self->{INCLUDE} = $Config{'incpath'}) =~ s/([ ]*)-I/;/g;

    # Set the path to CodeWarrior binaries which might not have been set in
    # any other place
    $self->{PATH} = '$(PATH);$(TOOLPATH)';

    $self->{MM_NW5_VERSION} = $VERSION;
}

sub platform_constants {
    my($self) = shift;
    my $make_frag = '';

    # Setup Win32's constants.
    $make_frag .= $self->SUPER::platform_constants;

    foreach my $macro (qw(LIBPTH BASE_IMPORT NLM_VERSION MPKTOOL
                          TOOLPATH BOOT_SYMBOL NLM_SHORT_NAME INCLUDE PATH
                          MM_NW5_VERSION
                      ))
    {
        next unless defined $self->{$macro};
        $make_frag .= "$macro = $self->{$macro}\n";
    }

    return $make_frag;
}

=item static_lib_pure_cmd

Defines how to run the archive utility

=cut

sub static_lib_pure_cmd {
    my ($self, $src) = @_;
    $src =~ s/(\$\(\w+)(\))/$1:^"+"$2/g if $BORLAND;
    sprintf qq{\t\$(AR) %s\n}, ($BORLAND ? '$@ ' . $src
                          : ($GCC ? '-ru $@ ' . $src
                                  : '-type library -o $@ ' . $src));
}

=item xs_static_lib_is_xs

=cut

sub xs_static_lib_is_xs {
    return 1;
}

=item dynamic_lib

Override of utility methods for OS-specific work.

=cut

sub xs_make_dynamic_lib {
    my ($self, $attribs, $from, $to, $todir, $ldfrom, $exportlist) = @_;
    my @m;
    # Taking care of long names like FileHandle, ByteLoader, SDBM_File etc
    if ($to =~ /^\$/) {
        if ($self->{NLM_SHORT_NAME}) {
            # deal with shortnames
            my $newto = q{$(INST_AUTODIR)\\$(NLM_SHORT_NAME).$(DLEXT)};
            push @m, "$to: $newto\n\n";
            $to = $newto;
        }
    } else {
        my ($v, $d, $f) = File::Spec->splitpath($to);
        # relies on $f having a literal "." in it, unlike for $(OBJ_EXT)
        if ($f =~ /[^\.]{9}\./) {
            # 9+ chars before '.', need to shorten
            $f = substr $f, 0, 8;
        }
        my $newto = File::Spec->catpath($v, $d, $f);
        push @m, "$to: $newto\n\n";
        $to = $newto;
    }
    # bits below should be in dlsyms, not here
    #                                   1    2      3       4
    push @m, _sprintf562 <<'MAKE_FRAG', $to, $from, $todir, $exportlist;
# Create xdc data for an MT safe NLM in case of mpk build
%1$s: %2$s $(MYEXTLIB) $(BOOTSTRAP) %3$s$(DFSEP).exists
	$(NOECHO) $(ECHO) Export boot_$(BOOT_SYMBOL) > %4$s
	$(NOECHO) $(ECHO) $(BASE_IMPORT) >> %4$s
	$(NOECHO) $(ECHO) Import @$(PERL_INC)\perl.imp >> %4$s
MAKE_FRAG
    if ( $self->{CCFLAGS} =~ m/ -DMPK_ON /) {
        (my $xdc = $exportlist) =~ s#def\z#xdc#;
        $xdc = '$(BASEEXT).xdc';
        push @m, sprintf <<'MAKE_FRAG', $xdc, $exportlist;
	$(MPKTOOL) $(XDCFLAGS) %s
	$(NOECHO) $(ECHO) xdcdata $(BASEEXT).xdc >> %s
MAKE_FRAG
    }
    # Reconstruct the X.Y.Z version.
    my $version = join '.', map { sprintf "%d", $_ }
                              $] =~ /(\d)\.(\d{3})(\d{2})/;
    push @m, sprintf <<'EOF', $from, $version, $to, $exportlist;
	$(LD) $(LDFLAGS) %s -desc "Perl %s Extension ($(BASEEXT))  XS_VERSION: $(XS_VERSION)" -nlmversion $(NLM_VERSION) -o %s $(MYEXTLIB) $(PERL_INC)\Main.lib -commandfile %s
	$(CHMOD) 755 $@
EOF
    join '', @m;
}

1;
__END__

=back

=cut

SILENT KILLER Tool