Add built local::lib
[catagits/Gitalist.git] / local-lib5 / man / man3 / ExtUtils::MM_VMS.3pm
1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sh \" Subsection heading
6 .br
7 .if t .Sp
8 .ne 5
9 .PP
10 \fB\\$1\fR
11 .PP
12 ..
13 .de Sp \" Vertical space (when we can't use .PP)
14 .if t .sp .5v
15 .if n .sp
16 ..
17 .de Vb \" Begin verbatim text
18 .ft CW
19 .nf
20 .ne \\$1
21 ..
22 .de Ve \" End verbatim text
23 .ft R
24 .fi
25 ..
26 .\" Set up some character translations and predefined strings.  \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote.  | will give a
29 .\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
30 .\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
31 .\" expand to `' in nroff, nothing in troff, for use with C<>.
32 .tr \(*W-|\(bv\*(Tr
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34 .ie n \{\
35 .    ds -- \(*W-
36 .    ds PI pi
37 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
39 .    ds L" ""
40 .    ds R" ""
41 .    ds C` ""
42 .    ds C' ""
43 'br\}
44 .el\{\
45 .    ds -- \|\(em\|
46 .    ds PI \(*p
47 .    ds L" ``
48 .    ds R" ''
49 'br\}
50 .\"
51 .\" If the F register is turned on, we'll generate index entries on stderr for
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53 .\" entries marked with X<> in POD.  Of course, you'll have to process the
54 .\" output yourself in some meaningful fashion.
55 .if \nF \{\
56 .    de IX
57 .    tm Index:\\$1\t\\n%\t"\\$2"
58 ..
59 .    nr % 0
60 .    rr F
61 .\}
62 .\"
63 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
65 .hy 0
66 .if n .na
67 .\"
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
70 .    \" fudge factors for nroff and troff
71 .if n \{\
72 .    ds #H 0
73 .    ds #V .8m
74 .    ds #F .3m
75 .    ds #[ \f1
76 .    ds #] \fP
77 .\}
78 .if t \{\
79 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80 .    ds #V .6m
81 .    ds #F 0
82 .    ds #[ \&
83 .    ds #] \&
84 .\}
85 .    \" simple accents for nroff and troff
86 .if n \{\
87 .    ds ' \&
88 .    ds ` \&
89 .    ds ^ \&
90 .    ds , \&
91 .    ds ~ ~
92 .    ds /
93 .\}
94 .if t \{\
95 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101 .\}
102 .    \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 .    \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 .    \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
117 \{\
118 .    ds : e
119 .    ds 8 ss
120 .    ds o a
121 .    ds d- d\h'-1'\(ga
122 .    ds D- D\h'-1'\(hy
123 .    ds th \o'bp'
124 .    ds Th \o'LP'
125 .    ds ae ae
126 .    ds Ae AE
127 .\}
128 .rm #[ #] #H #V #F C
129 .\" ========================================================================
130 .\"
131 .IX Title "ExtUtils::MM_VMS 3"
132 .TH ExtUtils::MM_VMS 3 "2009-07-07" "perl v5.8.7" "User Contributed Perl Documentation"
133 .SH "NAME"
134 ExtUtils::MM_VMS \- methods to override UN*X behaviour in ExtUtils::MakeMaker
135 .SH "SYNOPSIS"
136 .IX Header "SYNOPSIS"
137 .Vb 3
138 \&  Do not use this directly.
139 \&  Instead, use ExtUtils::MM and it will figure out which MM_*
140 \&  class to use for you.
141 .Ve
142 .SH "DESCRIPTION"
143 .IX Header "DESCRIPTION"
144 See ExtUtils::MM_Unix for a documentation of the methods provided
145 there. This package overrides the implementation of these methods, not
146 the semantics.
147 .Sh "Methods always loaded"
148 .IX Subsection "Methods always loaded"
149 .IP "wraplist" 4
150 .IX Item "wraplist"
151 Converts a list into a string wrapped at approximately 80 columns.
152 .Sh "Methods"
153 .IX Subsection "Methods"
154 Those methods which override default MM_Unix methods are marked
155 \&\*(L"(override)\*(R", while methods unique to \s-1MM_VMS\s0 are marked \*(L"(specific)\*(R".
156 For overridden methods, documentation is limited to an explanation
157 of why this method overrides the MM_Unix method; see the ExtUtils::MM_Unix
158 documentation for more details.
159 .IP "guess_name (override)" 4
160 .IX Item "guess_name (override)"
161 Try to determine name of extension being built.  We begin with the name
162 of the current directory.  Since \s-1VMS\s0 filenames are case\-insensitive,
163 however, we look for a \fI.pm\fR file whose name matches that of the current
164 directory (presumably the 'main' \fI.pm\fR file for this extension), and try
165 to find a \f(CW\*(C`package\*(C'\fR statement from which to obtain the Mixed::Case
166 package name.
167 .IP "find_perl (override)" 4
168 .IX Item "find_perl (override)"
169 Use \s-1VMS\s0 file specification syntax and \s-1CLI\s0 commands to find and
170 invoke Perl images.
171 .IP "maybe_command (override)" 4
172 .IX Item "maybe_command (override)"
173 Follows \s-1VMS\s0 naming conventions for executable files.
174 If the name passed in doesn't exactly match an executable file,
175 appends \fI.Exe\fR (or equivalent) to check for executable image, and \fI.Com\fR
176 to check for \s-1DCL\s0 procedure.  If this fails, checks directories in \s-1DCL$PATH\s0
177 and finally \fISys$System:\fR for an executable file having the name specified,
178 with or without the \fI.Exe\fR\-equivalent suffix.
179 .IP "pasthru (override)" 4
180 .IX Item "pasthru (override)"
181 \&\s-1VMS\s0 has $(\s-1MMSQUALIFIERS\s0) which is a listing of all the original command line
182 options.  This is used in every invocation of make in the \s-1VMS\s0 Makefile so
183 \&\s-1PASTHRU\s0 should not be necessary.  Using \s-1PASTHRU\s0 tends to blow commands past
184 the 256 character limit.
185 .IP "pm_to_blib (override)" 4
186 .IX Item "pm_to_blib (override)"
187 \&\s-1VMS\s0 wants a dot in every file so we can't have one called 'pm_to_blib',
188 it becomes 'pm_to_blib.' and \s-1MMS/K\s0 isn't smart enough to know that when
189 you have a target called 'pm_to_blib' it should look for 'pm_to_blib.'.
190 .Sp
191 So in \s-1VMS\s0 its pm_to_blib.ts.
192 .IP "perl_script (override)" 4
193 .IX Item "perl_script (override)"
194 If name passed in doesn't specify a readable file, appends \fI.com\fR or
195 \&\fI.pl\fR and tries again, since it's customary to have file types on all files
196 under \s-1VMS\s0.
197 .IP "replace_manpage_separator" 4
198 .IX Item "replace_manpage_separator"
199 Use as separator a character which is legal in a VMS-syntax file name.
200 .IP "init_DEST" 4
201 .IX Item "init_DEST"
202 (override) Because of the difficulty concatenating \s-1VMS\s0 filepaths we
203 must pre-expand the DEST* variables.
204 .IP "init_DIRFILESEP" 4
205 .IX Item "init_DIRFILESEP"
206 No seperator between a directory path and a filename on \s-1VMS\s0.
207 .IP "init_main (override)" 4
208 .IX Item "init_main (override)"
209 .PD 0
210 .IP "init_others (override)" 4
211 .IX Item "init_others (override)"
212 .PD
213 Provide VMS-specific forms of various utility commands, then hand
214 off to the default MM_Unix method.
215 .Sp
216 \&\s-1DEV_NULL\s0 should probably be overriden with something.
217 .Sp
218 Also changes \s-1EQUALIZE_TIMESTAMP\s0 to set revision date of target file to
219 one second later than source file, since \s-1MMK\s0 interprets precisely
220 equal revision dates for a source and target file as a sign that the
221 target needs to be updated.
222 .IP "init_platform (override)" 4
223 .IX Item "init_platform (override)"
224 Add \s-1PERL_VMS\s0, \s-1MM_VMS_REVISION\s0 and \s-1MM_VMS_VERSION\s0.
225 .Sp
226 \&\s-1MM_VMS_REVISION\s0 is for backwards compatibility before \s-1MM_VMS\s0 had a
227 \&\f(CW$VERSION\fR.
228 .IP "platform_constants" 4
229 .IX Item "platform_constants"
230 .PD 0
231 .IP "init_VERSION (override)" 4
232 .IX Item "init_VERSION (override)"
233 .PD
234 Override the *DEFINE_VERSION macros with \s-1VMS\s0 semantics.  Translate the
235 \&\s-1MAKEMAKER\s0 filepath to \s-1VMS\s0 style.
236 .IP "constants (override)" 4
237 .IX Item "constants (override)"
238 Fixes up numerous file and directory macros to insure \s-1VMS\s0 syntax
239 regardless of input syntax.  Also makes lists of files
240 comma\-separated.
241 .IP "special_targets" 4
242 .IX Item "special_targets"
243 Clear the default .SUFFIXES and put in our own list.
244 .IP "cflags (override)" 4
245 .IX Item "cflags (override)"
246 Bypass shell script and produce qualifiers for \s-1CC\s0 directly (but warn
247 user if a shell script for this extension exists).  Fold multiple
248 /Defines into one, since some C compilers pay attention to only one
249 instance of this qualifier on the command line.
250 .IP "const_cccmd (override)" 4
251 .IX Item "const_cccmd (override)"
252 Adds directives to point C preprocessor to the right place when
253 handling #include <sys/foo.h> directives.  Also constructs \s-1CC\s0
254 command line a bit differently than MM_Unix method.
255 .IP "tools_other (override)" 4
256 .IX Item "tools_other (override)"
257 Throw in some dubious extra macros for Makefile args.
258 .Sp
259 Also keep around the old $(\s-1SAY\s0) macro in case somebody's using it.
260 .IP "init_dist (override)" 4
261 .IX Item "init_dist (override)"
262 VMSish defaults for some values.
263 .Sp
264 .Vb 1
265 \&  macro         description                     default
266 .Ve
267 .Sp
268 .Vb 1
269 \&  ZIPFLAGS      flags to pass to ZIP            \-Vu
270 .Ve
271 .Sp
272 .Vb 4
273 \&  COMPRESS      compression command to          gzip
274 \&                use for tarfiles
275 \&  SUFFIX        suffix to put on                \-gz 
276 \&                compressed files
277 .Ve
278 .Sp
279 .Vb 1
280 \&  SHAR          shar command to use             vms_share
281 .Ve
282 .Sp
283 .Vb 2
284 \&  DIST_DEFAULT  default target to use to        tardist
285 \&                create a distribution
286 .Ve
287 .Sp
288 .Vb 2
289 \&  DISTVNAME     Use VERSION_SYM instead of      $(DISTNAME)\-$(VERSION_SYM)
290 \&                VERSION for the name
291 .Ve
292 .IP "c_o (override)" 4
293 .IX Item "c_o (override)"
294 Use \s-1VMS\s0 syntax on command line.  In particular, $(\s-1DEFINE\s0) and
295 $(\s-1PERL_INC\s0) have been pulled into $(\s-1CCCMD\s0).  Also use MM[\s-1SK\s0] macros.
296 .IP "xs_c (override)" 4
297 .IX Item "xs_c (override)"
298 Use MM[\s-1SK\s0] macros.
299 .IP "xs_o (override)" 4
300 .IX Item "xs_o (override)"
301 Use MM[\s-1SK\s0] macros, and \s-1VMS\s0 command line for C compiler.
302 .IP "dlsyms (override)" 4
303 .IX Item "dlsyms (override)"
304 Create \s-1VMS\s0 linker options files specifying universal symbols for this
305 extension's shareable image, and listing other shareable images or 
306 libraries to which it should be linked.
307 .IP "dynamic_lib (override)" 4
308 .IX Item "dynamic_lib (override)"
309 Use \s-1VMS\s0 Link command.
310 .IP "static_lib (override)" 4
311 .IX Item "static_lib (override)"
312 Use \s-1VMS\s0 commands to manipulate object library.
313 .IP "extra_clean_files" 4
314 .IX Item "extra_clean_files"
315 Clean up some \s-1OS\s0 specific files.  Plus the temp file used to shorten
316 a lot of commands.
317 .IP "zipfile_target" 4
318 .IX Item "zipfile_target"
319 .PD 0
320 .IP "tarfile_target" 4
321 .IX Item "tarfile_target"
322 .IP "shdist_target" 4
323 .IX Item "shdist_target"
324 .PD
325 Syntax for invoking shar, tar and zip differs from that for Unix.
326 .IP "install (override)" 4
327 .IX Item "install (override)"
328 Work around \s-1DCL\s0's 255 character limit several times,and use
329 VMS-style command line quoting in a few cases.
330 .IP "perldepend (override)" 4
331 .IX Item "perldepend (override)"
332 Use VMS-style syntax for files; it's cheaper to just do it directly here
333 than to have the MM_Unix method call \f(CW\*(C`catfile\*(C'\fR repeatedly.  Also, if
334 we have to rebuild Config.pm, use MM[\s-1SK\s0] to do it.
335 .IP "makeaperl (override)" 4
336 .IX Item "makeaperl (override)"
337 Undertake to build a new set of Perl images using \s-1VMS\s0 commands.  Since
338 \&\s-1VMS\s0 does dynamic loading, it's not necessary to statically link each
339 extension into the Perl image, so this isn't the normal build path.
340 Consequently, it hasn't really been tested, and may well be incomplete.
341 .IP "maketext_filter (override)" 4
342 .IX Item "maketext_filter (override)"
343 Insure that colons marking targets are preceded by space, in order
344 to distinguish the target delimiter from a colon appearing as
345 part of a filespec.
346 .IP "prefixify (override)" 4
347 .IX Item "prefixify (override)"
348 prefixifying on \s-1VMS\s0 is simple.  Each should simply be:
349 .Sp
350 .Vb 1
351 \&    perl_root:[some.dir]
352 .Ve
353 .Sp
354 which can just be converted to:
355 .Sp
356 .Vb 1
357 \&    volume:[your.prefix.some.dir]
358 .Ve
359 .Sp
360 otherwise you get the default layout.
361 .Sp
362 In effect, your search prefix is ignored and \f(CW$Config\fR{vms_prefix} is
363 used instead.
364 .IP "cd" 4
365 .IX Item "cd"
366 .PD 0
367 .IP "oneliner" 4
368 .IX Item "oneliner"
369 .IP "\fBecho\fR" 4
370 .IX Item "echo"
371 .PD
372 perl trips up on \*(L"<foo>\*(R" thinking it's an input redirect.  So we use the
373 native Write command instead.  Besides, its faster.
374 .IP "quote_literal" 4
375 .IX Item "quote_literal"
376 .PD 0
377 .IP "escape_newlines" 4
378 .IX Item "escape_newlines"
379 .IP "max_exec_len" 4
380 .IX Item "max_exec_len"
381 .PD
382 256 characters.
383 .IP "init_linker" 4
384 .IX Item "init_linker"
385 .PD 0
386 .IP "catdir (override)" 4
387 .IX Item "catdir (override)"
388 .IP "catfile (override)" 4
389 .IX Item "catfile (override)"
390 .PD
391 Eliminate the macros in the output to the \s-1MMS/MMK\s0 file.
392 .Sp
393 (File::Spec::VMS used to do this for us, but it's being removed)
394 .IP "eliminate_macros" 4
395 .IX Item "eliminate_macros"
396 Expands MM[\s-1KS\s0]/Make macros in a text string, using the contents of
397 identically named elements of \f(CW%$self\fR, and returns the result
398 as a file specification in Unix syntax.
399 .Sp
400 \&\s-1NOTE:\s0  This is the canonical version of the method.  The version in
401 File::Spec::VMS is deprecated.
402 .IP "fixpath" 4
403 .IX Item "fixpath"
404 .Vb 2
405 \&   my $path = $mm\->fixpath($path);
406 \&   my $path = $mm\->fixpath($path, $is_dir);
407 .Ve
408 .Sp
409 Catchall routine to clean up problem MM[\s-1SK\s0]/Make macros.  Expands macros
410 in any directory specification, in order to avoid juxtaposing two
411 VMS-syntax directories when MM[\s-1SK\s0] is run.  Also expands expressions which
412 are all macro, so that we can tell how long the expansion is, and avoid
413 overrunning \s-1DCL\s0's command buffer when MM[\s-1KS\s0] is running.
414 .Sp
415 \&\fIfixpath()\fR checks to see whether the result matches the name of a
416 directory in the current default directory and returns a directory or
417 file specification accordingly.  \f(CW$is_dir\fR can be set to true to
418 force \fIfixpath()\fR to consider the path to be a directory or false to force
419 it to be a file.
420 .Sp
421 \&\s-1NOTE:\s0  This is the canonical version of the method.  The version in
422 File::Spec::VMS is deprecated.
423 .IP "os_flavor" 4
424 .IX Item "os_flavor"
425 \&\s-1VMS\s0 is \s-1VMS\s0.
426 .SH "AUTHOR"
427 .IX Header "AUTHOR"
428 Original author Charles Bailey \fIbailey@newman.upenn.edu\fR
429 .PP
430 Maintained by Michael G Schwern \fIschwern@pobox.com\fR
431 .PP
432 See ExtUtils::MakeMaker for patching and contact information.