Plan 9 from Bell Labs’s /usr/web/sources/contrib/gabidiaz/root/sys/man/2perl/ExtUtils::MM_VMS

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  | will give a
.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
.\" expand to `' in nroff, nothing in troff, for use with C<>.
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.if \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    nr % 0
.    rr F
.\}
.\"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ExtUtils::MM_VMS 3"
.TH ExtUtils::MM_VMS 3 "2002-11-24" "perl v5.8.0" "Perl Programmers Reference Guide"
.SH "NAME"
ExtUtils::MM_VMS \- methods to override UN*X behaviour in ExtUtils::MakeMaker
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 3
\&  Do not use this directly.
\&  Instead, use ExtUtils::MM and it will figure out which MM_*
\&  class to use for you.
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
See ExtUtils::MM_Unix for a documentation of the methods provided
there. This package overrides the implementation of these methods, not
the semantics.
.Sh "Methods always loaded"
.IX Subsection "Methods always loaded"
.IP "wraplist" 4
.IX Item "wraplist"
Converts a list into a string wrapped at approximately 80 columns.
.Sh "Methods"
.IX Subsection "Methods"
Those methods which override default MM_Unix methods are marked
\&\*(L"(override)\*(R", while methods unique to \s-1MM_VMS\s0 are marked \*(L"(specific)\*(R".
For overridden methods, documentation is limited to an explanation
of why this method overrides the MM_Unix method; see the ExtUtils::MM_Unix
documentation for more details.
.IP "guess_name (override)" 4
.IX Item "guess_name (override)"
Try to determine name of extension being built.  We begin with the name
of the current directory.  Since \s-1VMS\s0 filenames are case\-insensitive,
however, we look for a \fI.pm\fR file whose name matches that of the current
directory (presumably the 'main' \fI.pm\fR file for this extension), and try
to find a \f(CW\*(C`package\*(C'\fR statement from which to obtain the Mixed::Case
package name.
.IP "find_perl (override)" 4
.IX Item "find_perl (override)"
Use \s-1VMS\s0 file specification syntax and \s-1CLI\s0 commands to find and
invoke Perl images.
.IP "maybe_command (override)" 4
.IX Item "maybe_command (override)"
Follows \s-1VMS\s0 naming conventions for executable files.
If the name passed in doesn't exactly match an executable file,
appends \fI.Exe\fR (or equivalent) to check for executable image, and \fI.Com\fR
to check for \s-1DCL\s0 procedure.  If this fails, checks directories in \s-1DCL$PATH\s0
and finally \fISys$System:\fR for an executable file having the name specified,
with or without the \fI.Exe\fR\-equivalent suffix.
.IP "maybe_command_in_dirs (override)" 4
.IX Item "maybe_command_in_dirs (override)"
Uses \s-1DCL\s0 argument quoting on test command line.
.IP "perl_script (override)" 4
.IX Item "perl_script (override)"
If name passed in doesn't specify a readable file, appends \fI.com\fR or
\&\fI.pl\fR and tries again, since it's customary to have file types on all files
under \s-1VMS\s0.
.IP "replace_manpage_separator" 4
.IX Item "replace_manpage_separator"
Use as separator a character which is legal in a VMS-syntax file name.
.IP "init_main (override)" 4
.IX Item "init_main (override)"
Override \s-1DISTVNAME\s0 so it uses \s-1VERSION_SYM\s0 to avoid getting too many
dots in the name.
.IP "init_others (override)" 4
.IX Item "init_others (override)"
Provide VMS-specific forms of various utility commands, then hand
off to the default MM_Unix method.
.IP "constants (override)" 4
.IX Item "constants (override)"
Fixes up numerous file and directory macros to insure \s-1VMS\s0 syntax
regardless of input syntax.  Also adds a few VMS-specific macros
and makes lists of files comma\-separated.
.IP "cflags (override)" 4
.IX Item "cflags (override)"
Bypass shell script and produce qualifiers for \s-1CC\s0 directly (but warn
user if a shell script for this extension exists).  Fold multiple
/Defines into one, since some C compilers pay attention to only one
instance of this qualifier on the command line.
.IP "const_cccmd (override)" 4
.IX Item "const_cccmd (override)"
Adds directives to point C preprocessor to the right place when
handling #include <sys/foo.h> directives.  Also constructs \s-1CC\s0
command line a bit differently than MM_Unix method.
.IP "pm_to_blib (override)" 4
.IX Item "pm_to_blib (override)"
\&\s-1DCL\s0 \fIstill\fR accepts a maximum of 255 characters on a command
line, so we write the (potentially) long list of file names
to a temp file, then persuade Perl to read it instead of the
command line to find args.
.IP "tool_autosplit (override)" 4
.IX Item "tool_autosplit (override)"
Use VMS-style quoting on command line.
.IP "tool_sxubpp (override)" 4
.IX Item "tool_sxubpp (override)"
Use VMS-style quoting on xsubpp command line.
.IP "xsubpp_version (override)" 4
.IX Item "xsubpp_version (override)"
Test xsubpp exit status according to \s-1VMS\s0 rules ($sts & 1 ==> good)
rather than Unix rules ($sts == 0 ==> good).
.IP "tools_other (override)" 4
.IX Item "tools_other (override)"
Adds a few MM[\s-1SK\s0] macros, and shortens some the installatin commands,
in order to stay under \s-1DCL\s0's 255\-character limit.  Also changes
\&\s-1EQUALIZE_TIMESTAMP\s0 to set revision date of target file to one second
later than source file, since \s-1MMK\s0 interprets precisely equal revision
dates for a source and target file as a sign that the target needs
to be updated.
.IP "dist (override)" 4
.IX Item "dist (override)"
Provide VMSish defaults for some values, then hand off to
default MM_Unix method.
.IP "c_o (override)" 4
.IX Item "c_o (override)"
Use \s-1VMS\s0 syntax on command line.  In particular, $(\s-1DEFINE\s0) and
$(\s-1PERL_INC\s0) have been pulled into $(\s-1CCCMD\s0).  Also use MM[\s-1SK\s0] macros.
.IP "xs_c (override)" 4
.IX Item "xs_c (override)"
Use MM[\s-1SK\s0] macros.
.IP "xs_o (override)" 4
.IX Item "xs_o (override)"
Use MM[\s-1SK\s0] macros, and \s-1VMS\s0 command line for C compiler.
.IP "top_targets (override)" 4
.IX Item "top_targets (override)"
Path seperator differences.
.IP "dlsyms (override)" 4
.IX Item "dlsyms (override)"
Create \s-1VMS\s0 linker options files specifying universal symbols for this
extension's shareable image, and listing other shareable images or 
libraries to which it should be linked.
.IP "dynamic_lib (override)" 4
.IX Item "dynamic_lib (override)"
Use \s-1VMS\s0 Link command.
.IP "dynamic_bs (override)" 4
.IX Item "dynamic_bs (override)"
Use VMS-style quoting on Mkbootstrap command line.
.IP "static_lib (override)" 4
.IX Item "static_lib (override)"
Use \s-1VMS\s0 commands to manipulate object library.
.IP "manifypods (override)" 4
.IX Item "manifypods (override)"
Use VMS-style quoting on command line, and \s-1VMS\s0 logical name
to specify fallback location at build time if we can't find pod2man.
.IP "processPL (override)" 4
.IX Item "processPL (override)"
Use VMS-style quoting on command line.
.IP "installbin (override)" 4
.IX Item "installbin (override)"
Stay under \s-1DCL\s0's 255 character command line limit once again by
splitting potentially long list of files across multiple lines
in \f(CW\*(C`realclean\*(C'\fR target.
.IP "subdir_x (override)" 4
.IX Item "subdir_x (override)"
Use \s-1VMS\s0 commands to change default directory.
.IP "clean (override)" 4
.IX Item "clean (override)"
Split potentially long list of files across multiple commands (in
order to stay under the magic command line limit).  Also use MM[\s-1SK\s0]
commands for handling subdirectories.
.IP "realclean (override)" 4
.IX Item "realclean (override)"
Guess what we're working around?  Also, use MM[\s-1SK\s0] for subdirectories.
.IP "dist_core (override)" 4
.IX Item "dist_core (override)"
Syntax for invoking \fIVMS_Share\fR differs from that for Unix \fIshar\fR,
so \f(CW\*(C`shdist\*(C'\fR target actions are VMS\-specific.
.IP "dist_test (override)" 4
.IX Item "dist_test (override)"
Use \s-1VMS\s0 commands to change default directory, and use VMS-style
quoting on command line.
.IP "install (override)" 4
.IX Item "install (override)"
Work around \s-1DCL\s0's 255 character limit several times,and use
VMS-style command line quoting in a few cases.
.IP "perldepend (override)" 4
.IX Item "perldepend (override)"
Use VMS-style syntax for files; it's cheaper to just do it directly here
than to have the MM_Unix method call \f(CW\*(C`catfile\*(C'\fR repeatedly.  Also, if
we have to rebuild Config.pm, use MM[\s-1SK\s0] to do it.
.IP "makefile (override)" 4
.IX Item "makefile (override)"
Use \s-1VMS\s0 commands and quoting.
.IP "find_tests (override)" 4
.IX Item "find_tests (override)"
.PD 0
.IP "test (override)" 4
.IX Item "test (override)"
.PD
Use \s-1VMS\s0 commands for handling subdirectories.
.IP "makeaperl (override)" 4
.IX Item "makeaperl (override)"
Undertake to build a new set of Perl images using \s-1VMS\s0 commands.  Since
\&\s-1VMS\s0 does dynamic loading, it's not necessary to statically link each
extension into the Perl image, so this isn't the normal build path.
Consequently, it hasn't really been tested, and may well be incomplete.
.IP "nicetext (override)" 4
.IX Item "nicetext (override)"
Insure that colons marking targets are preceded by space, in order
to distinguish the target delimiter from a colon appearing as
part of a filespec.
.IP "prefixify (override)" 4
.IX Item "prefixify (override)"
prefixifying on \s-1VMS\s0 is simple.  Each should simply be:
.Sp
.Vb 1
\&    perl_root:[some.dir]
.Ve
.Sp
which can just be converted to:
.Sp
.Vb 1
\&    volume:[your.prefix.some.dir]
.Ve
.Sp
otherwise you get the default layout.
.Sp
In effect, your search prefix is ignored and \f(CW$Config\fR{vms_prefix} is
used instead.

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.