Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / man / man3 / ExtUtils::MM_Unix.3
CommitLineData
86530b38
AT
1.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
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_Unix 3"
132.TH ExtUtils::MM_Unix 3 "2003-08-18" "perl v5.8.0" "User Contributed Perl Documentation"
133.SH "NAME"
134ExtUtils::MM_Unix \- methods used by ExtUtils::MakeMaker
135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS"
137\&\f(CW\*(C`require ExtUtils::MM_Unix;\*(C'\fR
138.SH "DESCRIPTION"
139.IX Header "DESCRIPTION"
140The methods provided by this package are designed to be used in
141conjunction with ExtUtils::MakeMaker. When MakeMaker writes a
142Makefile, it creates one or more objects that inherit their methods
143from a package \f(CW\*(C`MM\*(C'\fR. \s-1MM\s0 itself doesn't provide any methods, but it
144\&\s-1ISA\s0 ExtUtils::MM_Unix class. The inheritance tree of \s-1MM\s0 lets operating
145specific packages take the responsibility for all the methods provided
146by MM_Unix. We are trying to reduce the number of the necessary
147overrides by defining rather primitive operations within
148ExtUtils::MM_Unix.
149.PP
150If you are going to write a platform specific \s-1MM\s0 package, please try
151to limit the necessary overrides to primitive methods, and if it is not
152possible to do so, let's work out how to achieve that gain.
153.PP
154If you are overriding any of these methods in your Makefile.PL (in the
155\&\s-1MY\s0 class), please report that to the makemaker mailing list. We are
156trying to minimize the necessary method overrides and switch to data
157driven Makefile.PLs wherever possible. In the long run less methods
158will be overridable via the \s-1MY\s0 class.
159.SH "METHODS"
160.IX Header "METHODS"
161The following description of methods is still under
162development. Please refer to the code for not suitably documented
163sections and complain loudly to the makemaker@perl.org mailing list.
164Better yet, provide a patch.
165.PP
166Not all of the methods below are overridable in a
167Makefile.PL. Overridable methods are marked as (o). All methods are
168overridable by a platform specific MM_*.pm file (See
169ExtUtils::MM_VMS) and ExtUtils::MM_OS2).
170.Sh "Methods"
171.IX Subsection "Methods"
172.IP "os_flavor (o)" 4
173.IX Item "os_flavor (o)"
174Simply says that we're Unix.
175.IP "c_o (o)" 4
176.IX Item "c_o (o)"
177Defines the suffix rules to compile different flavors of C files to
178object files.
179.IP "cflags (o)" 4
180.IX Item "cflags (o)"
181Does very much the same as the cflags script in the perl
182distribution. It doesn't return the whole compiler command line, but
183initializes all of its parts. The const_cccmd method then actually
184returns the definition of the \s-1CCCMD\s0 macro which uses these parts.
185.IP "clean (o)" 4
186.IX Item "clean (o)"
187Defines the clean target.
188.IP "clean_subdirs_target" 4
189.IX Item "clean_subdirs_target"
190.Vb 1
191\& my $make_frag = $MM->clean_subdirs_target;
192.Ve
193.Sp
194Returns the clean_subdirs target. This is used by the clean target to
195call clean on any subdirectories which contain Makefiles.
196.IP "const_cccmd (o)" 4
197.IX Item "const_cccmd (o)"
198Returns the full compiler call for C programs and stores the
199definition in \s-1CONST_CCCMD\s0.
200.IP "const_config (o)" 4
201.IX Item "const_config (o)"
202Defines a couple of constants in the Makefile that are imported from
203\&\f(CW%Config\fR.
204.IP "const_loadlibs (o)" 4
205.IX Item "const_loadlibs (o)"
206Defines \s-1EXTRALIBS\s0, \s-1LDLOADLIBS\s0, \s-1BSLOADLIBS\s0, \s-1LD_RUN_PATH\s0. See
207ExtUtils::Liblist for details.
208.IP "constants (o)" 4
209.IX Item "constants (o)"
210.Vb 1
211\& my $make_frag = $mm->constants;
212.Ve
213.Sp
214Prints out macros for lots of constants.
215.IP "depend (o)" 4
216.IX Item "depend (o)"
217Same as macro for the depend attribute.
218.IP "init_DEST" 4
219.IX Item "init_DEST"
220.Vb 1
221\& $mm->init_DEST
222.Ve
223.Sp
224Defines the \s-1DESTDIR\s0 and DEST* variables paralleling the INSTALL*.
225.IP "init_dist" 4
226.IX Item "init_dist"
227.Vb 1
228\& $mm->init_dist;
229.Ve
230.Sp
231Defines a lot of macros for distribution support.
232.Sp
233.Vb 1
234\& macro description default
235.Ve
236.Sp
237.Vb 2
238\& TAR tar command to use tar
239\& TARFLAGS flags to pass to TAR cvf
240.Ve
241.Sp
242.Vb 2
243\& ZIP zip command to use zip
244\& ZIPFLAGS flags to pass to ZIP -r
245.Ve
246.Sp
247.Vb 4
248\& COMPRESS compression command to gzip --best
249\& use for tarfiles
250\& SUFFIX suffix to put on .gz
251\& compressed files
252.Ve
253.Sp
254.Vb 1
255\& SHAR shar command to use shar
256.Ve
257.Sp
258.Vb 4
259\& PREOP extra commands to run before
260\& making the archive
261\& POSTOP extra commands to run after
262\& making the archive
263.Ve
264.Sp
265.Vb 2
266\& TO_UNIX a command to convert linefeeds
267\& to Unix style in your archive
268.Ve
269.Sp
270.Vb 4
271\& CI command to checkin your ci -u
272\& sources to version control
273\& RCS_LABEL command to label your sources rcs -Nv$(VERSION_SYM): -q
274\& just after CI is run
275.Ve
276.Sp
277.Vb 2
278\& DIST_CP $how argument to manicopy() best
279\& when the distdir is created
280.Ve
281.Sp
282.Vb 2
283\& DIST_DEFAULT default target to use to tardist
284\& create a distribution
285.Ve
286.Sp
287.Vb 2
288\& DISTVNAME name of the resulting archive $(DISTNAME)-$(VERSION)
289\& (minus suffixes)
290.Ve
291.IP "dist (o)" 4
292.IX Item "dist (o)"
293.Vb 1
294\& my $dist_macros = $mm->dist(%overrides);
295.Ve
296.Sp
297Generates a make fragment defining all the macros initialized in
298init_dist.
299.Sp
300%overrides can be used to override any of the above.
301.IP "dist_basics (o)" 4
302.IX Item "dist_basics (o)"
303Defines the targets distclean, distcheck, skipcheck, manifest, veryclean.
304.IP "dist_ci (o)" 4
305.IX Item "dist_ci (o)"
306Defines a check in target for \s-1RCS\s0.
307.IP "dist_core (o)" 4
308.IX Item "dist_core (o)"
309.Vb 1
310\& my $dist_make_fragment = $MM->dist_core;
311.Ve
312.Sp
313Puts the targets necessary for 'make dist' together into one make
314fragment.
315.IP "\fBdist_target\fR" 4
316.IX Item "dist_target"
317.Vb 1
318\& my $make_frag = $MM->dist_target;
319.Ve
320.Sp
321Returns the 'dist' target to make an archive for distribution. This
322target simply checks to make sure the Makefile is up-to-date and
323depends on $(\s-1DIST_DEFAULT\s0).
324.IP "\fBtardist_target\fR" 4
325.IX Item "tardist_target"
326.Vb 1
327\& my $make_frag = $MM->tardist_target;
328.Ve
329.Sp
330Returns the 'tardist' target which is simply so 'make tardist' works.
331The real work is done by the dynamically named \fItardistfile_target()\fR
332method, tardist should have that as a dependency.
333.IP "\fBzipdist_target\fR" 4
334.IX Item "zipdist_target"
335.Vb 1
336\& my $make_frag = $MM->zipdist_target;
337.Ve
338.Sp
339Returns the 'zipdist' target which is simply so 'make zipdist' works.
340The real work is done by the dynamically named \fIzipdistfile_target()\fR
341method, zipdist should have that as a dependency.
342.IP "\fBtarfile_target\fR" 4
343.IX Item "tarfile_target"
344.Vb 1
345\& my $make_frag = $MM->tarfile_target;
346.Ve
347.Sp
348The name of this target is the name of the tarball generated by
349tardist. This target does the actual work of turning the distdir into
350a tarball.
351.IP "zipfile_target" 4
352.IX Item "zipfile_target"
353.Vb 1
354\& my $make_frag = $MM->zipfile_target;
355.Ve
356.Sp
357The name of this target is the name of the zip file generated by
358zipdist. This target does the actual work of turning the distdir into
359a zip file.
360.IP "uutardist_target" 4
361.IX Item "uutardist_target"
362.Vb 1
363\& my $make_frag = $MM->uutardist_target;
364.Ve
365.Sp
366Converts the tarfile into a uuencoded file
367.IP "shdist_target" 4
368.IX Item "shdist_target"
369.Vb 1
370\& my $make_frag = $MM->shdist_target;
371.Ve
372.Sp
373Converts the distdir into a shell archive.
374.IP "distdir" 4
375.IX Item "distdir"
376Defines the scratch directory target that will hold the distribution
377before tar-ing (or shar\-ing).
378.IP "dist_test" 4
379.IX Item "dist_test"
380Defines a target that produces the distribution in the
381scratchdirectory, and runs 'perl Makefile.PL; make ;make test' in that
382subdirectory.
383.IP "dlsyms (o)" 4
384.IX Item "dlsyms (o)"
385Used by \s-1AIX\s0 and \s-1VMS\s0 to define \s-1DL_FUNCS\s0 and \s-1DL_VARS\s0 and write the *.exp
386files.
387.IP "dynamic (o)" 4
388.IX Item "dynamic (o)"
389Defines the dynamic target.
390.IP "dynamic_bs (o)" 4
391.IX Item "dynamic_bs (o)"
392Defines targets for bootstrap files.
393.IP "dynamic_lib (o)" 4
394.IX Item "dynamic_lib (o)"
395Defines how to produce the *.so (or equivalent) files.
396.IP "exescan" 4
397.IX Item "exescan"
398Deprecated method. Use libscan instead.
399.IP "extliblist" 4
400.IX Item "extliblist"
401Called by init_others, and calls ext ExtUtils::Liblist. See
402ExtUtils::Liblist for details.
403.IP "find_perl" 4
404.IX Item "find_perl"
405Finds the executables \s-1PERL\s0 and \s-1FULLPERL\s0
406.IP "find_tests" 4
407.IX Item "find_tests"
408.Vb 1
409\& my $test = $mm->find_tests;
410.Ve
411.Sp
412Returns a string suitable for feeding to the shell to return all
413tests in t/*.t.
414.Sh "Methods to actually produce chunks of text for the Makefile"
415.IX Subsection "Methods to actually produce chunks of text for the Makefile"
416The methods here are called for each MakeMaker object in the order
417specified by \f(CW@ExtUtils::MakeMaker::MM_Sections\fR.
418.IP "fixin" 2
419.IX Item "fixin"
420.Vb 1
421\& $mm->fixin(@files);
422.Ve
423.Sp
424Inserts the sharpbang or equivalent magic number to a set of \f(CW@files\fR.
425.IP "force (o)" 2
426.IX Item "force (o)"
427Just writes \s-1FORCE:\s0
428.IP "guess_name" 2
429.IX Item "guess_name"
430Guess the name of this package by examining the working directory's
431name. MakeMaker calls this only if the developer has not supplied a
432\&\s-1NAME\s0 attribute.
433.IP "has_link_code" 2
434.IX Item "has_link_code"
435Returns true if C, \s-1XS\s0, \s-1MYEXTLIB\s0 or similar objects exist within this
436object that need a compiler. Does not descend into subdirectories as
437\&\fIneeds_linking()\fR does.
438.IP "init_dirscan" 2
439.IX Item "init_dirscan"
440Scans the directory structure and initializes \s-1DIR\s0, \s-1XS\s0, \s-1XS_FILES\s0, \s-1PM\s0,
441C, C_FILES, O_FILES, H, H_FILES, \s-1PL_FILES\s0, MAN*PODS, \s-1EXE_FILES\s0.
442.Sp
443Called by init_main.
444.IP "init_DIRFILESEP" 2
445.IX Item "init_DIRFILESEP"
446Using / for Unix. Called by init_main.
447.IP "init_main" 2
448.IX Item "init_main"
449Initializes \s-1AR\s0, \s-1AR_STATIC_ARGS\s0, \s-1BASEEXT\s0, \s-1CONFIG\s0, \s-1DISTNAME\s0, \s-1DLBASE\s0,
450\&\s-1EXE_EXT\s0, \s-1FULLEXT\s0, \s-1FULLPERL\s0, \s-1FULLPERLRUN\s0, \s-1FULLPERLRUNINST\s0, INST_*,
451INSTALL*, \s-1INSTALLDIRS\s0, \s-1LIB_EXT\s0, \s-1LIBPERL_A\s0, \s-1MAP_TARGET\s0, \s-1NAME\s0,
452\&\s-1OBJ_EXT\s0, \s-1PARENT_NAME\s0, \s-1PERL\s0, \s-1PERL_ARCHLIB\s0, \s-1PERL_INC\s0, \s-1PERL_LIB\s0,
453\&\s-1PERL_SRC\s0, \s-1PERLRUN\s0, \s-1PERLRUNINST\s0, \s-1PREFIX\s0, \s-1VERSION\s0,
454\&\s-1VERSION_SYM\s0, \s-1XS_VERSION\s0.
455.IP "init_others" 2
456.IX Item "init_others"
457Initializes \s-1EXTRALIBS\s0, \s-1BSLOADLIBS\s0, \s-1LDLOADLIBS\s0, \s-1LIBS\s0, \s-1LD_RUN_PATH\s0, \s-1LD\s0,
458\&\s-1OBJECT\s0, \s-1BOOTDEP\s0, \s-1PERLMAINCC\s0, \s-1LDFROM\s0, \s-1LINKTYPE\s0, \s-1SHELL\s0, \s-1NOOP\s0,
459\&\s-1FIRST_MAKEFILE\s0, \s-1MAKEFILE_OLD\s0, \s-1NOECHO\s0, \s-1RM_F\s0, \s-1RM_RF\s0, \s-1TEST_F\s0,
460\&\s-1TOUCH\s0, \s-1CP\s0, \s-1MV\s0, \s-1CHMOD\s0, \s-1UMASK_NULL\s0, \s-1ECHO\s0, \s-1ECHO_N\s0
461.IP "init_INST" 2
462.IX Item "init_INST"
463.Vb 1
464\& $mm->init_INST;
465.Ve
466.Sp
467Called by init_main. Sets up all INST_* variables except those related
468to \s-1XS\s0 code. Those are handled in init_xs.
469.IP "init_INSTALL" 2
470.IX Item "init_INSTALL"
471.Vb 1
472\& $mm->init_INSTALL;
473.Ve
474.Sp
475Called by init_main. Sets up all INSTALL_* variables (except
476\&\s-1INSTALLDIRS\s0) and *PREFIX.
477.IP "init_linker" 2
478.IX Item "init_linker"
479Unix has no need of special linker flags.
480.IP "init_PERL" 2
481.IX Item "init_PERL"
482.Vb 1
483\& $mm->init_PERL;
484.Ve
485.Sp
486Called by init_main. Sets up \s-1ABSPERL\s0, \s-1PERL\s0, \s-1FULLPERL\s0 and all the
487*PERLRUN* permutations.
488.Sp
489.Vb 2
490\& PERL is allowed to be miniperl
491\& FULLPERL must be a complete perl
492.Ve
493.Sp
494.Vb 1
495\& ABSPERL is PERL converted to an absolute path
496.Ve
497.Sp
498.Vb 2
499\& *PERLRUN contains everything necessary to run perl, find it's
500\& libraries, etc...
501.Ve
502.Sp
503.Vb 2
504\& *PERLRUNINST is *PERLRUN + everything necessary to find the
505\& modules being built.
506.Ve
507.IP "init_platform (o)" 2
508.IX Item "init_platform (o)"
509Add MM_Unix_VERSION.
510.IP "platform_constants (o)" 2
511.IX Item "platform_constants (o)"
512.PD 0
513.IP "init_PERM" 2
514.IX Item "init_PERM"
515.PD
516.Vb 1
517\& $mm->init_PERM
518.Ve
519.Sp
520Called by init_main. Initializes PERL_*
521.IP "init_xs" 2
522.IX Item "init_xs"
523.Vb 1
524\& $mm->init_xs
525.Ve
526.Sp
527Sets up macros having to do with \s-1XS\s0 code. Currently just \s-1INST_STATIC\s0,
528\&\s-1INST_DYNAMIC\s0 and \s-1INST_BOOT\s0.
529.IP "install (o)" 2
530.IX Item "install (o)"
531Defines the install target.
532.IP "installbin (o)" 2
533.IX Item "installbin (o)"
534Defines targets to make and to install \s-1EXE_FILES\s0.
535.IP "linkext (o)" 2
536.IX Item "linkext (o)"
537Defines the linkext target which in turn defines the \s-1LINKTYPE\s0.
538.IP "lsdir" 2
539.IX Item "lsdir"
540Takes as arguments a directory name and a regular expression. Returns
541all entries in the directory that match the regular expression.
542.IP "macro (o)" 2
543.IX Item "macro (o)"
544Simple subroutine to insert the macros defined by the macro attribute
545into the Makefile.
546.IP "makeaperl (o)" 2
547.IX Item "makeaperl (o)"
548Called by staticmake. Defines how to write the Makefile to produce a
549static new perl.
550.Sp
551By default the Makefile produced includes all the static extensions in
552the perl library. (Purified versions of library files, e.g.,
553DynaLoader_pure_p1_c0_032.a are automatically ignored to avoid link errors.)
554.IP "makefile (o)" 2
555.IX Item "makefile (o)"
556Defines how to rewrite the Makefile.
557.IP "maybe_command" 2
558.IX Item "maybe_command"
559Returns true, if the argument is likely to be a command.
560.IP "needs_linking (o)" 2
561.IX Item "needs_linking (o)"
562Does this module need linking? Looks into subdirectory objects (see
563also \fIhas_link_code()\fR)
564.IP "nicetext" 2
565.IX Item "nicetext"
566misnamed method (will have to be changed). The MM_Unix method just
567returns the argument without further processing.
568.Sp
569On \s-1VMS\s0 used to insure that colons marking targets are preceded by
570space \- most Unix Makes don't need this, but it's necessary under \s-1VMS\s0
571to distinguish the target delimiter from a colon appearing as part of
572a filespec.
573.IP "parse_abstract" 2
574.IX Item "parse_abstract"
575parse a file and return what you think is the \s-1ABSTRACT\s0
576.IP "parse_version" 2
577.IX Item "parse_version"
578parse a file and return what you think is \f(CW$VERSION\fR in this file set to.
579It will return the string \*(L"undef\*(R" if it can't figure out what \f(CW$VERSION\fR
580is. \f(CW$VERSION\fR should be for all to see, so our \f(CW$VERSION\fR or plain \f(CW$VERSION\fR
581are okay, but my \f(CW$VERSION\fR is not.
582.IP "pasthru (o)" 2
583.IX Item "pasthru (o)"
584Defines the string that is passed to recursive make calls in
585subdirectories.
586.IP "perl_script" 2
587.IX Item "perl_script"
588Takes one argument, a file name, and returns the file name, if the
589argument is likely to be a perl script. On MM_Unix this is true for
590any ordinary, readable file.
591.IP "perldepend (o)" 2
592.IX Item "perldepend (o)"
593Defines the dependency from all *.h files that come with the perl
594distribution.
595.IP "perm_rw (o)" 2
596.IX Item "perm_rw (o)"
597Returns the attribute \f(CW\*(C`PERM_RW\*(C'\fR or the string \f(CW644\fR.
598Used as the string that is passed
599to the \f(CW\*(C`chmod\*(C'\fR command to set the permissions for read/writeable files.
600MakeMaker chooses \f(CW644\fR because it has turned out in the past that
601relying on the umask provokes hard-to-track bug reports.
602When the return value is used by the perl function \f(CW\*(C`chmod\*(C'\fR, it is
603interpreted as an octal value.
604.IP "perm_rwx (o)" 2
605.IX Item "perm_rwx (o)"
606Returns the attribute \f(CW\*(C`PERM_RWX\*(C'\fR or the string \f(CW755\fR,
607i.e. the string that is passed
608to the \f(CW\*(C`chmod\*(C'\fR command to set the permissions for executable files.
609See also perl_rw.
610.IP "pm_to_blib" 2
611.IX Item "pm_to_blib"
612Defines target that copies all files in the hash \s-1PM\s0 to their
613destination and autosplits them. See \*(L"\s-1DESCRIPTION\s0\*(R" in ExtUtils::Install
614.IP "post_constants (o)" 2
615.IX Item "post_constants (o)"
616Returns an empty string per default. Dedicated to overrides from
617within Makefile.PL after all constants have been defined.
618.IP "post_initialize (o)" 2
619.IX Item "post_initialize (o)"
620Returns an empty string per default. Used in Makefile.PLs to add some
621chunk of text to the Makefile after the object is initialized.
622.IP "postamble (o)" 2
623.IX Item "postamble (o)"
624Returns an empty string. Can be used in Makefile.PLs to write some
625text to the Makefile at the end.
626.IP "ppd" 2
627.IX Item "ppd"
628Defines target that creates a \s-1PPD\s0 (Perl Package Description) file
629for a binary distribution.
630.IP "prefixify" 2
631.IX Item "prefixify"
632.Vb 1
633\& $MM->prefixify($var, $prefix, $new_prefix, $default);
634.Ve
635.Sp
636Using either \f(CW$MM\fR\->{uc \f(CW$var\fR} || \f(CW$Config\fR{lc \f(CW$var\fR}, it will attempt to
637replace it's \f(CW$prefix\fR with a \f(CW$new_prefix\fR.
638.Sp
639Should the \f(CW$prefix\fR fail to match \fI\s-1AND\s0\fR a \s-1PREFIX\s0 was given as an
640argument to \fIWriteMakefile()\fR it will set it to the \f(CW$new_prefix\fR +
641\&\f(CW$default\fR. This is for systems whose file layouts don't neatly fit into
642our ideas of prefixes.
643.Sp
644This is for heuristics which attempt to create directory structures
645that mirror those of the installed perl.
646.Sp
647For example:
648.Sp
649.Vb 1
650\& $MM->prefixify('installman1dir', '/usr', '/home/foo', 'man/man1');
651.Ve
652.Sp
653this will attempt to remove '/usr' from the front of the
654\&\f(CW$MM\fR\->{\s-1INSTALLMAN1DIR\s0} path (initializing it to \f(CW$Config\fR{installman1dir}
655if necessary) and replace it with '/home/foo'. If this fails it will
656simply use '/home/foo/man/man1'.
657.IP "processPL (o)" 2
658.IX Item "processPL (o)"
659Defines targets to run *.PL files.
660.IP "quote_paren" 2
661.IX Item "quote_paren"
662Backslashes parentheses \f(CW\*(C`()\*(C'\fR in command line arguments.
663Doesn't handle recursive Makefile \f(CW\*(C`$(...)\*(C'\fR constructs,
664but handles simple ones.
665.IP "realclean (o)" 2
666.IX Item "realclean (o)"
667Defines the realclean target.
668.IP "realclean_subdirs_target" 2
669.IX Item "realclean_subdirs_target"
670.Vb 1
671\& my $make_frag = $MM->realclean_subdirs_target;
672.Ve
673.Sp
674Returns the realclean_subdirs target. This is used by the realclean
675target to call realclean on any subdirectories which contain Makefiles.
676.IP "replace_manpage_separator" 2
677.IX Item "replace_manpage_separator"
678.Vb 1
679\& my $man_name = $MM->replace_manpage_separator($file_path);
680.Ve
681.Sp
682Takes the name of a package, which may be a nested package, in the
683form 'Foo/Bar.pm' and replaces the slash with \f(CW\*(C`::\*(C'\fR or something else
684safe for a man page file name. Returns the replacement.
685.IP "oneliner (o)" 2
686.IX Item "oneliner (o)"
687.PD 0
688.IP "quote_literal" 2
689.IX Item "quote_literal"
690.IP "escape_newlines" 2
691.IX Item "escape_newlines"
692.IP "max_exec_len" 2
693.IX Item "max_exec_len"
694.PD
695Using \s-1POSIX::ARG_MAX\s0. Otherwise falling back to 4096.
696.IP "static (o)" 2
697.IX Item "static (o)"
698Defines the static target.
699.IP "static_lib (o)" 2
700.IX Item "static_lib (o)"
701Defines how to produce the *.a (or equivalent) files.
702.IP "staticmake (o)" 2
703.IX Item "staticmake (o)"
704Calls makeaperl.
705.IP "subdir_x (o)" 2
706.IX Item "subdir_x (o)"
707Helper subroutine for subdirs
708.IP "subdirs (o)" 2
709.IX Item "subdirs (o)"
710Defines targets to process subdirectories.
711.IP "test (o)" 2
712.IX Item "test (o)"
713Defines the test targets.
714.IP "test_via_harness (override)" 2
715.IX Item "test_via_harness (override)"
716For some reason which I forget, Unix machines like to have
717\&\s-1PERL_DL_NONLAZY\s0 set for tests.
718.IP "test_via_script (override)" 2
719.IX Item "test_via_script (override)"
720Again, the \s-1PERL_DL_NONLAZY\s0 thing.
721.IP "tools_other (o)" 2
722.IX Item "tools_other (o)"
723.Vb 1
724\& my $make_frag = $MM->tools_other;
725.Ve
726.Sp
727Returns a make fragment containing definitions for:
728.Sp
729\&\s-1SHELL\s0, \s-1CHMOD\s0, \s-1CP\s0, \s-1MV\s0, \s-1NOOP\s0, \s-1NOECHO\s0, \s-1RM_F\s0, \s-1RM_RF\s0, \s-1TEST_F\s0, \s-1TOUCH\s0,
730\&\s-1DEV_NULL\s0, \s-1UMASK_NULL\s0, \s-1MKPATH\s0, \s-1EQUALIZE_TIMESTAMP\s0,
731\&\s-1WARN_IF_OLD_PACKLIST\s0, \s-1UNINST\s0, \s-1VERBINST\s0, \s-1MOD_INSTALL\s0, \s-1DOC_INSTALL\s0 and
732\&\s-1UNINSTALL\s0
733.Sp
734\&\fIinit_others()\fR initializes all these values.
735.IP "tool_xsubpp (o)" 2
736.IX Item "tool_xsubpp (o)"
737Determines typemaps, xsubpp version, prototype behaviour.
738.IP "all_target" 2
739.IX Item "all_target"
740Build man pages, too
741.IP "top_targets (o)" 2
742.IX Item "top_targets (o)"
743Defines the targets all, subdirs, config, and O_FILES
744.IP "writedoc" 2
745.IX Item "writedoc"
746Obsolete, deprecated method. Not used since Version 5.21.
747.IP "xs_c (o)" 2
748.IX Item "xs_c (o)"
749Defines the suffix rules to compile \s-1XS\s0 files to C.
750.IP "xs_cpp (o)" 2
751.IX Item "xs_cpp (o)"
752Defines the suffix rules to compile \s-1XS\s0 files to \*(C+.
753.IP "xs_o (o)" 2
754.IX Item "xs_o (o)"
755Defines suffix rules to go from \s-1XS\s0 to object files directly. This is
756only intended for broken make implementations.
757.SH "SEE ALSO"
758.IX Header "SEE ALSO"
759ExtUtils::MakeMaker