1Module::Build::PlatformU:s:eVrMSC(o3n)tributed Perl DocuMmoednutlaet:i:oBnuild::Platform::VMS(3)
2
3
4
6 Module::Build::Platform::VMS - Builder class for VMS platforms
7
9 This module inherits from "Module::Build::Base" and alters a few minor
10 details of its functionality. Please see Module::Build for the general
11 docs.
12
13 Overridden Methods
14 _set_defaults
15 Change $self->{build_script} to 'Build.com' so @Build works.
16
17 cull_args
18 '@Build foo' on VMS will not preserve the case of 'foo'. Rather
19 than forcing people to write '@Build "foo"' we'll dispatch case-
20 insensitively.
21
22 manpage_separator
23 Use '__' instead of '::'.
24
25 prefixify
26 Prefixify taking into account VMS' filepath syntax.
27
28 _quote_args
29 Command-line arguments (but not the command itself) must be quoted
30 to ensure case preservation.
31
32 have_forkpipe
33 There is no native fork(), so some constructs depending on it are
34 not available.
35
36 _backticks
37 Override to ensure that we quote the arguments but not the command.
38
39 find_command
40 Local an executable program
41
42 _maybe_command (override)
43 Follows VMS naming conventions for executable files. If the name
44 passed in doesn't exactly match an executable file, appends .Exe
45 (or equivalent) to check for executable image, and .Com to check
46 for DCL procedure. If this fails, checks directories in DCL$PATH
47 and finally Sys$System: for an executable file having the name
48 specified, with or without the .Exe-equivalent suffix.
49
50 do_system
51 Override to ensure that we quote the arguments but not the command.
52
53 oneliner
54 Override to ensure that we do not quote the command.
55
56 rscan_dir
57 Inherit the standard version but remove dots at end of name. If
58 the extended character set is in effect, do not remove dots from
59 filenames with Unix path delimiters.
60
61 dist_dir
62 Inherit the standard version but replace embedded dots with
63 underscores because a dot is the directory delimiter on VMS.
64
65 man3page_name
66 Inherit the standard version but chop the extra manpage delimiter
67 off the front if there is one. The VMS version of
68 splitdir('[.foo]') returns '', 'foo'.
69
70 expand_test_dir
71 Inherit the standard version but relativize the paths as the native
72 glob() doesn't do that for us.
73
74 _detildefy
75 The home-grown glob() does not currently handle tildes, so provide
76 limited support here. Expect only UNIX format file specifications
77 for now.
78
79 find_perl_interpreter
80 On VMS, $^X returns the fully qualified absolute path including
81 version number. It's logically impossible to improve on it for
82 getting the perl we're currently running, and attempting to
83 manipulate it is usually lossy.
84
85 localize_file_path
86 Convert the file path to the local syntax
87
88 localize_dir_path
89 Convert the directory path to the local syntax
90
91 ACTION_clean
92 The home-grown glob() expands a bit too aggressively when given a
93 bare name, so default in a zero-length extension.
94
96 Michael G Schwern <schwern@pobox.com> Ken Williams <kwilliams@cpan.org>
97 Craig A. Berry <craigberry@mac.com>
98
100 perl(1), Module::Build(3), ExtUtils::MakeMaker(3)
101
102
103
104perl v5.34.0 2022-01-21 Module::Build::Platform::VMS(3)