1Module::Build::Platform:P:eVrMlS(P3rpomg)rammers RefereMnocdeulGeu:i:dBeuild::Platform::VMS(3pm)
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 _infer_xs_spec
57 Inherit the standard version but tweak the library file name to be
58 something Dynaloader can find.
59
60 rscan_dir
61 Inherit the standard version but remove dots at end of name. If
62 the extended character set is in effect, do not remove dots from
63 filenames with Unix path delimiters.
64
65 dist_dir
66 Inherit the standard version but replace embedded dots with
67 underscores because a dot is the directory delimiter on VMS.
68
69 man3page_name
70 Inherit the standard version but chop the extra manpage delimiter
71 off the front if there is one. The VMS version of
72 splitdir('[.foo]') returns '', 'foo'.
73
74 expand_test_dir
75 Inherit the standard version but relativize the paths as the native
76 glob() doesn't do that for us.
77
78 _detildefy
79 The home-grown glob() does not currently handle tildes, so provide
80 limited support here. Expect only UNIX format file specifications
81 for now.
82
83 find_perl_interpreter
84 On VMS, $^X returns the fully qualified absolute path including
85 version number. It's logically impossible to improve on it for
86 getting the perl we're currently running, and attempting to
87 manipulate it is usually lossy.
88
89 localize_file_path
90 Convert the file path to the local syntax
91
92 localize_dir_path
93 Convert the directory path to the local syntax
94
95 ACTION_clean
96 The home-grown glob() expands a bit too aggressively when given a
97 bare name, so default in a zero-length extension.
98
100 Michael G Schwern <schwern@pobox.com> Ken Williams <kwilliams@cpan.org>
101 Craig A. Berry <craigberry@mac.com>
102
104 perl(1), Module::Build(3), ExtUtils::MakeMaker(3)
105
106
107
108perl v5.12.4 2011-06-07 Module::Build::Platform::VMS(3pm)