


ExtUtils::MM_VMS(Perl Programmers Reference GExtUtils::MM_VMS(3p)


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

SYNOPSIS
        use ExtUtils::MM_VMS; # Done internally by ExtUtils::MakeMaker if needed


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

       Methods always loaded


       wraplist
           Converts a list into a string wrapped at approximately
           80 columns.

       rootdir (override)
           Returns a string representing of the root directory.

       SelfLoaded methods

       Those methods which override default MM_Unix methods are
       marked "(override)", while methods unique to MM_VMS are
       marked "(specific)".  For overridden methods, documenta-
       tion is limited to an explanation of why this method over-
       rides the MM_Unix method; see the ExtUtils::MM_Unix docu-
       mentation for more details.

       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 .pm file whose name matches that of the current
           directory (presumably the 'main' .pm file for this
           extension), and try to find a `package' statement from
           which to obtain the Mixed::Case package name.

       find_perl (override)
           Use VMS file specification syntax and CLI commands to
           find and invoke Perl images.

       path (override)
           Translate logical name DCL$PATH as a searchlist,
           rather than trying to `split' string value of
           `$ENV{'PATH'}'.

       maybe_command (override)
           Follows VMS naming conventions for executable files.
           If the name passed in doesn't exactly match an exe-
           cutable file, appends .Exe (or equivalent) to check



2000-04-06                 perl v5.6.0                          1





ExtUtils::MM_VMS(Perl Programmers Reference GExtUtils::MM_VMS(3p)


           for executable image, and .Com to check for DCL proce-
           dure.  If this fails, checks directories in DCL$PATH
           and finally Sys$System: for an executable file having
           the name specified, with or without the .Exe-equiva-
           lent suffix.

       maybe_command_in_dirs (override)
           Uses DCL argument quoting on test command line.

       perl_script (override)
           If name passed in doesn't specify a readable file,
           appends .com or .pl and tries again, since it's cus-
           tomary to have file types on all files under VMS.

       file_name_is_absolute (override)
           Checks for VMS directory spec as well as Unix separa-
           tors.

       replace_manpage_separator
           Use as separator a character which is legal in a VMS-
           syntax file name.

       init_others (override)
           Provide VMS-specific forms of various utility com-
           mands, then hand off to the default MM_Unix method.

       constants (override)
           Fixes up numerous file and directory macros to insure
           VMS syntax regardless of input syntax.  Also adds a
           few VMS-specific macros and makes lists of files
           comma-separated.

       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.

       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.

       pm_to_blib (override)
           DCL still 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.

       tool_autosplit (override)
           Use VMS-style quoting on command line.




2000-04-06                 perl v5.6.0                          2





ExtUtils::MM_VMS(Perl Programmers Reference GExtUtils::MM_VMS(3p)


       tool_sxubpp (override)
           Use VMS-style quoting on xsubpp command line.

       xsubpp_version (override)
           Test xsubpp exit status according to VMS rules ($sts &
           1 ==> good) rather than Unix rules ($sts == 0 ==>
           good).

       tools_other (override)
           Adds a few MM[SK] macros, and shortens some the
           installatin commands, in order to stay under DCL's
           255-character limit.  Also 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.

       dist (override)
           Provide VMSish defaults for some values, then hand off
           to default MM_Unix method.

       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.

       xs_c (override)
           Use MM[SK] macros.

       xs_o (override)
           Use MM[SK] macros, and VMS command line for C com-
           piler.

       top_targets (override)
           Use VMS quoting on command line for Version_check.

       dlsyms (override)
           Create VMS 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.

       dynamic_lib (override)
           Use VMS Link command.

       dynamic_bs (override)
           Use VMS-style quoting on Mkbootstrap command line.

       static_lib (override)
           Use VMS commands to manipulate object library.

       manifypods (override)
           Use VMS-style quoting on command line, and VMS logical
           name to specify fallback location at build time if we



2000-04-06                 perl v5.6.0                          3





ExtUtils::MM_VMS(Perl Programmers Reference GExtUtils::MM_VMS(3p)


           can't find pod2man.

       processPL (override)
           Use VMS-style quoting on command line.

       installbin (override)
           Stay under DCL's 255 character command line limit once
           again by splitting potentially long list of files
           across multiple lines in `realclean' target.

       subdir_x (override)
           Use VMS commands to change default directory.

       clean (override)
           Split potentially long list of files across multiple
           commands (in order to stay under the magic command
           line limit).  Also use MM[SK] commands for handling
           subdirectories.

       realclean (override)
           Guess what we're working around?  Also, use MM[SK] for
           subdirectories.

       dist_basics (override)
           Use VMS-style quoting on command line.

       dist_core (override)
           Syntax for invoking VMS_Share differs from that for
           Unix shar, so `shdist' target actions are VMS-spe-
           cific.

       dist_dir (override)
           Use VMS-style quoting on command line.

       dist_test (override)
           Use VMS commands to change default directory, and use
           VMS-style quoting on command line.

       install (override)
           Work around DCL's 255 character limit several
           times,and use VMS-style command line quoting in a few
           cases.

       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 `catfile' repeatedly.  Also, if we have to
           rebuild Config.pm, use MM[SK] to do it.

       makefile (override)
           Use VMS commands and quoting.

       test (override)
           Use VMS commands for handling subdirectories.



2000-04-06                 perl v5.6.0                          4





ExtUtils::MM_VMS(Perl Programmers Reference GExtUtils::MM_VMS(3p)


       test_via_harness (override)
           Use VMS-style quoting on command line.

       test_via_script (override)
           Use VMS-style quoting on command line.

       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.  Con-
           sequently, it hasn't really been tested, and may well
           be incomplete.

       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.







































2000-04-06                 perl v5.6.0                          5


