summaryrefslogtreecommitdiffstats
path: root/upstream/archlinux/man3/ExtUtils::MM_VMS.3perl
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /upstream/archlinux/man3/ExtUtils::MM_VMS.3perl
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/archlinux/man3/ExtUtils::MM_VMS.3perl')
-rw-r--r--upstream/archlinux/man3/ExtUtils::MM_VMS.3perl394
1 files changed, 394 insertions, 0 deletions
diff --git a/upstream/archlinux/man3/ExtUtils::MM_VMS.3perl b/upstream/archlinux/man3/ExtUtils::MM_VMS.3perl
new file mode 100644
index 00000000..d4768ff8
--- /dev/null
+++ b/upstream/archlinux/man3/ExtUtils::MM_VMS.3perl
@@ -0,0 +1,394 @@
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.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
+..
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
+.ie n \{\
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\" ========================================================================
+.\"
+.IX Title "ExtUtils::MM_VMS 3perl"
+.TH ExtUtils::MM_VMS 3perl 2024-02-11 "perl v5.38.2" "Perl Programmers Reference Guide"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.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.
+.SS "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.
+.SS Methods
+.IX Subsection "Methods"
+Those methods which override default MM_Unix methods are marked
+"(override)", while methods unique to MM_VMS are marked "(specific)".
+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 VMS 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 VMS file specification syntax and CLI commands to find and
+invoke Perl images.
+.IP "_fixin_replace_shebang (override)" 4
+.IX Item "_fixin_replace_shebang (override)"
+Helper routine for MM\->\fBfixin()\fR, overridden
+because there's no such thing as an
+actual shebang line that will be interpreted by the shell, so we just prepend
+\&\f(CW$Config\fR{startperl} and preserve the shebang line argument for any switches it
+may contain.
+.IP "maybe_command (override)" 4
+.IX Item "maybe_command (override)"
+Follows VMS 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 DCL procedure. If this fails, checks directories in DCL$PATH
+and finally \fISys$System:\fR for an executable file having the name specified,
+with or without the \fI.Exe\fR\-equivalent suffix.
+.IP "pasthru (override)" 4
+.IX Item "pasthru (override)"
+The list of macro definitions to be passed through must be specified using
+the /MACRO qualifier and must not add another /DEFINE qualifier. We prepend
+our own comma here to the contents of $(PASTHRU_DEFINE) because it is often
+empty and a comma always present in CCFLAGS would generate a missing
+qualifier value error.
+.IP "pm_to_blib (override)" 4
+.IX Item "pm_to_blib (override)"
+VMS wants a dot in every file so we can't have one called 'pm_to_blib',
+it becomes 'pm_to_blib.' and MMS/K isn't smart enough to know that when
+you have a target called 'pm_to_blib' it should look for 'pm_to_blib.'.
+.Sp
+So in VMS its pm_to_blib.ts.
+.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 VMS.
+.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_DEST 4
+.IX Item "init_DEST"
+(override) Because of the difficulty concatenating VMS filepaths we
+must pre-expand the DEST* variables.
+.IP init_DIRFILESEP 4
+.IX Item "init_DIRFILESEP"
+No separator between a directory path and a filename on VMS.
+.IP "init_main (override)" 4
+.IX Item "init_main (override)"
+.PD 0
+.IP "init_tools (override)" 4
+.IX Item "init_tools (override)"
+.PD
+Provide VMS-specific forms of various utility commands.
+.Sp
+Sets DEV_NULL to nothing because I don't know how to do it on VMS.
+.Sp
+Changes EQUALIZE_TIMESTAMP to set revision date of target file to
+one second later than source file, since MMK interprets precisely
+equal revision dates for a source and target file as a sign that the
+target needs to be updated.
+.IP "init_platform (override)" 4
+.IX Item "init_platform (override)"
+Add PERL_VMS, MM_VMS_REVISION and MM_VMS_VERSION.
+.Sp
+MM_VMS_REVISION is for backwards compatibility before MM_VMS had a
+\&\f(CW$VERSION\fR.
+.IP platform_constants 4
+.IX Item "platform_constants"
+.PD 0
+.IP "init_VERSION (override)" 4
+.IX Item "init_VERSION (override)"
+.PD
+Override the *DEFINE_VERSION macros with VMS semantics. Translate the
+MAKEMAKER filepath to VMS style.
+.IP "constants (override)" 4
+.IX Item "constants (override)"
+Fixes up numerous file and directory macros to insure VMS syntax
+regardless of input syntax. Also makes lists of files
+comma-separated.
+.IP special_targets 4
+.IX Item "special_targets"
+Clear the default .SUFFIXES and put in our own list.
+.IP "cflags (override)" 4
+.IX Item "cflags (override)"
+Bypass shell script and produce qualifiers for CC 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 CC
+command line a bit differently than MM_Unix method.
+.IP "tools_other (override)" 4
+.IX Item "tools_other (override)"
+Throw in some dubious extra macros for Makefile args.
+.Sp
+Also keep around the old $(SAY) macro in case somebody's using it.
+.IP "init_dist (override)" 4
+.IX Item "init_dist (override)"
+VMSish defaults for some values.
+.Sp
+.Vb 1
+\& macro description default
+\&
+\& ZIPFLAGS flags to pass to ZIP \-Vu
+\&
+\& COMPRESS compression command to gzip
+\& use for tarfiles
+\& SUFFIX suffix to put on \-gz
+\& compressed files
+\&
+\& SHAR shar command to use vms_share
+\&
+\& DIST_DEFAULT default target to use to tardist
+\& create a distribution
+\&
+\& DISTVNAME Use VERSION_SYM instead of $(DISTNAME)\-$(VERSION_SYM)
+\& VERSION for the name
+.Ve
+.IP "c_o (override)" 4
+.IX Item "c_o (override)"
+Use VMS syntax on command line. In particular, $(DEFINE) and
+$(PERL_INC) have been pulled into $(CCCMD). Also use MM[SK] macros.
+.IP "xs_c (override)" 4
+.IX Item "xs_c (override)"
+Use MM[SK] macros.
+.IP "xs_o (override)" 4
+.IX Item "xs_o (override)"
+Use MM[SK] macros, and VMS command line for C compiler.
+.IP "_xsbuild_replace_macro (override)" 4
+.IX Item "_xsbuild_replace_macro (override)"
+There is no simple replacement possible since a qualifier and all its
+subqualifiers must be considered together, so we use our own utility
+routine for the replacement.
+.IP "_xsbuild_value (override)" 4
+.IX Item "_xsbuild_value (override)"
+Convert the extension spec to Unix format, as that's what will
+match what's in the XSBUILD data structure.
+.IP "dlsyms (override)" 4
+.IX Item "dlsyms (override)"
+Create VMS linker options files specifying universal symbols for this
+extension's shareable image(s), and listing other shareable images or
+libraries to which it should be linked.
+.IP xs_obj_opt 4
+.IX Item "xs_obj_opt"
+Override to fixup \-o flags.
+.IP "dynamic_lib (override)" 4
+.IX Item "dynamic_lib (override)"
+Use VMS Link command.
+.IP "xs_make_static_lib (override)" 4
+.IX Item "xs_make_static_lib (override)"
+Use VMS commands to manipulate object library.
+.IP "static_lib_pure_cmd (override)" 4
+.IX Item "static_lib_pure_cmd (override)"
+Use VMS commands to manipulate object library.
+.IP xs_static_lib_is_xs 4
+.IX Item "xs_static_lib_is_xs"
+.PD 0
+.IP extra_clean_files 4
+.IX Item "extra_clean_files"
+.PD
+Clean up some OS specific files. Plus the temp file used to shorten
+a lot of commands. And the name mangler database.
+.IP zipfile_target 4
+.IX Item "zipfile_target"
+.PD 0
+.IP tarfile_target 4
+.IX Item "tarfile_target"
+.IP shdist_target 4
+.IX Item "shdist_target"
+.PD
+Syntax for invoking shar, tar and zip differs from that for Unix.
+.IP "install (override)" 4
+.IX Item "install (override)"
+Work around DCL'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[SK] to do it.
+.IP "makeaperl (override)" 4
+.IX Item "makeaperl (override)"
+Undertake to build a new set of Perl images using VMS commands. Since
+VMS 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 "maketext_filter (override)" 4
+.IX Item "maketext_filter (override)"
+Ensure 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 VMS 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.
+.IP cd 4
+.IX Item "cd"
+.PD 0
+.IP oneliner 4
+.IX Item "oneliner"
+.IP \fBecho\fR 4
+.IX Item "echo"
+.PD
+perl trips up on "<foo>" thinking it's an input redirect. So we use the
+native Write command instead. Besides, it's faster.
+.IP quote_literal 4
+.IX Item "quote_literal"
+.PD 0
+.IP escape_dollarsigns 4
+.IX Item "escape_dollarsigns"
+.PD
+Quote, don't escape.
+.IP escape_all_dollarsigns 4
+.IX Item "escape_all_dollarsigns"
+Quote, don't escape.
+.IP escape_newlines 4
+.IX Item "escape_newlines"
+.PD 0
+.IP max_exec_len 4
+.IX Item "max_exec_len"
+.PD
+256 characters.
+.IP init_linker 4
+.IX Item "init_linker"
+.PD 0
+.IP "catdir (override)" 4
+.IX Item "catdir (override)"
+.IP "catfile (override)" 4
+.IX Item "catfile (override)"
+.PD
+Eliminate the macros in the output to the MMS/MMK file.
+.Sp
+(File::Spec::VMS used to do this for us, but it's being removed)
+.IP eliminate_macros 4
+.IX Item "eliminate_macros"
+Expands MM[KS]/Make macros in a text string, using the contents of
+identically named elements of \f(CW%$self\fR, and returns the result
+as a file specification in Unix syntax.
+.Sp
+NOTE: This is the canonical version of the method. The version in
+File::Spec::VMS is deprecated.
+.IP fixpath 4
+.IX Item "fixpath"
+.Vb 2
+\& my $path = $mm\->fixpath($path);
+\& my $path = $mm\->fixpath($path, $is_dir);
+.Ve
+.Sp
+Catchall routine to clean up problem MM[SK]/Make macros. Expands macros
+in any directory specification, in order to avoid juxtaposing two
+VMS-syntax directories when MM[SK] is run. Also expands expressions which
+are all macro, so that we can tell how long the expansion is, and avoid
+overrunning DCL's command buffer when MM[KS] is running.
+.Sp
+\&\fBfixpath()\fR checks to see whether the result matches the name of a
+directory in the current default directory and returns a directory or
+file specification accordingly. \f(CW$is_dir\fR can be set to true to
+force \fBfixpath()\fR to consider the path to be a directory or false to force
+it to be a file.
+.Sp
+NOTE: This is the canonical version of the method. The version in
+File::Spec::VMS is deprecated.
+.IP os_flavor 4
+.IX Item "os_flavor"
+VMS is VMS.
+.IP "is_make_type (override)" 4
+.IX Item "is_make_type (override)"
+None of the make types being checked for is viable on VMS,
+plus our \f(CW$self\fR\->{MAKE} is an unexpanded (and unexpandable)
+macro whose value is known only to the make utility itself.
+.IP "make_type (override)" 4
+.IX Item "make_type (override)"
+Returns a suitable string describing the type of makefile being written.
+.SH AUTHOR
+.IX Header "AUTHOR"
+Original author Charles Bailey \fIbailey@newman.upenn.edu\fR
+.PP
+Maintained by Michael G Schwern \fIschwern@pobox.com\fR
+.PP
+See ExtUtils::MakeMaker for patching and contact information.