summaryrefslogtreecommitdiffstats
path: root/upstream/archlinux/man3/ExtUtils::MM_Unix.3perl
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /upstream/archlinux/man3/ExtUtils::MM_Unix.3perl
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/archlinux/man3/ExtUtils::MM_Unix.3perl')
-rw-r--r--upstream/archlinux/man3/ExtUtils::MM_Unix.3perl642
1 files changed, 642 insertions, 0 deletions
diff --git a/upstream/archlinux/man3/ExtUtils::MM_Unix.3perl b/upstream/archlinux/man3/ExtUtils::MM_Unix.3perl
new file mode 100644
index 00000000..b6cf41f4
--- /dev/null
+++ b/upstream/archlinux/man3/ExtUtils::MM_Unix.3perl
@@ -0,0 +1,642 @@
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
+.ie n \{\
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\" ========================================================================
+.\"
+.IX Title "ExtUtils::MM_Unix 3perl"
+.TH ExtUtils::MM_Unix 3perl 2024-02-11 "perl v5.38.2" "Perl Programmers Reference Guide"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH NAME
+ExtUtils::MM_Unix \- methods used by ExtUtils::MakeMaker
+.SH SYNOPSIS
+.IX Header "SYNOPSIS"
+.Vb 1
+\& require ExtUtils::MM_Unix;
+.Ve
+.SH DESCRIPTION
+.IX Header "DESCRIPTION"
+The methods provided by this package are designed to be used in
+conjunction with ExtUtils::MakeMaker. When MakeMaker writes a
+Makefile, it creates one or more objects that inherit their methods
+from a package MM. MM itself doesn't provide any methods, but
+it ISA ExtUtils::MM_Unix class. The inheritance tree of MM lets operating
+specific packages take the responsibility for all the methods provided
+by MM_Unix. We are trying to reduce the number of the necessary
+overrides by defining rather primitive operations within
+ExtUtils::MM_Unix.
+.PP
+If you are going to write a platform specific MM package, please try
+to limit the necessary overrides to primitive methods, and if it is not
+possible to do so, let's work out how to achieve that gain.
+.PP
+If you are overriding any of these methods in your Makefile.PL (in the
+MY class), please report that to the makemaker mailing list. We are
+trying to minimize the necessary method overrides and switch to data
+driven Makefile.PLs wherever possible. In the long run less methods
+will be overridable via the MY class.
+.SH METHODS
+.IX Header "METHODS"
+The following description of methods is still under
+development. Please refer to the code for not suitably documented
+sections and complain loudly to the makemaker@perl.org mailing list.
+Better yet, provide a patch.
+.PP
+Not all of the methods below are overridable in a
+Makefile.PL. Overridable methods are marked as (o). All methods are
+overridable by a platform specific MM_*.pm file.
+.PP
+Cross-platform methods are being moved into MM_Any.
+If you can't find something that used to be in here, look in MM_Any.
+.SS Methods
+.IX Subsection "Methods"
+.IP os_flavor 4
+.IX Item "os_flavor"
+Simply says that we're Unix.
+.IP "c_o (o)" 4
+.IX Item "c_o (o)"
+Defines the suffix rules to compile different flavors of C files to
+object files.
+.IP xs_obj_opt 4
+.IX Item "xs_obj_opt"
+Takes the object file as an argument, and returns the portion of compile
+command-line that will output to the specified object file.
+.IP dbgoutflag 4
+.IX Item "dbgoutflag"
+Returns a CC flag that tells the CC to emit a separate debugging symbol file
+when compiling an object file.
+.IP "cflags (o)" 4
+.IX Item "cflags (o)"
+Does very much the same as the cflags script in the perl
+distribution. It doesn't return the whole compiler command line, but
+initializes all of its parts. The const_cccmd method then actually
+returns the definition of the CCCMD macro which uses these parts.
+.IP "const_cccmd (o)" 4
+.IX Item "const_cccmd (o)"
+Returns the full compiler call for C programs and stores the
+definition in CONST_CCCMD.
+.IP "const_config (o)" 4
+.IX Item "const_config (o)"
+Sets SHELL if needed, then defines a couple of constants in the Makefile
+that are imported from \f(CW%Config\fR.
+.IP "const_loadlibs (o)" 4
+.IX Item "const_loadlibs (o)"
+Defines EXTRALIBS, LDLOADLIBS, BSLOADLIBS, LD_RUN_PATH. See
+ExtUtils::Liblist for details.
+.IP "constants (o)" 4
+.IX Item "constants (o)"
+.Vb 1
+\& my $make_frag = $mm\->constants;
+.Ve
+.Sp
+Prints out macros for lots of constants.
+.IP "depend (o)" 4
+.IX Item "depend (o)"
+Same as macro for the depend attribute.
+.IP init_DEST 4
+.IX Item "init_DEST"
+.Vb 1
+\& $mm\->init_DEST
+.Ve
+.Sp
+Defines the DESTDIR and DEST* variables paralleling the INSTALL*.
+.IP init_dist 4
+.IX Item "init_dist"
+.Vb 1
+\& $mm\->init_dist;
+.Ve
+.Sp
+Defines a lot of macros for distribution support.
+.Sp
+.Vb 1
+\& macro description default
+\&
+\& TAR tar command to use tar
+\& TARFLAGS flags to pass to TAR cvf
+\&
+\& ZIP zip command to use zip
+\& ZIPFLAGS flags to pass to ZIP \-r
+\&
+\& COMPRESS compression command to gzip \-\-best
+\& use for tarfiles
+\& SUFFIX suffix to put on .gz
+\& compressed files
+\&
+\& SHAR shar command to use shar
+\&
+\& PREOP extra commands to run before
+\& making the archive
+\& POSTOP extra commands to run after
+\& making the archive
+\&
+\& TO_UNIX a command to convert linefeeds
+\& to Unix style in your archive
+\&
+\& CI command to checkin your ci \-u
+\& sources to version control
+\& RCS_LABEL command to label your sources rcs \-Nv$(VERSION_SYM): \-q
+\& just after CI is run
+\&
+\& DIST_CP $how argument to manicopy() best
+\& when the distdir is created
+\&
+\& DIST_DEFAULT default target to use to tardist
+\& create a distribution
+\&
+\& DISTVNAME name of the resulting archive $(DISTNAME)\-$(VERSION)
+\& (minus suffixes)
+.Ve
+.IP "dist (o)" 4
+.IX Item "dist (o)"
+.Vb 1
+\& my $dist_macros = $mm\->dist(%overrides);
+.Ve
+.Sp
+Generates a make fragment defining all the macros initialized in
+init_dist.
+.Sp
+\&\f(CW%overrides\fR can be used to override any of the above.
+.IP "dist_basics (o)" 4
+.IX Item "dist_basics (o)"
+Defines the targets distclean, distcheck, skipcheck, manifest, veryclean.
+.IP "dist_ci (o)" 4
+.IX Item "dist_ci (o)"
+Defines a check in target for RCS.
+.IP "dist_core (o)" 4
+.IX Item "dist_core (o)"
+.Vb 1
+\& my $dist_make_fragment = $MM\->dist_core;
+.Ve
+.Sp
+Puts the targets necessary for 'make dist' together into one make
+fragment.
+.IP \fBdist_target\fR 4
+.IX Item "dist_target"
+.Vb 1
+\& my $make_frag = $MM\->dist_target;
+.Ve
+.Sp
+Returns the 'dist' target to make an archive for distribution. This
+target simply checks to make sure the Makefile is up-to-date and
+depends on $(DIST_DEFAULT).
+.IP \fBtardist_target\fR 4
+.IX Item "tardist_target"
+.Vb 1
+\& my $make_frag = $MM\->tardist_target;
+.Ve
+.Sp
+Returns the 'tardist' target which is simply so 'make tardist' works.
+The real work is done by the dynamically named \fBtardistfile_target()\fR
+method, tardist should have that as a dependency.
+.IP \fBzipdist_target\fR 4
+.IX Item "zipdist_target"
+.Vb 1
+\& my $make_frag = $MM\->zipdist_target;
+.Ve
+.Sp
+Returns the 'zipdist' target which is simply so 'make zipdist' works.
+The real work is done by the dynamically named \fBzipdistfile_target()\fR
+method, zipdist should have that as a dependency.
+.IP \fBtarfile_target\fR 4
+.IX Item "tarfile_target"
+.Vb 1
+\& my $make_frag = $MM\->tarfile_target;
+.Ve
+.Sp
+The name of this target is the name of the tarball generated by
+tardist. This target does the actual work of turning the distdir into
+a tarball.
+.IP zipfile_target 4
+.IX Item "zipfile_target"
+.Vb 1
+\& my $make_frag = $MM\->zipfile_target;
+.Ve
+.Sp
+The name of this target is the name of the zip file generated by
+zipdist. This target does the actual work of turning the distdir into
+a zip file.
+.IP uutardist_target 4
+.IX Item "uutardist_target"
+.Vb 1
+\& my $make_frag = $MM\->uutardist_target;
+.Ve
+.Sp
+Converts the tarfile into a uuencoded file
+.IP shdist_target 4
+.IX Item "shdist_target"
+.Vb 1
+\& my $make_frag = $MM\->shdist_target;
+.Ve
+.Sp
+Converts the distdir into a shell archive.
+.IP "dlsyms (o)" 4
+.IX Item "dlsyms (o)"
+Used by some OS' to define DL_FUNCS and DL_VARS and write the *.exp files.
+.Sp
+Normally just returns an empty string.
+.IP "dynamic_bs (o)" 4
+.IX Item "dynamic_bs (o)"
+Defines targets for bootstrap files.
+.IP "dynamic_lib (o)" 4
+.IX Item "dynamic_lib (o)"
+Defines how to produce the *.so (or equivalent) files.
+.IP xs_dynamic_lib_macros 4
+.IX Item "xs_dynamic_lib_macros"
+Defines the macros for the \f(CW\*(C`dynamic_lib\*(C'\fR section.
+.IP xs_make_dynamic_lib 4
+.IX Item "xs_make_dynamic_lib"
+Defines the recipes for the \f(CW\*(C`dynamic_lib\*(C'\fR section.
+.IP exescan 4
+.IX Item "exescan"
+Deprecated method. Use libscan instead.
+.IP extliblist 4
+.IX Item "extliblist"
+Called by init_others, and calls ext ExtUtils::Liblist. See
+ExtUtils::Liblist for details.
+.IP find_perl 4
+.IX Item "find_perl"
+Finds the executables PERL and FULLPERL
+.IP fixin 4
+.IX Item "fixin"
+.Vb 1
+\& $mm\->fixin(@files);
+.Ve
+.Sp
+Inserts the sharpbang or equivalent magic number to a set of \f(CW@files\fR.
+.IP "force (o)" 4
+.IX Item "force (o)"
+Writes an empty FORCE: target.
+.IP guess_name 4
+.IX Item "guess_name"
+Guess the name of this package by examining the working directory's
+name. MakeMaker calls this only if the developer has not supplied a
+NAME attribute.
+.IP has_link_code 4
+.IX Item "has_link_code"
+Returns true if C, XS, MYEXTLIB or similar objects exist within this
+object that need a compiler. Does not descend into subdirectories as
+\&\fBneeds_linking()\fR does.
+.IP init_dirscan 4
+.IX Item "init_dirscan"
+Scans the directory structure and initializes DIR, XS, XS_FILES,
+C, C_FILES, O_FILES, H, H_FILES, PL_FILES, EXE_FILES.
+.Sp
+Called by init_main.
+.IP init_MANPODS 4
+.IX Item "init_MANPODS"
+Determines if man pages should be generated and initializes MAN1PODS
+and MAN3PODS as appropriate.
+.IP init_MAN1PODS 4
+.IX Item "init_MAN1PODS"
+Initializes MAN1PODS from the list of EXE_FILES.
+.IP init_MAN3PODS 4
+.IX Item "init_MAN3PODS"
+Initializes MAN3PODS from the list of PM files.
+.IP init_PM 4
+.IX Item "init_PM"
+Initializes PMLIBDIRS and PM from PMLIBDIRS.
+.IP init_DIRFILESEP 4
+.IX Item "init_DIRFILESEP"
+Using / for Unix. Called by init_main.
+.IP init_main 4
+.IX Item "init_main"
+Initializes AR, AR_STATIC_ARGS, BASEEXT, CONFIG, DISTNAME, DLBASE,
+EXE_EXT, FULLEXT, FULLPERL, FULLPERLRUN, FULLPERLRUNINST, INST_*,
+INSTALL*, INSTALLDIRS, LIB_EXT, LIBPERL_A, MAP_TARGET, NAME,
+OBJ_EXT, PARENT_NAME, PERL, PERL_ARCHLIB, PERL_INC, PERL_LIB,
+PERL_SRC, PERLRUN, PERLRUNINST, PREFIX, VERSION,
+VERSION_SYM, XS_VERSION.
+.IP init_tools 4
+.IX Item "init_tools"
+Initializes tools to use their common (and faster) Unix commands.
+.IP init_linker 4
+.IX Item "init_linker"
+Unix has no need of special linker flags.
+.IP init_PERL 4
+.IX Item "init_PERL"
+.Vb 1
+\& $mm\->init_PERL;
+.Ve
+.Sp
+Called by init_main. Sets up ABSPERL, PERL, FULLPERL and all the
+*PERLRUN* permutations.
+.Sp
+.Vb 2
+\& PERL is allowed to be miniperl
+\& FULLPERL must be a complete perl
+\&
+\& ABSPERL is PERL converted to an absolute path
+\&
+\& *PERLRUN contains everything necessary to run perl, find it\*(Aqs
+\& libraries, etc...
+\&
+\& *PERLRUNINST is *PERLRUN + everything necessary to find the
+\& modules being built.
+.Ve
+.IP init_platform 4
+.IX Item "init_platform"
+.PD 0
+.IP platform_constants 4
+.IX Item "platform_constants"
+.PD
+Add MM_Unix_VERSION.
+.IP init_PERM 4
+.IX Item "init_PERM"
+.Vb 1
+\& $mm\->init_PERM
+.Ve
+.Sp
+Called by init_main. Initializes PERL_*
+.IP init_xs 4
+.IX Item "init_xs"
+.Vb 1
+\& $mm\->init_xs
+.Ve
+.Sp
+Sets up macros having to do with XS code. Currently just INST_STATIC,
+INST_DYNAMIC and INST_BOOT.
+.IP "install (o)" 4
+.IX Item "install (o)"
+Defines the install target.
+.IP "installbin (o)" 4
+.IX Item "installbin (o)"
+Defines targets to make and to install EXE_FILES.
+.IP "linkext (o)" 4
+.IX Item "linkext (o)"
+Defines the linkext target which in turn defines the LINKTYPE.
+.IP lsdir 4
+.IX Item "lsdir"
+Takes as arguments a directory name and a regular expression. Returns
+all entries in the directory that match the regular expression.
+.IP "macro (o)" 4
+.IX Item "macro (o)"
+Simple subroutine to insert the macros defined by the macro attribute
+into the Makefile.
+.IP "makeaperl (o)" 4
+.IX Item "makeaperl (o)"
+Called by staticmake. Defines how to write the Makefile to produce a
+static new perl.
+.Sp
+By default the Makefile produced includes all the static extensions in
+the perl library. (Purified versions of library files, e.g.,
+DynaLoader_pure_p1_c0_032.a are automatically ignored to avoid link errors.)
+.IP "xs_static_lib_is_xs (o)" 4
+.IX Item "xs_static_lib_is_xs (o)"
+Called by a utility method of makeaperl. Checks whether a given file
+is an XS library by seeing whether it defines any symbols starting
+with \f(CW\*(C`boot_\*(C'\fR (with an optional leading underscore \- needed on MacOS).
+.IP "makefile (o)" 4
+.IX Item "makefile (o)"
+Defines how to rewrite the Makefile.
+.IP maybe_command 4
+.IX Item "maybe_command"
+Returns true, if the argument is likely to be a command.
+.IP "needs_linking (o)" 4
+.IX Item "needs_linking (o)"
+Does this module need linking? Looks into subdirectory objects (see
+also \fBhas_link_code()\fR)
+.IP parse_abstract 4
+.IX Item "parse_abstract"
+parse a file and return what you think is the ABSTRACT
+.IP parse_version 4
+.IX Item "parse_version"
+.Vb 1
+\& my $version = MM\->parse_version($file);
+.Ve
+.Sp
+Parse a \f(CW$file\fR and return what \f(CW$VERSION\fR is set to by the first assignment.
+It will return the string "undef" if it can't figure out what \f(CW$VERSION\fR
+is. \f(CW$VERSION\fR should be for all to see, so \f(CW\*(C`our $VERSION\*(C'\fR or plain \f(CW$VERSION\fR
+are okay, but \f(CW\*(C`my $VERSION\*(C'\fR is not.
+.Sp
+\&\f(CW\*(C`package Foo VERSION\*(C'\fR is also checked for. The first version
+declaration found is used, but this may change as it differs from how
+Perl does it.
+.Sp
+\&\fBparse_version()\fR will try to \f(CW\*(C`use version\*(C'\fR before checking for
+\&\f(CW$VERSION\fR so the following will work.
+.Sp
+.Vb 1
+\& $VERSION = qv(1.2.3);
+.Ve
+.IP "pasthru (o)" 4
+.IX Item "pasthru (o)"
+Defines the string that is passed to recursive make calls in
+subdirectories. The variables like \f(CW\*(C`PASTHRU_DEFINE\*(C'\fR are used in each
+level, and passed downwards on the command-line with e.g. the value of
+that level's DEFINE. Example:
+.Sp
+.Vb 6
+\& # Level 0 has DEFINE = \-Dfunky
+\& # This code will define level 0\*(Aqs PASTHRU=PASTHRU_DEFINE="$(DEFINE)
+\& # $(PASTHRU_DEFINE)"
+\& # Level 0\*(Aqs $(CCCMD) will include macros $(DEFINE) and $(PASTHRU_DEFINE)
+\& # So will level 1\*(Aqs, so when level 1 compiles, it will get right values
+\& # And so ad infinitum
+.Ve
+.IP perl_script 4
+.IX Item "perl_script"
+Takes one argument, a file name, and returns the file name, if the
+argument is likely to be a perl script. On MM_Unix this is true for
+any ordinary, readable file.
+.IP "perldepend (o)" 4
+.IX Item "perldepend (o)"
+Defines the dependency from all *.h files that come with the perl
+distribution.
+.IP pm_to_blib 4
+.IX Item "pm_to_blib"
+Defines target that copies all files in the hash PM to their
+destination and autosplits them. See "DESCRIPTION" in ExtUtils::Install
+.IP ppd 4
+.IX Item "ppd"
+Defines target that creates a PPD (Perl Package Description) file
+for a binary distribution.
+.IP prefixify 4
+.IX Item "prefixify"
+.Vb 1
+\& $MM\->prefixify($var, $prefix, $new_prefix, $default);
+.Ve
+.Sp
+Using either \f(CW$MM\fR\->{uc \f(CW$var\fR} || \f(CW$Config\fR{lc \f(CW$var\fR}, it will attempt to
+replace it's \f(CW$prefix\fR with a \f(CW$new_prefix\fR.
+.Sp
+Should the \f(CW$prefix\fR fail to match \fIAND\fR a PREFIX was given as an
+argument to \fBWriteMakefile()\fR it will set it to the \f(CW$new_prefix\fR +
+\&\f(CW$default\fR. This is for systems whose file layouts don't neatly fit into
+our ideas of prefixes.
+.Sp
+This is for heuristics which attempt to create directory structures
+that mirror those of the installed perl.
+.Sp
+For example:
+.Sp
+.Vb 1
+\& $MM\->prefixify(\*(Aqinstallman1dir\*(Aq, \*(Aq/usr\*(Aq, \*(Aq/home/foo\*(Aq, \*(Aqman/man1\*(Aq);
+.Ve
+.Sp
+this will attempt to remove '/usr' from the front of the
+\&\f(CW$MM\fR\->{INSTALLMAN1DIR} path (initializing it to \f(CW$Config\fR{installman1dir}
+if necessary) and replace it with '/home/foo'. If this fails it will
+simply use '/home/foo/man/man1'.
+.IP "processPL (o)" 4
+.IX Item "processPL (o)"
+Defines targets to run *.PL files.
+.IP specify_shell 4
+.IX Item "specify_shell"
+Specify SHELL if needed \- not done on Unix.
+.IP quote_paren 4
+.IX Item "quote_paren"
+Backslashes parentheses \f(CW\*(C`()\*(C'\fR in command line arguments.
+Doesn't handle recursive Makefile \f(CW\*(C`$(...)\*(C'\fR constructs,
+but handles simple ones.
+.IP replace_manpage_separator 4
+.IX Item "replace_manpage_separator"
+.Vb 1
+\& my $man_name = $MM\->replace_manpage_separator($file_path);
+.Ve
+.Sp
+Takes the name of a package, which may be a nested package, in the
+form 'Foo/Bar.pm' and replaces the slash with \f(CW\*(C`::\*(C'\fR or something else
+safe for a man page file name. Returns the replacement.
+.IP cd 4
+.IX Item "cd"
+.PD 0
+.IP oneliner 4
+.IX Item "oneliner"
+.IP quote_literal 4
+.IX Item "quote_literal"
+.PD
+Quotes macro literal value suitable for being used on a command line so
+that when expanded by make, will be received by command as given to
+this method:
+.Sp
+.Vb 6
+\& my $quoted = $mm\->quote_literal(q{it isn\*(Aqt});
+\& # returns:
+\& # \*(Aqit isn\*(Aq\e\*(Aq\*(Aqt\*(Aq
+\& print MAKEFILE "target:\en\etecho $quoted\en";
+\& # when run "make target", will output:
+\& # it isn\*(Aqt
+.Ve
+.IP escape_newlines 4
+.IX Item "escape_newlines"
+.PD 0
+.IP max_exec_len 4
+.IX Item "max_exec_len"
+.PD
+Using POSIX::ARG_MAX. Otherwise falling back to 4096.
+.IP "static (o)" 4
+.IX Item "static (o)"
+Defines the static target.
+.IP xs_make_static_lib 4
+.IX Item "xs_make_static_lib"
+Defines the recipes for the \f(CW\*(C`static_lib\*(C'\fR section.
+.IP static_lib_closures 4
+.IX Item "static_lib_closures"
+Records \f(CW\*(C`$(EXTRALIBS)\*(C'\fR in \fIextralibs.ld\fR and \fI$(PERL_SRC)/ext.libs\fR.
+.IP static_lib_fixtures 4
+.IX Item "static_lib_fixtures"
+Handles copying \f(CW\*(C`$(MYEXTLIB)\*(C'\fR as starter for final static library that
+then gets added to.
+.IP static_lib_pure_cmd 4
+.IX Item "static_lib_pure_cmd"
+Defines how to run the archive utility.
+.IP "staticmake (o)" 4
+.IX Item "staticmake (o)"
+Calls makeaperl.
+.IP "subdir_x (o)" 4
+.IX Item "subdir_x (o)"
+Helper subroutine for subdirs
+.IP "subdirs (o)" 4
+.IX Item "subdirs (o)"
+Defines targets to process subdirectories.
+.IP "test (o)" 4
+.IX Item "test (o)"
+Defines the test targets.
+.IP "test_via_harness (override)" 4
+.IX Item "test_via_harness (override)"
+For some reason which I forget, Unix machines like to have
+PERL_DL_NONLAZY set for tests.
+.IP "test_via_script (override)" 4
+.IX Item "test_via_script (override)"
+Again, the PERL_DL_NONLAZY thing.
+.IP "tool_xsubpp (o)" 4
+.IX Item "tool_xsubpp (o)"
+Determines typemaps, xsubpp version, prototype behaviour.
+.IP all_target 4
+.IX Item "all_target"
+Build man pages, too
+.IP "top_targets (o)" 4
+.IX Item "top_targets (o)"
+Defines the targets all, subdirs, config, and O_FILES
+.IP writedoc 4
+.IX Item "writedoc"
+Obsolete, deprecated method. Not used since Version 5.21.
+.IP "xs_c (o)" 4
+.IX Item "xs_c (o)"
+Defines the suffix rules to compile XS files to C.
+.IP "xs_cpp (o)" 4
+.IX Item "xs_cpp (o)"
+Defines the suffix rules to compile XS files to C++.
+.IP "xs_o (o)" 4
+.IX Item "xs_o (o)"
+Defines suffix rules to go from XS to object files directly. This was
+originally only intended for broken make implementations, but is now
+necessary for per-XS file under \f(CW\*(C`XSMULTI\*(C'\fR, since each XS file might
+have an individual \f(CW\*(C`$(VERSION)\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+ExtUtils::MakeMaker