summaryrefslogtreecommitdiff
path: root/systems/texlive/tlnet/tlpkg/tlperl/lib/Config.pod
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /systems/texlive/tlnet/tlpkg/tlperl/lib/Config.pod
Initial commit
Diffstat (limited to 'systems/texlive/tlnet/tlpkg/tlperl/lib/Config.pod')
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/Config.pod9823
1 files changed, 9823 insertions, 0 deletions
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/Config.pod b/systems/texlive/tlnet/tlpkg/tlperl/lib/Config.pod
new file mode 100644
index 0000000000..34153e81ea
--- /dev/null
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/Config.pod
@@ -0,0 +1,9823 @@
+=head1 NAME
+
+Config - access Perl configuration information
+
+=head1 SYNOPSIS
+
+ use Config;
+ if ($Config{usethreads}) {
+ print "has thread support\n"
+ }
+
+ use Config qw(myconfig config_sh config_vars config_re);
+
+ print myconfig();
+
+ print config_sh();
+
+ print config_re();
+
+ config_vars(qw(osname archname));
+
+
+=head1 DESCRIPTION
+
+The Config module contains all the information that was available to
+the C<Configure> program at Perl build time (over 900 values).
+
+Shell variables from the F<config.sh> file (written by Configure) are
+stored in the readonly-variable C<%Config>, indexed by their names.
+
+Values stored in config.sh as 'undef' are returned as undefined
+values. The perl C<exists> function can be used to check if a
+named variable exists.
+
+For a description of the variables, please have a look at the
+Glossary file, as written in the Porting folder, or use the url:
+http://perl5.git.perl.org/perl.git/blob/HEAD:/Porting/Glossary
+
+=over 4
+
+=item myconfig()
+
+Returns a textual summary of the major perl configuration values.
+See also C<-V> in L<perlrun/Command Switches>.
+
+=item config_sh()
+
+Returns the entire perl configuration information in the form of the
+original config.sh shell variable assignment script.
+
+=item config_re($regex)
+
+Like config_sh() but returns, as a list, only the config entries who's
+names match the $regex.
+
+=item config_vars(@names)
+
+Prints to STDOUT the values of the named configuration variable. Each is
+printed on a separate line in the form:
+
+ name='value';
+
+Names which are unknown are output as C<name='UNKNOWN';>.
+See also C<-V:name> in L<perlrun/Command Switches>.
+
+=item bincompat_options()
+
+Returns a list of C pre-processor options used when compiling this F<perl>
+binary, which affect its binary compatibility with extensions.
+C<bincompat_options()> and C<non_bincompat_options()> are shown together in
+the output of C<perl -V> as I<Compile-time options>.
+
+=item non_bincompat_options()
+
+Returns a list of C pre-processor options used when compiling this F<perl>
+binary, which do not affect binary compatibility with extensions.
+
+=item compile_date()
+
+Returns the compile date (as a string), equivalent to what is shown by
+C<perl -V>
+
+=item local_patches()
+
+Returns a list of the names of locally applied patches, equivalent to what
+is shown by C<perl -V>.
+
+=item header_files()
+
+Returns a list of the header files that should be used as dependencies for
+XS code, for this version of Perl on this platform.
+
+=back
+
+=head1 EXAMPLE
+
+Here's a more sophisticated example of using %Config:
+
+ use Config;
+ use strict;
+
+ my %sig_num;
+ my @sig_name;
+ unless($Config{sig_name} && $Config{sig_num}) {
+ die "No sigs?";
+ } else {
+ my @names = split ' ', $Config{sig_name};
+ @sig_num{@names} = split ' ', $Config{sig_num};
+ foreach (@names) {
+ $sig_name[$sig_num{$_}] ||= $_;
+ }
+ }
+
+ print "signal #17 = $sig_name[17]\n";
+ if ($sig_num{ALRM}) {
+ print "SIGALRM is $sig_num{ALRM}\n";
+ }
+
+=head1 WARNING
+
+Because this information is not stored within the perl executable
+itself it is possible (but unlikely) that the information does not
+relate to the actual perl binary which is being used to access it.
+
+The Config module is installed into the architecture and version
+specific library directory ($Config{installarchlib}) and it checks the
+perl version number when loaded.
+
+The values stored in config.sh may be either single-quoted or
+double-quoted. Double-quoted strings are handy for those cases where you
+need to include escape sequences in the strings. To avoid runtime variable
+interpolation, any C<$> and C<@> characters are replaced by C<\$> and
+C<\@>, respectively. This isn't foolproof, of course, so don't embed C<\$>
+or C<\@> in double-quoted strings unless you're willing to deal with the
+consequences. (The slashes will end up escaped and the C<$> or C<@> will
+trigger variable interpolation)
+
+=head1 GLOSSARY
+
+Most C<Config> variables are determined by the C<Configure> script
+on platforms supported by it (which is most UNIX platforms). Some
+platforms have custom-made C<Config> variables, and may thus not have
+some of the variables described below, or may have extraneous variables
+specific to that particular port. See the port specific documentation
+in such cases.
+
+=cut
+
+=head2 _
+
+=over 4
+
+=cut
+
+=item C<_a>
+
+From F<Unix.U>:
+
+This variable defines the extension used for ordinary library files.
+For unix, it is F<.a>. The F<.> is included. Other possible
+values include F<.lib>.
+
+=item C<_exe>
+
+From F<Unix.U>:
+
+This variable defines the extension used for executable files.
+C<DJGPP>, Cygwin and F<OS/2> use F<.exe>. Stratus C<VOS> uses F<.pm>.
+On operating systems which do not require a specific extension
+for executable files, this variable is empty.
+
+=item C<_o>
+
+From F<Unix.U>:
+
+This variable defines the extension used for object files.
+For unix, it is F<.o>. The F<.> is included. Other possible
+values include F<.obj>.
+
+=back
+
+=cut
+
+=head2 a
+
+=over 4
+
+=cut
+
+=item C<afs>
+
+From F<afs.U>:
+
+This variable is set to C<true> if C<AFS> (Andrew File System) is used
+on the system, C<false> otherwise. It is possible to override this
+with a hint value or command line option, but you'd better know
+what you are doing.
+
+=item C<afsroot>
+
+From F<afs.U>:
+
+This variable is by default set to F</afs>. In the unlikely case
+this is not the correct root, it is possible to override this with
+a hint value or command line option. This will be used in subsequent
+tests for AFSness in the configure and test process.
+
+=item C<alignbytes>
+
+From F<alignbytes.U>:
+
+This variable holds the number of bytes required to align a
+double-- or a long double when applicable. Usual values are
+2, 4 and 8. The default is eight, for safety.
+
+=item C<aphostname>
+
+From F<d_gethname.U>:
+
+This variable contains the command which can be used to compute the
+host name. The command is fully qualified by its absolute path, to make
+it safe when used by a process with super-user privileges.
+
+=item C<api_revision>
+
+From F<patchlevel.U>:
+
+The three variables, api_revision, api_version, and
+api_subversion, specify the version of the oldest perl binary
+compatible with the present perl. In a full version string
+such as F<5.6.1>, api_revision is the C<5>.
+Prior to 5.5.640, the format was a floating point number,
+like 5.00563.
+
+F<perl.c>:incpush() and F<lib/lib.pm> will automatically search in
+F<$sitelib/.>. for older directories back to the limit specified
+by these api_ variables. This is only useful if you have a
+perl library directory tree structured like the default one.
+See C<INSTALL> for how this works. The versioned site_perl
+directory was introduced in 5.005, so that is the lowest
+possible value. The version list appropriate for the current
+system is determined in F<inc_version_list.U>.
+
+C<XXX> To do: Since compatibility can depend on compile time
+options (such as bincompat, longlong, etc.) it should
+(perhaps) be set by Configure, but currently it isn't.
+Currently, we read a hard-wired value from F<patchlevel.h>.
+Perhaps what we ought to do is take the hard-wired value from
+F<patchlevel.h> but then modify it if the current Configure
+options warrant. F<patchlevel.h> then would use an #ifdef guard.
+
+=item C<api_subversion>
+
+From F<patchlevel.U>:
+
+The three variables, api_revision, api_version, and
+api_subversion, specify the version of the oldest perl binary
+compatible with the present perl. In a full version string
+such as F<5.6.1>, api_subversion is the C<1>. See api_revision for
+full details.
+
+=item C<api_version>
+
+From F<patchlevel.U>:
+
+The three variables, api_revision, api_version, and
+api_subversion, specify the version of the oldest perl binary
+compatible with the present perl. In a full version string
+such as F<5.6.1>, api_version is the C<6>. See api_revision for
+full details. As a special case, 5.5.0 is rendered in the
+old-style as 5.005. (In the 5.005_0x maintenance series,
+this was the only versioned directory in $sitelib.)
+
+=item C<api_versionstring>
+
+From F<patchlevel.U>:
+
+This variable combines api_revision, api_version, and
+api_subversion in a format such as 5.6.1 (or 5_6_1) suitable
+for use as a directory name. This is filesystem dependent.
+
+=item C<ar>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the ar program. After Configure runs,
+the value is reset to a plain C<ar> and is not useful.
+
+=item C<archlib>
+
+From F<archlib.U>:
+
+This variable holds the name of the directory in which the user wants
+to put architecture-dependent public library files for $package.
+It is most often a local directory such as F</usr/local/lib>.
+Programs using this variable must be prepared to deal
+with filename expansion.
+
+=item C<archlibexp>
+
+From F<archlib.U>:
+
+This variable is the same as the archlib variable, but is
+filename expanded at configuration time, for convenient use.
+
+=item C<archname>
+
+From F<archname.U>:
+
+This variable is a short name to characterize the current
+architecture. It is used mainly to construct the default archlib.
+
+=item C<archname64>
+
+From F<use64bits.U>:
+
+This variable is used for the 64-bitness part of $archname.
+
+=item C<archobjs>
+
+From F<Unix.U>:
+
+This variable defines any additional objects that must be linked
+in with the program on this architecture. On unix, it is usually
+empty. It is typically used to include emulations of unix calls
+or other facilities. For perl on F<OS/2>, for example, this would
+include F<os2/os2.obj>.
+
+=item C<asctime_r_proto>
+
+From F<d_asctime_r.U>:
+
+This variable encodes the prototype of asctime_r.
+It is zero if d_asctime_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_asctime_r
+is defined.
+
+=item C<awk>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the awk program. After Configure runs,
+the value is reset to a plain C<awk> and is not useful.
+
+=back
+
+=cut
+
+=head2 b
+
+=over 4
+
+=cut
+
+=item C<baserev>
+
+From F<baserev.U>:
+
+The base revision level of this package, from the F<.package> file.
+
+=item C<bash>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<bin>
+
+From F<bin.U>:
+
+This variable holds the name of the directory in which the user wants
+to put publicly executable images for the package in question. It
+is most often a local directory such as F</usr/local/bin>. Programs using
+this variable must be prepared to deal with F<~name> substitution.
+
+=item C<bin_ELF>
+
+From F<dlsrc.U>:
+
+This variable saves the result from configure if generated binaries
+are in C<ELF> format. Only set to defined when the test has actually
+been performed, and the result was positive.
+
+=item C<binexp>
+
+From F<bin.U>:
+
+This is the same as the bin variable, but is filename expanded at
+configuration time, for use in your makefiles.
+
+=item C<bison>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the bison program. After Configure runs,
+the value is reset to a plain C<bison> and is not useful.
+
+=item C<byacc>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the byacc program. After Configure runs,
+the value is reset to a plain C<byacc> and is not useful.
+
+=item C<byteorder>
+
+From F<byteorder.U>:
+
+This variable holds the byte order in a C<UV>. In the following,
+larger digits indicate more significance. The variable byteorder
+is either 4321 on a big-endian machine, or 1234 on a little-endian,
+or 87654321 on a Cray ... or 3412 with weird order !
+
+=back
+
+=cut
+
+=head2 c
+
+=over 4
+
+=cut
+
+=item C<c>
+
+From F<n.U>:
+
+This variable contains the \c string if that is what causes the echo
+command to suppress newline. Otherwise it is null. Correct usage is
+$echo $n "prompt for a question: $c".
+
+=item C<castflags>
+
+From F<d_castneg.U>:
+
+This variable contains a flag that precise difficulties the
+compiler has casting odd floating values to unsigned long:
+0 = ok
+1 = couldn't cast < 0
+2 = couldn't cast >= 0x80000000
+4 = couldn't cast in argument expression list
+
+=item C<cat>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the cat program. After Configure runs,
+the value is reset to a plain C<cat> and is not useful.
+
+=item C<cc>
+
+From F<cc.U>:
+
+This variable holds the name of a command to execute a C compiler which
+can resolve multiple global references that happen to have the same
+name. Usual values are C<cc> and C<gcc>.
+Fervent C<ANSI> compilers may be called C<c89>. C<AIX> has xlc.
+
+=item C<cccdlflags>
+
+From F<dlsrc.U>:
+
+This variable contains any special flags that might need to be
+passed with C<cc -c> to compile modules to be used to create a shared
+library that will be used for dynamic loading. For hpux, this
+should be +z. It is up to the makefile to use it.
+
+=item C<ccdlflags>
+
+From F<dlsrc.U>:
+
+This variable contains any special flags that might need to be
+passed to cc to link with a shared library for dynamic loading.
+It is up to the makefile to use it. For sunos 4.1, it should
+be empty.
+
+=item C<ccflags>
+
+From F<ccflags.U>:
+
+This variable contains any additional C compiler flags desired by
+the user. It is up to the Makefile to use this.
+
+=item C<ccflags_uselargefiles>
+
+From F<uselfs.U>:
+
+This variable contains the compiler flags needed by large file builds
+and added to ccflags by hints files.
+
+=item C<ccname>
+
+From F<Checkcc.U>:
+
+This can set either by hints files or by Configure. If using
+gcc, this is gcc, and if not, usually equal to cc, unimpressive, no?
+Some platforms, however, make good use of this by storing the
+flavor of the C compiler being used here. For example if using
+the Sun WorkShop suite, ccname will be C<workshop>.
+
+=item C<ccsymbols>
+
+From F<Cppsym.U>:
+
+The variable contains the symbols defined by the C compiler alone.
+The symbols defined by cpp or by cc when it calls cpp are not in
+this list, see cppsymbols and cppccsymbols.
+The list is a space-separated list of symbol=value tokens.
+
+=item C<ccversion>
+
+From F<Checkcc.U>:
+
+This can set either by hints files or by Configure. If using
+a (non-gcc) vendor cc, this variable may contain a version for
+the compiler.
+
+=item C<cf_by>
+
+From F<cf_who.U>:
+
+Login name of the person who ran the Configure script and answered the
+questions. This is used to tag both F<config.sh> and F<config_h.SH>.
+
+=item C<cf_email>
+
+From F<cf_email.U>:
+
+Electronic mail address of the person who ran Configure. This can be
+used by units that require the user's e-mail, like F<MailList.U>.
+
+=item C<cf_time>
+
+From F<cf_who.U>:
+
+Holds the output of the C<date> command when the configuration file was
+produced. This is used to tag both F<config.sh> and F<config_h.SH>.
+
+=item C<charbits>
+
+From F<charsize.U>:
+
+This variable contains the value of the C<CHARBITS> symbol, which
+indicates to the C program how many bits there are in a character.
+
+=item C<charsize>
+
+From F<charsize.U>:
+
+This variable contains the value of the C<CHARSIZE> symbol, which
+indicates to the C program how many bytes there are in a character.
+
+=item C<chgrp>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<chmod>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the chmod program. After Configure runs,
+the value is reset to a plain C<chmod> and is not useful.
+
+=item C<chown>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<clocktype>
+
+From F<d_times.U>:
+
+This variable holds the type returned by times(). It can be long,
+or clock_t on C<BSD> sites (in which case <sys/types.h> should be
+included).
+
+=item C<comm>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the comm program. After Configure runs,
+the value is reset to a plain C<comm> and is not useful.
+
+=item C<compress>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<config_arg0>
+
+From F<Options.U>:
+
+This variable contains the string used to invoke the Configure
+command, as reported by the shell in the $0 variable.
+
+=item C<config_argc>
+
+From F<Options.U>:
+
+This variable contains the number of command-line arguments
+passed to Configure, as reported by the shell in the $# variable.
+The individual arguments are stored as variables config_arg1,
+config_arg2, etc.
+
+=item C<config_args>
+
+From F<Options.U>:
+
+This variable contains a single string giving the command-line
+arguments passed to Configure. Spaces within arguments,
+quotes, and escaped characters are not correctly preserved.
+To reconstruct the command line, you must assemble the individual
+command line pieces, given in config_arg[0-9]*.
+
+=item C<contains>
+
+From F<contains.U>:
+
+This variable holds the command to do a grep with a proper return
+status. On most sane systems it is simply C<grep>. On insane systems
+it is a grep followed by a cat followed by a test. This variable
+is primarily for the use of other Configure units.
+
+=item C<cp>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the cp program. After Configure runs,
+the value is reset to a plain C<cp> and is not useful.
+
+=item C<cpio>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<cpp>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the cpp program. After Configure runs,
+the value is reset to a plain C<cpp> and is not useful.
+
+=item C<cpp_stuff>
+
+From F<cpp_stuff.U>:
+
+This variable contains an identification of the concatenation mechanism
+used by the C preprocessor.
+
+=item C<cppccsymbols>
+
+From F<Cppsym.U>:
+
+The variable contains the symbols defined by the C compiler
+when it calls cpp. The symbols defined by the cc alone or cpp
+alone are not in this list, see ccsymbols and cppsymbols.
+The list is a space-separated list of symbol=value tokens.
+
+=item C<cppflags>
+
+From F<ccflags.U>:
+
+This variable holds the flags that will be passed to the C pre-
+processor. It is up to the Makefile to use it.
+
+=item C<cpplast>
+
+From F<cppstdin.U>:
+
+This variable has the same functionality as cppminus, only it applies
+to cpprun and not cppstdin.
+
+=item C<cppminus>
+
+From F<cppstdin.U>:
+
+This variable contains the second part of the string which will invoke
+the C preprocessor on the standard input and produce to standard
+output. This variable will have the value C<-> if cppstdin needs
+a minus to specify standard input, otherwise the value is "".
+
+=item C<cpprun>
+
+From F<cppstdin.U>:
+
+This variable contains the command which will invoke a C preprocessor
+on standard input and put the output to stdout. It is guaranteed not
+to be a wrapper and may be a null string if no preprocessor can be
+made directly available. This preprocessor might be different from the
+one used by the C compiler. Don't forget to append cpplast after the
+preprocessor options.
+
+=item C<cppstdin>
+
+From F<cppstdin.U>:
+
+This variable contains the command which will invoke the C
+preprocessor on standard input and put the output to stdout.
+It is primarily used by other Configure units that ask about
+preprocessor symbols.
+
+=item C<cppsymbols>
+
+From F<Cppsym.U>:
+
+The variable contains the symbols defined by the C preprocessor
+alone. The symbols defined by cc or by cc when it calls cpp are
+not in this list, see ccsymbols and cppccsymbols.
+The list is a space-separated list of symbol=value tokens.
+
+=item C<crypt_r_proto>
+
+From F<d_crypt_r.U>:
+
+This variable encodes the prototype of crypt_r.
+It is zero if d_crypt_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_crypt_r
+is defined.
+
+=item C<cryptlib>
+
+From F<d_crypt.U>:
+
+This variable holds -lcrypt or the path to a F<libcrypt.a> archive if
+the crypt() function is not defined in the standard C library. It is
+up to the Makefile to use this.
+
+=item C<csh>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the csh program. After Configure runs,
+the value is reset to a plain C<csh> and is not useful.
+
+=item C<ctermid_r_proto>
+
+From F<d_ctermid_r.U>:
+
+This variable encodes the prototype of ctermid_r.
+It is zero if d_ctermid_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_ctermid_r
+is defined.
+
+=item C<ctime_r_proto>
+
+From F<d_ctime_r.U>:
+
+This variable encodes the prototype of ctime_r.
+It is zero if d_ctime_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_ctime_r
+is defined.
+
+=back
+
+=cut
+
+=head2 d
+
+=over 4
+
+=cut
+
+=item C<d__fwalk>
+
+From F<d__fwalk.U>:
+
+This variable conditionally defines C<HAS__FWALK> if _fwalk() is
+available to apply a function to all the file handles.
+
+=item C<d_accept4>
+
+From F<d_accept4.U>:
+
+This variable conditionally defines HAS_ACCEPT4 if accept4() is
+available to accept socket connections.
+
+=item C<d_access>
+
+From F<d_access.U>:
+
+This variable conditionally defines C<HAS_ACCESS> if the access() system
+call is available to check for access permissions using real IDs.
+
+=item C<d_accessx>
+
+From F<d_accessx.U>:
+
+This variable conditionally defines the C<HAS_ACCESSX> symbol, which
+indicates to the C program that the accessx() routine is available.
+
+=item C<d_acosh>
+
+From F<d_acosh.U>:
+
+This variable conditionally defines the C<HAS_ACOSH> symbol, which
+indicates to the C program that the acosh() routine is available.
+
+=item C<d_aintl>
+
+From F<d_aintl.U>:
+
+This variable conditionally defines the C<HAS_AINTL> symbol, which
+indicates to the C program that the aintl() routine is available.
+If copysignl is also present we can emulate modfl.
+
+=item C<d_alarm>
+
+From F<d_alarm.U>:
+
+This variable conditionally defines the C<HAS_ALARM> symbol, which
+indicates to the C program that the alarm() routine is available.
+
+=item C<d_archlib>
+
+From F<archlib.U>:
+
+This variable conditionally defines C<ARCHLIB> to hold the pathname
+of architecture-dependent library files for $package. If
+$archlib is the same as $privlib, then this is set to undef.
+
+=item C<d_asctime64>
+
+From F<d_timefuncs64.U>:
+
+This variable conditionally defines the HAS_ASCTIME64 symbol, which
+indicates to the C program that the asctime64 () routine is available.
+
+=item C<d_asctime_r>
+
+From F<d_asctime_r.U>:
+
+This variable conditionally defines the C<HAS_ASCTIME_R> symbol,
+which indicates to the C program that the asctime_r()
+routine is available.
+
+=item C<d_asinh>
+
+From F<d_asinh.U>:
+
+This variable conditionally defines the C<HAS_ASINH> symbol, which
+indicates to the C program that the asinh() routine is available.
+
+=item C<d_atanh>
+
+From F<d_atanh.U>:
+
+This variable conditionally defines the C<HAS_ATANH> symbol, which
+indicates to the C program that the atanh() routine is available.
+
+=item C<d_atolf>
+
+From F<atolf.U>:
+
+This variable conditionally defines the C<HAS_ATOLF> symbol, which
+indicates to the C program that the atolf() routine is available.
+
+=item C<d_atoll>
+
+From F<atoll.U>:
+
+This variable conditionally defines the C<HAS_ATOLL> symbol, which
+indicates to the C program that the atoll() routine is available.
+
+=item C<d_attribute_deprecated>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines C<HASATTRIBUTE_DEPRECATED>, which
+indicates that C<GCC> can handle the attribute for marking deprecated
+APIs
+
+=item C<d_attribute_format>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines C<HASATTRIBUTE_FORMAT>, which
+indicates the C compiler can check for printf-like formats.
+
+=item C<d_attribute_malloc>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines C<HASATTRIBUTE_MALLOC>, which
+indicates the C compiler can understand functions as having
+malloc-like semantics.
+
+=item C<d_attribute_nonnull>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines C<HASATTRIBUTE_NONNULL>, which
+indicates that the C compiler can know that certain arguments
+must not be C<NULL>, and will check accordingly at compile time.
+
+=item C<d_attribute_noreturn>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines C<HASATTRIBUTE_NORETURN>, which
+indicates that the C compiler can know that certain functions
+are guaranteed never to return.
+
+=item C<d_attribute_pure>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines C<HASATTRIBUTE_PURE>, which
+indicates that the C compiler can know that certain functions
+are C<pure> functions, meaning that they have no side effects, and
+only rely on function input F<and/or> global data for their results.
+
+=item C<d_attribute_unused>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines C<HASATTRIBUTE_UNUSED>, which
+indicates that the C compiler can know that certain variables
+and arguments may not always be used, and to not throw warnings
+if they don't get used.
+
+=item C<d_attribute_warn_unused_result>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines
+C<HASATTRIBUTE_WARN_UNUSED_RESULT>, which indicates that the C
+compiler can know that certain functions have a return values
+that must not be ignored, such as malloc() or open().
+
+=item C<d_backtrace>
+
+From F<d_backtrace.U>:
+
+This variable conditionally defines the C<HAS_BACKTRACE> symbol, which
+indicates to the C program that the backtrace() routine is available
+to get a stack trace.
+
+=item C<d_bsd>
+
+From F<Guess.U>:
+
+This symbol conditionally defines the symbol C<BSD> when running on a
+C<BSD> system.
+
+=item C<d_bsdgetpgrp>
+
+From F<d_getpgrp.U>:
+
+This variable conditionally defines C<USE_BSD_GETPGRP> if
+getpgrp needs one arguments whereas C<USG> one needs none.
+
+=item C<d_bsdsetpgrp>
+
+From F<d_setpgrp.U>:
+
+This variable conditionally defines C<USE_BSD_SETPGRP> if
+setpgrp needs two arguments whereas C<USG> one needs none.
+See also d_setpgid for a C<POSIX> interface.
+
+=item C<d_builtin_add_overflow>
+
+From F<d_builtin_overflow.U>:
+
+This variable conditionally defines C<HAS_BUILTIN_ADD_OVERFLOW>, which
+indicates that the compiler supports __builtin_add_overflow(x,y,&z)
+for safely adding x and y into z while checking for overflow.
+
+=item C<d_builtin_choose_expr>
+
+From F<d_builtin.U>:
+
+This conditionally defines C<HAS_BUILTIN_CHOOSE_EXPR>, which
+indicates that the compiler supports __builtin_choose_expr(x,y,z).
+This built-in function is analogous to the C<x?y:z> operator in C,
+except that the expression returned has its type unaltered by
+promotion rules. Also, the built-in function does not evaluate
+the expression that was not chosen.
+
+=item C<d_builtin_expect>
+
+From F<d_builtin.U>:
+
+This conditionally defines C<HAS_BUILTIN_EXPECT>, which indicates
+that the compiler supports __builtin_expect(exp,c). You may use
+__builtin_expect to provide the compiler with branch prediction
+information.
+
+=item C<d_builtin_mul_overflow>
+
+From F<d_builtin_overflow.U>:
+
+This variable conditionally defines C<HAS_BUILTIN_MUL_OVERFLOW>, which
+indicates that the compiler supports __builtin_mul_overflow(x,y,&z)
+for safely multiplying x and y into z while checking for overflow.
+
+=item C<d_builtin_sub_overflow>
+
+From F<d_builtin_overflow.U>:
+
+This variable conditionally defines C<HAS_BUILTIN_SUB_OVERFLOW>, which
+indicates that the compiler supports __builtin_sub_overflow(x,y,&z)
+for safely subtracting y from x into z while checking for overflow.
+
+=item C<d_c99_variadic_macros>
+
+From F<d_c99_variadic.U>:
+
+This variable conditionally defines the HAS_C99_VARIADIC_MACROS
+symbol, which indicates to the C program that C99 variadic macros
+are available.
+
+=item C<d_casti32>
+
+From F<d_casti32.U>:
+
+This variable conditionally defines CASTI32, which indicates
+whether the C compiler can cast large floats to 32-bit ints.
+
+=item C<d_castneg>
+
+From F<d_castneg.U>:
+
+This variable conditionally defines C<CASTNEG>, which indicates
+whether the C compiler can cast negative float to unsigned.
+
+=item C<d_cbrt>
+
+From F<d_cbrt.U>:
+
+This variable conditionally defines the C<HAS_CBRT> symbol, which
+indicates to the C program that the cbrt() (cube root) function
+is available.
+
+=item C<d_chown>
+
+From F<d_chown.U>:
+
+This variable conditionally defines the C<HAS_CHOWN> symbol, which
+indicates to the C program that the chown() routine is available.
+
+=item C<d_chroot>
+
+From F<d_chroot.U>:
+
+This variable conditionally defines the C<HAS_CHROOT> symbol, which
+indicates to the C program that the chroot() routine is available.
+
+=item C<d_chsize>
+
+From F<d_chsize.U>:
+
+This variable conditionally defines the C<CHSIZE> symbol, which
+indicates to the C program that the chsize() routine is available
+to truncate files. You might need a -lx to get this routine.
+
+=item C<d_class>
+
+From F<d_class.U>:
+
+This variable conditionally defines the C<HAS_CLASS> symbol, which
+indicates to the C program that the class() routine is available.
+
+=item C<d_clearenv>
+
+From F<d_clearenv.U>:
+
+This variable conditionally defines the C<HAS_CLEARENV> symbol, which
+indicates to the C program that the clearenv () routine is available.
+
+=item C<d_closedir>
+
+From F<d_closedir.U>:
+
+This variable conditionally defines C<HAS_CLOSEDIR> if closedir() is
+available.
+
+=item C<d_cmsghdr_s>
+
+From F<d_cmsghdr_s.U>:
+
+This variable conditionally defines the C<HAS_STRUCT_CMSGHDR> symbol,
+which indicates that the struct cmsghdr is supported.
+
+=item C<d_const>
+
+From F<d_const.U>:
+
+This variable conditionally defines the C<HASCONST> symbol, which
+indicates to the C program that this C compiler knows about the
+const type.
+
+=item C<d_copysign>
+
+From F<d_copysign.U>:
+
+This variable conditionally defines the C<HAS_COPYSIGN> symbol, which
+indicates to the C program that the copysign() routine is available.
+
+=item C<d_copysignl>
+
+From F<d_copysignl.U>:
+
+This variable conditionally defines the C<HAS_COPYSIGNL> symbol, which
+indicates to the C program that the copysignl() routine is available.
+If aintl is also present we can emulate modfl.
+
+=item C<d_cplusplus>
+
+From F<d_cplusplus.U>:
+
+This variable conditionally defines the C<USE_CPLUSPLUS> symbol, which
+indicates that a C++ compiler was used to compiled Perl and will be
+used to compile extensions.
+
+=item C<d_crypt>
+
+From F<d_crypt.U>:
+
+This variable conditionally defines the C<CRYPT> symbol, which
+indicates to the C program that the crypt() routine is available
+to encrypt passwords and the like.
+
+=item C<d_crypt_r>
+
+From F<d_crypt_r.U>:
+
+This variable conditionally defines the C<HAS_CRYPT_R> symbol,
+which indicates to the C program that the crypt_r()
+routine is available.
+
+=item C<d_csh>
+
+From F<d_csh.U>:
+
+This variable conditionally defines the C<CSH> symbol, which
+indicates to the C program that the C-shell exists.
+
+=item C<d_ctermid>
+
+From F<d_ctermid.U>:
+
+This variable conditionally defines C<CTERMID> if ctermid() is
+available to generate filename for terminal.
+
+=item C<d_ctermid_r>
+
+From F<d_ctermid_r.U>:
+
+This variable conditionally defines the C<HAS_CTERMID_R> symbol,
+which indicates to the C program that the ctermid_r()
+routine is available.
+
+=item C<d_ctime64>
+
+From F<d_timefuncs64.U>:
+
+This variable conditionally defines the HAS_CTIME64 symbol, which
+indicates to the C program that the ctime64 () routine is available.
+
+=item C<d_ctime_r>
+
+From F<d_ctime_r.U>:
+
+This variable conditionally defines the C<HAS_CTIME_R> symbol,
+which indicates to the C program that the ctime_r()
+routine is available.
+
+=item C<d_cuserid>
+
+From F<d_cuserid.U>:
+
+This variable conditionally defines the C<HAS_CUSERID> symbol, which
+indicates to the C program that the cuserid() routine is available
+to get character login names.
+
+=item C<d_dbminitproto>
+
+From F<d_dbminitproto.U>:
+
+This variable conditionally defines the C<HAS_DBMINIT_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the dbminit() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_difftime>
+
+From F<d_difftime.U>:
+
+This variable conditionally defines the C<HAS_DIFFTIME> symbol, which
+indicates to the C program that the difftime() routine is available.
+
+=item C<d_difftime64>
+
+From F<d_timefuncs64.U>:
+
+This variable conditionally defines the HAS_DIFFTIME64 symbol, which
+indicates to the C program that the difftime64 () routine is available.
+
+=item C<d_dir_dd_fd>
+
+From F<d_dir_dd_fd.U>:
+
+This variable conditionally defines the C<HAS_DIR_DD_FD> symbol, which
+indicates that the C<DIR> directory stream type contains a member
+variable called dd_fd.
+
+=item C<d_dirfd>
+
+From F<d_dirfd.U>:
+
+This variable conditionally defines the C<HAS_DIRFD> constant,
+which indicates to the C program that dirfd() is available
+to return the file descriptor of a directory stream.
+
+=item C<d_dirnamlen>
+
+From F<i_dirent.U>:
+
+This variable conditionally defines C<DIRNAMLEN>, which indicates
+to the C program that the length of directory entry names is
+provided by a d_namelen field.
+
+=item C<d_dladdr>
+
+From F<d_dladdr.U>:
+
+This variable conditionally defines the C<HAS_DLADDR> symbol, which
+indicates to the C program that the dladdr() routine is available
+to get a stack trace.
+
+=item C<d_dlerror>
+
+From F<d_dlerror.U>:
+
+This variable conditionally defines the C<HAS_DLERROR> symbol, which
+indicates to the C program that the dlerror() routine is available.
+
+=item C<d_dlopen>
+
+From F<d_dlopen.U>:
+
+This variable conditionally defines the C<HAS_DLOPEN> symbol, which
+indicates to the C program that the dlopen() routine is available.
+
+=item C<d_dlsymun>
+
+From F<d_dlsymun.U>:
+
+This variable conditionally defines C<DLSYM_NEEDS_UNDERSCORE>, which
+indicates that we need to prepend an underscore to the symbol
+name before calling dlsym().
+
+=item C<d_dosuid>
+
+From F<d_dosuid.U>:
+
+This variable conditionally defines the symbol C<DOSUID>, which
+tells the C program that it should insert setuid emulation code
+on hosts which have setuid #! scripts disabled.
+
+=item C<d_double_has_inf>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the symbol C<DOUBLE_HAS_INF>
+which indicates that the double type has an infinity.
+
+=item C<d_double_has_nan>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the symbol C<DOUBLE_HAS_NAN>
+which indicates that the double type has a not-a-number.
+
+=item C<d_double_has_negative_zero>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the symbol C<DOUBLE_HAS_NEGATIVE_ZERO>
+which indicates that the double type has a negative zero.
+
+=item C<d_double_has_subnormals>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the symbol C<DOUBLE_HAS_SUBNORMALS>
+which indicates that the double type has subnormals (denormals).
+
+=item C<d_double_style_cray>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the symbol C<DOUBLE_STYLE_CRAY>
+which indicates that the double is the 64-bit C<CRAY> mainframe format.
+
+=item C<d_double_style_ibm>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the symbol C<DOUBLE_STYLE_IBM>,
+which indicates that the double is the 64-bit C<IBM> mainframe format.
+
+=item C<d_double_style_ieee>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the symbol C<DOUBLE_STYLE_IEEE>,
+which indicates that the double is the 64-bit C<IEEE> 754.
+
+=item C<d_double_style_vax>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the symbol C<DOUBLE_STYLE_VAX>,
+which indicates that the double is the 64-bit C<VAX> format D or G.
+
+=item C<d_drand48_r>
+
+From F<d_drand48_r.U>:
+
+This variable conditionally defines the HAS_DRAND48_R symbol,
+which indicates to the C program that the drand48_r()
+routine is available.
+
+=item C<d_drand48proto>
+
+From F<d_drand48proto.U>:
+
+This variable conditionally defines the HAS_DRAND48_PROTO symbol,
+which indicates to the C program that the system provides
+a prototype for the drand48() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_dup2>
+
+From F<d_dup2.U>:
+
+This variable conditionally defines HAS_DUP2 if dup2() is
+available to duplicate file descriptors.
+
+=item C<d_dup3>
+
+From F<d_dup3.U>:
+
+This variable conditionally defines HAS_DUP3 if dup3() is
+available to duplicate file descriptors.
+
+=item C<d_duplocale>
+
+From F<d_newlocale.U>:
+
+This variable conditionally defines the C<HAS_DUPLOCALE> symbol, which
+indicates to the C program that the duplocale() routine is available
+to duplicate a locale object.
+
+=item C<d_eaccess>
+
+From F<d_eaccess.U>:
+
+This variable conditionally defines the C<HAS_EACCESS> symbol, which
+indicates to the C program that the eaccess() routine is available.
+
+=item C<d_endgrent>
+
+From F<d_endgrent.U>:
+
+This variable conditionally defines the C<HAS_ENDGRENT> symbol, which
+indicates to the C program that the endgrent() routine is available
+for sequential access of the group database.
+
+=item C<d_endgrent_r>
+
+From F<d_endgrent_r.U>:
+
+This variable conditionally defines the C<HAS_ENDGRENT_R> symbol,
+which indicates to the C program that the endgrent_r()
+routine is available.
+
+=item C<d_endhent>
+
+From F<d_endhent.U>:
+
+This variable conditionally defines C<HAS_ENDHOSTENT> if endhostent() is
+available to close whatever was being used for host queries.
+
+=item C<d_endhostent_r>
+
+From F<d_endhostent_r.U>:
+
+This variable conditionally defines the C<HAS_ENDHOSTENT_R> symbol,
+which indicates to the C program that the endhostent_r()
+routine is available.
+
+=item C<d_endnent>
+
+From F<d_endnent.U>:
+
+This variable conditionally defines C<HAS_ENDNETENT> if endnetent() is
+available to close whatever was being used for network queries.
+
+=item C<d_endnetent_r>
+
+From F<d_endnetent_r.U>:
+
+This variable conditionally defines the C<HAS_ENDNETENT_R> symbol,
+which indicates to the C program that the endnetent_r()
+routine is available.
+
+=item C<d_endpent>
+
+From F<d_endpent.U>:
+
+This variable conditionally defines C<HAS_ENDPROTOENT> if endprotoent() is
+available to close whatever was being used for protocol queries.
+
+=item C<d_endprotoent_r>
+
+From F<d_endprotoent_r.U>:
+
+This variable conditionally defines the C<HAS_ENDPROTOENT_R> symbol,
+which indicates to the C program that the endprotoent_r()
+routine is available.
+
+=item C<d_endpwent>
+
+From F<d_endpwent.U>:
+
+This variable conditionally defines the C<HAS_ENDPWENT> symbol, which
+indicates to the C program that the endpwent() routine is available
+for sequential access of the passwd database.
+
+=item C<d_endpwent_r>
+
+From F<d_endpwent_r.U>:
+
+This variable conditionally defines the C<HAS_ENDPWENT_R> symbol,
+which indicates to the C program that the endpwent_r()
+routine is available.
+
+=item C<d_endsent>
+
+From F<d_endsent.U>:
+
+This variable conditionally defines C<HAS_ENDSERVENT> if endservent() is
+available to close whatever was being used for service queries.
+
+=item C<d_endservent_r>
+
+From F<d_endservent_r.U>:
+
+This variable conditionally defines the C<HAS_ENDSERVENT_R> symbol,
+which indicates to the C program that the endservent_r()
+routine is available.
+
+=item C<d_eofnblk>
+
+From F<nblock_io.U>:
+
+This variable conditionally defines C<EOF_NONBLOCK> if C<EOF> can be seen
+when reading from a non-blocking I/O source.
+
+=item C<d_erf>
+
+From F<d_erf.U>:
+
+This variable conditionally defines the C<HAS_ERF> symbol, which
+indicates to the C program that the erf() routine is available.
+
+=item C<d_erfc>
+
+From F<d_erfc.U>:
+
+This variable conditionally defines the C<HAS_ERFC> symbol, which
+indicates to the C program that the erfc() routine is available.
+
+=item C<d_eunice>
+
+From F<Guess.U>:
+
+This variable conditionally defines the symbols C<EUNICE> and C<VAX>, which
+alerts the C program that it must deal with idiosyncrasies of C<VMS>.
+
+=item C<d_exp2>
+
+From F<d_exp2.U>:
+
+This variable conditionally defines the HAS_EXP2 symbol, which
+indicates to the C program that the exp2() routine is available.
+
+=item C<d_expm1>
+
+From F<d_expm1.U>:
+
+This variable conditionally defines the HAS_EXPM1 symbol, which
+indicates to the C program that the expm1() routine is available.
+
+=item C<d_faststdio>
+
+From F<d_faststdio.U>:
+
+This variable conditionally defines the C<HAS_FAST_STDIO> symbol,
+which indicates to the C program that the "fast stdio" is available
+to manipulate the stdio buffers directly.
+
+=item C<d_fchdir>
+
+From F<d_fchdir.U>:
+
+This variable conditionally defines the C<HAS_FCHDIR> symbol, which
+indicates to the C program that the fchdir() routine is available.
+
+=item C<d_fchmod>
+
+From F<d_fchmod.U>:
+
+This variable conditionally defines the C<HAS_FCHMOD> symbol, which
+indicates to the C program that the fchmod() routine is available
+to change mode of opened files.
+
+=item C<d_fchmodat>
+
+From F<d_fsat.U>:
+
+This variable conditionally defines the C<HAS_FCHMODAT> symbol, which
+indicates the C<POSIX> fchmodat() function is available.
+
+=item C<d_fchown>
+
+From F<d_fchown.U>:
+
+This variable conditionally defines the C<HAS_FCHOWN> symbol, which
+indicates to the C program that the fchown() routine is available
+to change ownership of opened files.
+
+=item C<d_fcntl>
+
+From F<d_fcntl.U>:
+
+This variable conditionally defines the C<HAS_FCNTL> symbol, and indicates
+whether the fcntl() function exists
+
+=item C<d_fcntl_can_lock>
+
+From F<d_fcntl_can_lock.U>:
+
+This variable conditionally defines the C<FCNTL_CAN_LOCK> symbol
+and indicates whether file locking with fcntl() works.
+
+=item C<d_fd_macros>
+
+From F<d_fd_set.U>:
+
+This variable contains the eventual value of the C<HAS_FD_MACROS> symbol,
+which indicates if your C compiler knows about the macros which
+manipulate an fd_set.
+
+=item C<d_fd_set>
+
+From F<d_fd_set.U>:
+
+This variable contains the eventual value of the C<HAS_FD_SET> symbol,
+which indicates if your C compiler knows about the fd_set typedef.
+
+=item C<d_fdclose>
+
+From F<d_fdclose.U>:
+
+This variable conditionally defines the C<HAS_FDCLOSE> symbol, which
+indicates to the C program that the fdclose() routine is available.
+
+=item C<d_fdim>
+
+From F<d_fdim.U>:
+
+This variable conditionally defines the C<HAS_FDIM> symbol, which
+indicates to the C program that the fdim() routine is available.
+
+=item C<d_fds_bits>
+
+From F<d_fd_set.U>:
+
+This variable contains the eventual value of the C<HAS_FDS_BITS> symbol,
+which indicates if your fd_set typedef contains the fds_bits member.
+If you have an fd_set typedef, but the dweebs who installed it did
+a half-fast job and neglected to provide the macros to manipulate
+an fd_set, C<HAS_FDS_BITS> will let us know how to fix the gaffe.
+
+=item C<d_fegetround>
+
+From F<d_fegetround.U>:
+
+This variable conditionally defines C<HAS_FEGETROUND> if fegetround() is
+available to get the floating point rounding mode.
+
+=item C<d_fgetpos>
+
+From F<d_fgetpos.U>:
+
+This variable conditionally defines C<HAS_FGETPOS> if fgetpos() is
+available to get the file position indicator.
+
+=item C<d_finite>
+
+From F<d_finite.U>:
+
+This variable conditionally defines the C<HAS_FINITE> symbol, which
+indicates to the C program that the finite() routine is available.
+
+=item C<d_finitel>
+
+From F<d_finitel.U>:
+
+This variable conditionally defines the C<HAS_FINITEL> symbol, which
+indicates to the C program that the finitel() routine is available.
+
+=item C<d_flexfnam>
+
+From F<d_flexfnam.U>:
+
+This variable conditionally defines the C<FLEXFILENAMES> symbol, which
+indicates that the system supports filenames longer than 14 characters.
+
+=item C<d_flock>
+
+From F<d_flock.U>:
+
+This variable conditionally defines C<HAS_FLOCK> if flock() is
+available to do file locking.
+
+=item C<d_flockproto>
+
+From F<d_flockproto.U>:
+
+This variable conditionally defines the C<HAS_FLOCK_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the flock() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_fma>
+
+From F<d_fma.U>:
+
+This variable conditionally defines the C<HAS_FMA> symbol, which
+indicates to the C program that the fma() routine is available.
+
+=item C<d_fmax>
+
+From F<d_fmax.U>:
+
+This variable conditionally defines the C<HAS_FMAX> symbol, which
+indicates to the C program that the fmax() routine is available.
+
+=item C<d_fmin>
+
+From F<d_fmin.U>:
+
+This variable conditionally defines the C<HAS_FMIN> symbol, which
+indicates to the C program that the fmin() routine is available.
+
+=item C<d_fork>
+
+From F<d_fork.U>:
+
+This variable conditionally defines the C<HAS_FORK> symbol, which
+indicates to the C program that the fork() routine is available.
+
+=item C<d_fp_class>
+
+From F<d_fp_class.U>:
+
+This variable conditionally defines the C<HAS_FP_CLASS> symbol, which
+indicates to the C program that the fp_class() routine is available.
+
+=item C<d_fp_classify>
+
+From F<d_fpclassify.U>:
+
+This variable conditionally defines the C<HAS_FP_CLASSIFY> symbol, which
+indicates to the C program that the fp_classify() routine is available.
+
+=item C<d_fp_classl>
+
+From F<d_fp_classl.U>:
+
+This variable conditionally defines the C<HAS_FP_CLASSL> symbol, which
+indicates to the C program that the fp_classl() routine is available.
+
+=item C<d_fpathconf>
+
+From F<d_pathconf.U>:
+
+This variable conditionally defines the C<HAS_FPATHCONF> symbol, which
+indicates to the C program that the pathconf() routine is available
+to determine file-system related limits and options associated
+with a given open file descriptor.
+
+=item C<d_fpclass>
+
+From F<d_fpclass.U>:
+
+This variable conditionally defines the C<HAS_FPCLASS> symbol, which
+indicates to the C program that the fpclass() routine is available.
+
+=item C<d_fpclassify>
+
+From F<d_fpclassify.U>:
+
+This variable conditionally defines the C<HAS_FPCLASSIFY> symbol, which
+indicates to the C program that the fpclassify() routine is available.
+
+=item C<d_fpclassl>
+
+From F<d_fpclassl.U>:
+
+This variable conditionally defines the C<HAS_FPCLASSL> symbol, which
+indicates to the C program that the fpclassl() routine is available.
+
+=item C<d_fpgetround>
+
+From F<d_fpgetround.U>:
+
+This variable conditionally defines C<HAS_FPGETROUND> if fpgetround()
+is available to get the floating point rounding mode.
+
+=item C<d_fpos64_t>
+
+From F<d_fpos64_t.U>:
+
+This symbol will be defined if the C compiler supports fpos64_t.
+
+=item C<d_freelocale>
+
+From F<d_newlocale.U>:
+
+This variable conditionally defines the C<HAS_FREELOCALE> symbol, which
+indicates to the C program that the freelocale() routine is available
+to deallocates the resources associated with a locale object.
+
+=item C<d_frexpl>
+
+From F<d_frexpl.U>:
+
+This variable conditionally defines the C<HAS_FREXPL> symbol, which
+indicates to the C program that the frexpl() routine is available.
+
+=item C<d_fs_data_s>
+
+From F<d_fs_data_s.U>:
+
+This variable conditionally defines the C<HAS_STRUCT_FS_DATA> symbol,
+which indicates that the struct fs_data is supported.
+
+=item C<d_fseeko>
+
+From F<d_fseeko.U>:
+
+This variable conditionally defines the C<HAS_FSEEKO> symbol, which
+indicates to the C program that the fseeko() routine is available.
+
+=item C<d_fsetpos>
+
+From F<d_fsetpos.U>:
+
+This variable conditionally defines C<HAS_FSETPOS> if fsetpos() is
+available to set the file position indicator.
+
+=item C<d_fstatfs>
+
+From F<d_fstatfs.U>:
+
+This variable conditionally defines the C<HAS_FSTATFS> symbol, which
+indicates to the C program that the fstatfs() routine is available.
+
+=item C<d_fstatvfs>
+
+From F<d_statvfs.U>:
+
+This variable conditionally defines the C<HAS_FSTATVFS> symbol, which
+indicates to the C program that the fstatvfs() routine is available.
+
+=item C<d_fsync>
+
+From F<d_fsync.U>:
+
+This variable conditionally defines the C<HAS_FSYNC> symbol, which
+indicates to the C program that the fsync() routine is available.
+
+=item C<d_ftello>
+
+From F<d_ftello.U>:
+
+This variable conditionally defines the C<HAS_FTELLO> symbol, which
+indicates to the C program that the ftello() routine is available.
+
+=item C<d_ftime>
+
+From F<d_ftime.U>:
+
+This variable conditionally defines the C<HAS_FTIME> symbol, which indicates
+that the ftime() routine exists. The ftime() routine is basically
+a sub-second accuracy clock.
+
+=item C<d_futimes>
+
+From F<d_futimes.U>:
+
+This variable conditionally defines the C<HAS_FUTIMES> symbol, which
+indicates to the C program that the futimes() routine is available.
+
+=item C<d_gai_strerror>
+
+From F<d_gai_strerror.U>:
+
+This variable conditionally defines the C<HAS_GAI_STRERROR> symbol
+if the gai_strerror() routine is available and can be used to
+translate error codes returned by getaddrinfo() into human
+readable strings.
+
+=item C<d_Gconvert>
+
+From F<d_gconvert.U>:
+
+This variable holds what Gconvert is defined as to convert
+floating point numbers into strings. By default, Configure
+sets C<this> macro to use the first of gconvert, gcvt, or sprintf
+that pass sprintf-%g-like behavior tests. If perl is using
+long doubles, the macro uses the first of the following
+functions that pass Configure's tests: qgcvt, sprintf (if
+Configure knows how to make sprintf format long doubles--see
+sPRIgldbl), gconvert, gcvt, and sprintf (casting to double).
+The gconvert_preference and gconvert_ld_preference variables
+can be used to alter Configure's preferences, for doubles and
+long doubles, respectively. If present, they contain a
+space-separated list of one or more of the above function
+names in the order they should be tried.
+
+d_Gconvert may be set to override Configure with a platform-
+specific function. If this function expects a double, a
+different value may need to be set by the F<uselongdouble.cbu>
+call-back unit so that long doubles can be formatted without
+loss of precision.
+
+=item C<d_gdbm_ndbm_h_uses_prototypes>
+
+From F<i_ndbm.U>:
+
+This variable conditionally defines the C<NDBM_H_USES_PROTOTYPES> symbol,
+which indicates that the gdbm-F<ndbm.h> include file uses real C<ANSI> C
+prototypes instead of K&R style function declarations. K&R style
+declarations are unsupported in C++, so the include file requires
+special handling when using a C++ compiler and this variable is
+undefined. Consult the different d_*ndbm_h_uses_prototypes variables
+to get the same information for alternative F<ndbm.h> include files.
+
+=item C<d_gdbmndbm_h_uses_prototypes>
+
+From F<i_ndbm.U>:
+
+This variable conditionally defines the C<NDBM_H_USES_PROTOTYPES> symbol,
+which indicates that the F<gdbm/ndbm.h> include file uses real C<ANSI> C
+prototypes instead of K&R style function declarations. K&R style
+declarations are unsupported in C++, so the include file requires
+special handling when using a C++ compiler and this variable is
+undefined. Consult the different d_*ndbm_h_uses_prototypes variables
+to get the same information for alternative F<ndbm.h> include files.
+
+=item C<d_getaddrinfo>
+
+From F<d_getaddrinfo.U>:
+
+This variable conditionally defines the C<HAS_GETADDRINFO> symbol,
+which indicates to the C program that the getaddrinfo() function
+is available.
+
+=item C<d_getcwd>
+
+From F<d_getcwd.U>:
+
+This variable conditionally defines the C<HAS_GETCWD> symbol, which
+indicates to the C program that the getcwd() routine is available
+to get the current working directory.
+
+=item C<d_getespwnam>
+
+From F<d_getespwnam.U>:
+
+This variable conditionally defines C<HAS_GETESPWNAM> if getespwnam() is
+available to retrieve enhanced (shadow) password entries by name.
+
+=item C<d_getfsstat>
+
+From F<d_getfsstat.U>:
+
+This variable conditionally defines the C<HAS_GETFSSTAT> symbol, which
+indicates to the C program that the getfsstat() routine is available.
+
+=item C<d_getgrent>
+
+From F<d_getgrent.U>:
+
+This variable conditionally defines the C<HAS_GETGRENT> symbol, which
+indicates to the C program that the getgrent() routine is available
+for sequential access of the group database.
+
+=item C<d_getgrent_r>
+
+From F<d_getgrent_r.U>:
+
+This variable conditionally defines the C<HAS_GETGRENT_R> symbol,
+which indicates to the C program that the getgrent_r()
+routine is available.
+
+=item C<d_getgrgid_r>
+
+From F<d_getgrgid_r.U>:
+
+This variable conditionally defines the C<HAS_GETGRGID_R> symbol,
+which indicates to the C program that the getgrgid_r()
+routine is available.
+
+=item C<d_getgrnam_r>
+
+From F<d_getgrnam_r.U>:
+
+This variable conditionally defines the C<HAS_GETGRNAM_R> symbol,
+which indicates to the C program that the getgrnam_r()
+routine is available.
+
+=item C<d_getgrps>
+
+From F<d_getgrps.U>:
+
+This variable conditionally defines the C<HAS_GETGROUPS> symbol, which
+indicates to the C program that the getgroups() routine is available
+to get the list of process groups.
+
+=item C<d_gethbyaddr>
+
+From F<d_gethbyad.U>:
+
+This variable conditionally defines the C<HAS_GETHOSTBYADDR> symbol, which
+indicates to the C program that the gethostbyaddr() routine is available
+to look up hosts by their C<IP> addresses.
+
+=item C<d_gethbyname>
+
+From F<d_gethbynm.U>:
+
+This variable conditionally defines the C<HAS_GETHOSTBYNAME> symbol, which
+indicates to the C program that the gethostbyname() routine is available
+to look up host names in some data base or other.
+
+=item C<d_gethent>
+
+From F<d_gethent.U>:
+
+This variable conditionally defines C<HAS_GETHOSTENT> if gethostent() is
+available to look up host names in some data base or another.
+
+=item C<d_gethname>
+
+From F<d_gethname.U>:
+
+This variable conditionally defines the C<HAS_GETHOSTNAME> symbol, which
+indicates to the C program that the gethostname() routine may be
+used to derive the host name.
+
+=item C<d_gethostbyaddr_r>
+
+From F<d_gethostbyaddr_r.U>:
+
+This variable conditionally defines the C<HAS_GETHOSTBYADDR_R> symbol,
+which indicates to the C program that the gethostbyaddr_r()
+routine is available.
+
+=item C<d_gethostbyname_r>
+
+From F<d_gethostbyname_r.U>:
+
+This variable conditionally defines the C<HAS_GETHOSTBYNAME_R> symbol,
+which indicates to the C program that the gethostbyname_r()
+routine is available.
+
+=item C<d_gethostent_r>
+
+From F<d_gethostent_r.U>:
+
+This variable conditionally defines the C<HAS_GETHOSTENT_R> symbol,
+which indicates to the C program that the gethostent_r()
+routine is available.
+
+=item C<d_gethostprotos>
+
+From F<d_gethostprotos.U>:
+
+This variable conditionally defines the C<HAS_GETHOST_PROTOS> symbol,
+which indicates to the C program that <netdb.h> supplies
+prototypes for the various gethost*() functions.
+See also F<netdbtype.U> for probing for various netdb types.
+
+=item C<d_getitimer>
+
+From F<d_getitimer.U>:
+
+This variable conditionally defines the C<HAS_GETITIMER> symbol, which
+indicates to the C program that the getitimer() routine is available.
+
+=item C<d_getlogin>
+
+From F<d_getlogin.U>:
+
+This variable conditionally defines the C<HAS_GETLOGIN> symbol, which
+indicates to the C program that the getlogin() routine is available
+to get the login name.
+
+=item C<d_getlogin_r>
+
+From F<d_getlogin_r.U>:
+
+This variable conditionally defines the C<HAS_GETLOGIN_R> symbol,
+which indicates to the C program that the getlogin_r()
+routine is available.
+
+=item C<d_getmnt>
+
+From F<d_getmnt.U>:
+
+This variable conditionally defines the C<HAS_GETMNT> symbol, which
+indicates to the C program that the getmnt() routine is available
+to retrieve one or more mount info blocks by filename.
+
+=item C<d_getmntent>
+
+From F<d_getmntent.U>:
+
+This variable conditionally defines the C<HAS_GETMNTENT> symbol, which
+indicates to the C program that the getmntent() routine is available
+to iterate through mounted files to get their mount info.
+
+=item C<d_getnameinfo>
+
+From F<d_getnameinfo.U>:
+
+This variable conditionally defines the C<HAS_GETNAMEINFO> symbol,
+which indicates to the C program that the getnameinfo() function
+is available.
+
+=item C<d_getnbyaddr>
+
+From F<d_getnbyad.U>:
+
+This variable conditionally defines the C<HAS_GETNETBYADDR> symbol, which
+indicates to the C program that the getnetbyaddr() routine is available
+to look up networks by their C<IP> addresses.
+
+=item C<d_getnbyname>
+
+From F<d_getnbynm.U>:
+
+This variable conditionally defines the C<HAS_GETNETBYNAME> symbol, which
+indicates to the C program that the getnetbyname() routine is available
+to look up networks by their names.
+
+=item C<d_getnent>
+
+From F<d_getnent.U>:
+
+This variable conditionally defines C<HAS_GETNETENT> if getnetent() is
+available to look up network names in some data base or another.
+
+=item C<d_getnetbyaddr_r>
+
+From F<d_getnetbyaddr_r.U>:
+
+This variable conditionally defines the C<HAS_GETNETBYADDR_R> symbol,
+which indicates to the C program that the getnetbyaddr_r()
+routine is available.
+
+=item C<d_getnetbyname_r>
+
+From F<d_getnetbyname_r.U>:
+
+This variable conditionally defines the C<HAS_GETNETBYNAME_R> symbol,
+which indicates to the C program that the getnetbyname_r()
+routine is available.
+
+=item C<d_getnetent_r>
+
+From F<d_getnetent_r.U>:
+
+This variable conditionally defines the C<HAS_GETNETENT_R> symbol,
+which indicates to the C program that the getnetent_r()
+routine is available.
+
+=item C<d_getnetprotos>
+
+From F<d_getnetprotos.U>:
+
+This variable conditionally defines the C<HAS_GETNET_PROTOS> symbol,
+which indicates to the C program that <netdb.h> supplies
+prototypes for the various getnet*() functions.
+See also F<netdbtype.U> for probing for various netdb types.
+
+=item C<d_getpagsz>
+
+From F<d_getpagsz.U>:
+
+This variable conditionally defines C<HAS_GETPAGESIZE> if getpagesize()
+is available to get the system page size.
+
+=item C<d_getpbyname>
+
+From F<d_getprotby.U>:
+
+This variable conditionally defines the C<HAS_GETPROTOBYNAME>
+symbol, which indicates to the C program that the
+getprotobyname() routine is available to look up protocols
+by their name.
+
+=item C<d_getpbynumber>
+
+From F<d_getprotby.U>:
+
+This variable conditionally defines the C<HAS_GETPROTOBYNUMBER>
+symbol, which indicates to the C program that the
+getprotobynumber() routine is available to look up protocols
+by their number.
+
+=item C<d_getpent>
+
+From F<d_getpent.U>:
+
+This variable conditionally defines C<HAS_GETPROTOENT> if getprotoent() is
+available to look up protocols in some data base or another.
+
+=item C<d_getpgid>
+
+From F<d_getpgid.U>:
+
+This variable conditionally defines the C<HAS_GETPGID> symbol, which
+indicates to the C program that the getpgid(pid) function
+is available to get the process group id.
+
+=item C<d_getpgrp>
+
+From F<d_getpgrp.U>:
+
+This variable conditionally defines C<HAS_GETPGRP> if getpgrp() is
+available to get the current process group.
+
+=item C<d_getpgrp2>
+
+From F<d_getpgrp2.U>:
+
+This variable conditionally defines the HAS_GETPGRP2 symbol, which
+indicates to the C program that the getpgrp2() (as in F<DG/C<UX>>) routine
+is available to get the current process group.
+
+=item C<d_getppid>
+
+From F<d_getppid.U>:
+
+This variable conditionally defines the C<HAS_GETPPID> symbol, which
+indicates to the C program that the getppid() routine is available
+to get the parent process C<ID>.
+
+=item C<d_getprior>
+
+From F<d_getprior.U>:
+
+This variable conditionally defines C<HAS_GETPRIORITY> if getpriority()
+is available to get a process's priority.
+
+=item C<d_getprotobyname_r>
+
+From F<d_getprotobyname_r.U>:
+
+This variable conditionally defines the C<HAS_GETPROTOBYNAME_R> symbol,
+which indicates to the C program that the getprotobyname_r()
+routine is available.
+
+=item C<d_getprotobynumber_r>
+
+From F<d_getprotobynumber_r.U>:
+
+This variable conditionally defines the C<HAS_GETPROTOBYNUMBER_R> symbol,
+which indicates to the C program that the getprotobynumber_r()
+routine is available.
+
+=item C<d_getprotoent_r>
+
+From F<d_getprotoent_r.U>:
+
+This variable conditionally defines the C<HAS_GETPROTOENT_R> symbol,
+which indicates to the C program that the getprotoent_r()
+routine is available.
+
+=item C<d_getprotoprotos>
+
+From F<d_getprotoprotos.U>:
+
+This variable conditionally defines the C<HAS_GETPROTO_PROTOS> symbol,
+which indicates to the C program that <netdb.h> supplies
+prototypes for the various getproto*() functions.
+See also F<netdbtype.U> for probing for various netdb types.
+
+=item C<d_getprpwnam>
+
+From F<d_getprpwnam.U>:
+
+This variable conditionally defines C<HAS_GETPRPWNAM> if getprpwnam() is
+available to retrieve protected (shadow) password entries by name.
+
+=item C<d_getpwent>
+
+From F<d_getpwent.U>:
+
+This variable conditionally defines the C<HAS_GETPWENT> symbol, which
+indicates to the C program that the getpwent() routine is available
+for sequential access of the passwd database.
+
+=item C<d_getpwent_r>
+
+From F<d_getpwent_r.U>:
+
+This variable conditionally defines the C<HAS_GETPWENT_R> symbol,
+which indicates to the C program that the getpwent_r()
+routine is available.
+
+=item C<d_getpwnam_r>
+
+From F<d_getpwnam_r.U>:
+
+This variable conditionally defines the C<HAS_GETPWNAM_R> symbol,
+which indicates to the C program that the getpwnam_r()
+routine is available.
+
+=item C<d_getpwuid_r>
+
+From F<d_getpwuid_r.U>:
+
+This variable conditionally defines the C<HAS_GETPWUID_R> symbol,
+which indicates to the C program that the getpwuid_r()
+routine is available.
+
+=item C<d_getsbyname>
+
+From F<d_getsrvby.U>:
+
+This variable conditionally defines the C<HAS_GETSERVBYNAME>
+symbol, which indicates to the C program that the
+getservbyname() routine is available to look up services
+by their name.
+
+=item C<d_getsbyport>
+
+From F<d_getsrvby.U>:
+
+This variable conditionally defines the C<HAS_GETSERVBYPORT>
+symbol, which indicates to the C program that the
+getservbyport() routine is available to look up services
+by their port.
+
+=item C<d_getsent>
+
+From F<d_getsent.U>:
+
+This variable conditionally defines C<HAS_GETSERVENT> if getservent() is
+available to look up network services in some data base or another.
+
+=item C<d_getservbyname_r>
+
+From F<d_getservbyname_r.U>:
+
+This variable conditionally defines the C<HAS_GETSERVBYNAME_R> symbol,
+which indicates to the C program that the getservbyname_r()
+routine is available.
+
+=item C<d_getservbyport_r>
+
+From F<d_getservbyport_r.U>:
+
+This variable conditionally defines the C<HAS_GETSERVBYPORT_R> symbol,
+which indicates to the C program that the getservbyport_r()
+routine is available.
+
+=item C<d_getservent_r>
+
+From F<d_getservent_r.U>:
+
+This variable conditionally defines the C<HAS_GETSERVENT_R> symbol,
+which indicates to the C program that the getservent_r()
+routine is available.
+
+=item C<d_getservprotos>
+
+From F<d_getservprotos.U>:
+
+This variable conditionally defines the C<HAS_GETSERV_PROTOS> symbol,
+which indicates to the C program that <netdb.h> supplies
+prototypes for the various getserv*() functions.
+See also F<netdbtype.U> for probing for various netdb types.
+
+=item C<d_getspnam>
+
+From F<d_getspnam.U>:
+
+This variable conditionally defines C<HAS_GETSPNAM> if getspnam() is
+available to retrieve SysV shadow password entries by name.
+
+=item C<d_getspnam_r>
+
+From F<d_getspnam_r.U>:
+
+This variable conditionally defines the C<HAS_GETSPNAM_R> symbol,
+which indicates to the C program that the getspnam_r()
+routine is available.
+
+=item C<d_gettimeod>
+
+From F<d_ftime.U>:
+
+This variable conditionally defines the C<HAS_GETTIMEOFDAY> symbol, which
+indicates that the gettimeofday() system call exists (to obtain a
+sub-second accuracy clock). You should probably include <sys/resource.h>.
+
+=item C<d_gmtime64>
+
+From F<d_timefuncs64.U>:
+
+This variable conditionally defines the HAS_GMTIME64 symbol, which
+indicates to the C program that the gmtime64 () routine is available.
+
+=item C<d_gmtime_r>
+
+From F<d_gmtime_r.U>:
+
+This variable conditionally defines the C<HAS_GMTIME_R> symbol,
+which indicates to the C program that the gmtime_r()
+routine is available.
+
+=item C<d_gnulibc>
+
+From F<d_gnulibc.U>:
+
+Defined if we're dealing with the C<GNU> C Library.
+
+=item C<d_grpasswd>
+
+From F<i_grp.U>:
+
+This variable conditionally defines C<GRPASSWD>, which indicates
+that struct group in <grp.h> contains gr_passwd.
+
+=item C<d_hasmntopt>
+
+From F<d_hasmntopt.U>:
+
+This variable conditionally defines the C<HAS_HASMNTOPT> symbol, which
+indicates to the C program that the hasmntopt() routine is available
+to query the mount options of file systems.
+
+=item C<d_htonl>
+
+From F<d_htonl.U>:
+
+This variable conditionally defines C<HAS_HTONL> if htonl() and its
+friends are available to do network order byte swapping.
+
+=item C<d_hypot>
+
+From F<d_hypot.U>:
+
+This variable conditionally defines C<HAS_HYPOT> if hypot is available
+for numerically stable hypotenuse function.
+
+=item C<d_ilogb>
+
+From F<d_ilogb.U>:
+
+This variable conditionally defines the C<HAS_ILOGB> symbol, which
+indicates to the C program that the ilogb() routine is available
+for extracting the exponent of double x as a signed integer.
+
+=item C<d_ilogbl>
+
+From F<d_ilogbl.U>:
+
+This variable conditionally defines the C<HAS_ILOGBL> symbol, which
+indicates to the C program that the ilogbl() routine is available
+for extracting the exponent of long double x as a signed integer.
+If scalbnl is also present we can emulate frexpl.
+
+=item C<d_inc_version_list>
+
+From F<inc_version_list.U>:
+
+This variable conditionally defines C<PERL_INC_VERSION_LIST>.
+It is set to undef when C<PERL_INC_VERSION_LIST> is empty.
+
+=item C<d_inetaton>
+
+From F<d_inetaton.U>:
+
+This variable conditionally defines the C<HAS_INET_ATON> symbol, which
+indicates to the C program that the inet_aton() function is available
+to parse C<IP> address C<dotted-quad> strings.
+
+=item C<d_inetntop>
+
+From F<d_inetntop.U>:
+
+This variable conditionally defines the C<HAS_INETNTOP> symbol,
+which indicates to the C program that the inet_ntop() function
+is available.
+
+=item C<d_inetpton>
+
+From F<d_inetpton.U>:
+
+This variable conditionally defines the C<HAS_INETPTON> symbol,
+which indicates to the C program that the inet_pton() function
+is available.
+
+=item C<d_int64_t>
+
+From F<d_int64_t.U>:
+
+This symbol will be defined if the C compiler supports int64_t.
+
+=item C<d_ip_mreq>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_IP_MREQ> symbol, which
+indicates the availability of a struct ip_mreq.
+
+=item C<d_ip_mreq_source>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_IP_MREQ_SOURCE> symbol,
+which indicates the availability of a struct ip_mreq_source.
+
+=item C<d_ipv6_mreq>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the HAS_IPV6_MREQ symbol, which
+indicates the availability of a struct ipv6_mreq.
+
+=item C<d_ipv6_mreq_source>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the HAS_IPV6_MREQ_SOURCE symbol,
+which indicates the availability of a struct ipv6_mreq_source.
+
+=item C<d_isascii>
+
+From F<d_isascii.U>:
+
+This variable conditionally defines the C<HAS_ISASCII> constant,
+which indicates to the C program that isascii() is available.
+
+=item C<d_isblank>
+
+From F<d_isblank.U>:
+
+This variable conditionally defines the C<HAS_ISBLANK> constant,
+which indicates to the C program that isblank() is available.
+
+=item C<d_isfinite>
+
+From F<d_isfinite.U>:
+
+This variable conditionally defines the C<HAS_ISFINITE> symbol, which
+indicates to the C program that the isfinite() routine is available.
+
+=item C<d_isfinitel>
+
+From F<d_isfinitel.U>:
+
+This variable conditionally defines the C<HAS_ISFINITEL> symbol, which
+indicates to the C program that the isfinitel() routine is available.
+
+=item C<d_isinf>
+
+From F<d_isinf.U>:
+
+This variable conditionally defines the C<HAS_ISINF> symbol, which
+indicates to the C program that the isinf() routine is available.
+
+=item C<d_isinfl>
+
+From F<d_isinfl.U>:
+
+This variable conditionally defines the C<HAS_ISINFL> symbol, which
+indicates to the C program that the isinfl() routine is available.
+
+=item C<d_isless>
+
+From F<d_isless.U>:
+
+This variable conditionally defines the C<HAS_ISLESS> symbol, which
+indicates to the C program that the isless() routine is available.
+
+=item C<d_isnan>
+
+From F<d_isnan.U>:
+
+This variable conditionally defines the C<HAS_ISNAN> symbol, which
+indicates to the C program that the isnan() routine is available.
+
+=item C<d_isnanl>
+
+From F<d_isnanl.U>:
+
+This variable conditionally defines the C<HAS_ISNANL> symbol, which
+indicates to the C program that the isnanl() routine is available.
+
+=item C<d_isnormal>
+
+From F<d_isnormal.U>:
+
+This variable conditionally defines the C<HAS_ISNORMAL> symbol, which
+indicates to the C program that the isnormal() routine is available.
+
+=item C<d_j0>
+
+From F<d_j0.U>:
+
+This variable conditionally defines the HAS_J0 symbol, which
+indicates to the C program that the j0() routine is available.
+
+=item C<d_j0l>
+
+From F<d_j0.U>:
+
+This variable conditionally defines the HAS_J0L symbol, which
+indicates to the C program that the j0l() routine is available.
+
+=item C<d_killpg>
+
+From F<d_killpg.U>:
+
+This variable conditionally defines the C<HAS_KILLPG> symbol, which
+indicates to the C program that the killpg() routine is available
+to kill process groups.
+
+=item C<d_lc_monetary_2008>
+
+From F<d_lc_monetary_2008.U>:
+
+This variable conditionally defines HAS_LC_MONETARY_2008 if libc
+has the international currency locale rules from C<POSIX>
+1003.1-2008.
+
+=item C<d_lchown>
+
+From F<d_lchown.U>:
+
+This variable conditionally defines the C<HAS_LCHOWN> symbol, which
+indicates to the C program that the lchown() routine is available
+to operate on a symbolic link (instead of following the link).
+
+=item C<d_ldbl_dig>
+
+From F<d_ldbl_dig.U>:
+
+This variable conditionally defines d_ldbl_dig if this system's
+header files provide C<LDBL_DIG>, which is the number of significant
+digits in a long double precision number.
+
+=item C<d_ldexpl>
+
+From F<d_longdbl.U>:
+
+This variable conditionally defines the C<HAS_LDEXPL> symbol, which
+indicates to the C program that the ldexpl() routine is available.
+
+=item C<d_lgamma>
+
+From F<d_lgamma.U>:
+
+This variable conditionally defines the C<HAS_LGAMMA> symbol, which
+indicates to the C program that the lgamma() routine is available
+for the log gamma function. See also d_tgamma and d_lgamma_r.
+
+=item C<d_lgamma_r>
+
+From F<d_lgamma_r.U>:
+
+This variable conditionally defines the C<HAS_LGAMMA_R> symbol, which
+indicates to the C program that the lgamma_r() routine is available
+for the log gamma function, without using the global signgam variable.
+
+=item C<d_libm_lib_version>
+
+From F<d_libm_lib_version.U>:
+
+This variable conditionally defines the C<LIBM_LIB_VERSION> symbol,
+which indicates to the C program that F<math.h> defines C<_LIB_VERSION>
+being available in libm
+
+=item C<d_libname_unique>
+
+From F<so.U>:
+
+This variable is defined if the target system insists on unique
+basenames for shared library files. This is currently true on Android,
+false everywhere else we know of.
+Defaults to C<undef>.
+
+=item C<d_link>
+
+From F<d_link.U>:
+
+This variable conditionally defines C<HAS_LINK> if link() is
+available to create hard links.
+
+=item C<d_linkat>
+
+From F<d_fsat.U>:
+
+This variable conditionally defines the C<HAS_LINKAT> symbol, which
+indicates the C<POSIX> linkat() function is available.
+
+=item C<d_llrint>
+
+From F<d_llrint.U>:
+
+This variable conditionally defines the C<HAS_LLRINT> symbol, which
+indicates to the C program that the llrint() routine is available
+to return the long long value closest to a double (according
+to the current rounding mode).
+
+=item C<d_llrintl>
+
+From F<d_llrintl.U>:
+
+This variable conditionally defines the C<HAS_LLRINTL> symbol, which
+indicates to the C program that the llrintl() routine is available
+to return the long long value closest to a long double (according
+to the current rounding mode).
+
+=item C<d_llround>
+
+From F<d_llround.U>:
+
+This variable conditionally defines the C<HAS_LLROUND> symbol, which
+indicates to the C program that the llround() routine is available
+to return the long long value nearest to x.
+
+=item C<d_llroundl>
+
+From F<d_llroundl.U>:
+
+This variable conditionally defines the C<HAS_LLROUNDL> symbol, which
+indicates to the C program that the llroundl() routine is available
+to return the long long value nearest to x away from zero.
+
+=item C<d_localeconv_l>
+
+From F<d_localeconv_l.U>:
+
+This variable conditionally defines the C<HAS_LOCALECONV_L> symbol, which
+indicates to the C program that the localeconv_l() routine is available.
+
+=item C<d_localtime64>
+
+From F<d_timefuncs64.U>:
+
+This variable conditionally defines the HAS_LOCALTIME64 symbol, which
+indicates to the C program that the localtime64 () routine is available.
+
+=item C<d_localtime_r>
+
+From F<d_localtime_r.U>:
+
+This variable conditionally defines the C<HAS_LOCALTIME_R> symbol,
+which indicates to the C program that the localtime_r()
+routine is available.
+
+=item C<d_localtime_r_needs_tzset>
+
+From F<d_localtime_r.U>:
+
+This variable conditionally defines the C<LOCALTIME_R_NEEDS_TZSET>
+symbol, which makes us call tzset before localtime_r()
+
+=item C<d_locconv>
+
+From F<d_locconv.U>:
+
+This variable conditionally defines C<HAS_LOCALECONV> if localeconv() is
+available for numeric and monetary formatting conventions.
+
+=item C<d_lockf>
+
+From F<d_lockf.U>:
+
+This variable conditionally defines C<HAS_LOCKF> if lockf() is
+available to do file locking.
+
+=item C<d_log1p>
+
+From F<d_log1p.U>:
+
+This variable conditionally defines the HAS_LOG1P symbol, which
+indicates to the C program that the logp1() routine is available
+to compute log(1 + x) for values of x close to zero.
+
+=item C<d_log2>
+
+From F<d_log2.U>:
+
+This variable conditionally defines the HAS_LOG2 symbol, which
+indicates to the C program that the log2() routine is available
+to compute log base two.
+
+=item C<d_logb>
+
+From F<d_logb.U>:
+
+This variable conditionally defines the C<HAS_LOGB> symbol, which
+indicates to the C program that the logb() routine is available
+to extract the exponent of x.
+
+=item C<d_long_double_style_ieee>
+
+From F<d_longdbl.U>:
+
+This variable conditionally defines C<LONG_DOUBLE_STYLE_IEEE>
+if the long double is any of the C<IEEE> 754 style long doubles:
+C<LONG_DOUBLE_STYLE_IEEE_STD>, C<LONG_DOUBLE_STYLE_IEEE_EXTENDED>,
+C<LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE>.
+
+=item C<d_long_double_style_ieee_doubledouble>
+
+From F<d_longdbl.U>:
+
+This variable conditionally defines C<LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE>
+if the long double is the 128-bit C<IEEE> 754 double-double.
+
+=item C<d_long_double_style_ieee_extended>
+
+From F<d_longdbl.U>:
+
+This variable conditionally defines C<LONG_DOUBLE_STYLE_IEEE_EXTENDED>
+if the long double is the 80-bit C<IEEE> 754 extended precision.
+Note that despite the C<extended> this is less than the C<std>,
+since thisis an extension of the double precision.
+
+=item C<d_long_double_style_ieee_std>
+
+From F<d_longdbl.U>:
+
+This variable conditionally defines C<LONG_DOUBLE_STYLE_IEEE_STD>
+if the long double is the 128-bit C<IEEE> 754.
+
+=item C<d_long_double_style_vax>
+
+From F<d_longdbl.U>:
+
+This variable conditionally defines C<LONG_DOUBLE_STYLE_VAX>
+if the long double is the 128-bit C<VAX> format H.
+
+=item C<d_longdbl>
+
+From F<d_longdbl.U>:
+
+This variable conditionally defines C<HAS_LONG_DOUBLE> if
+the long double type is supported.
+
+=item C<d_longlong>
+
+From F<d_longlong.U>:
+
+This variable conditionally defines C<HAS_LONG_LONG> if
+the long long type is supported.
+
+=item C<d_lrint>
+
+From F<d_lrint.U>:
+
+This variable conditionally defines the C<HAS_LRINT> symbol, which
+indicates to the C program that the lrint() routine is available
+to return the integral value closest to a double (according
+to the current rounding mode).
+
+=item C<d_lrintl>
+
+From F<d_lrintl.U>:
+
+This variable conditionally defines the C<HAS_LRINTL> symbol, which
+indicates to the C program that the lrintl() routine is available
+to return the integral value closest to a long double (according
+to the current rounding mode).
+
+=item C<d_lround>
+
+From F<d_lround.U>:
+
+This variable conditionally defines the C<HAS_LROUND> symbol, which
+indicates to the C program that the lround() routine is available
+to return the integral value nearest to x.
+
+=item C<d_lroundl>
+
+From F<d_lroundl.U>:
+
+This variable conditionally defines the C<HAS_LROUNDL> symbol, which
+indicates to the C program that the lroundl() routine is available
+to return the integral value nearest to x away from zero.
+
+=item C<d_lseekproto>
+
+From F<d_lseekproto.U>:
+
+This variable conditionally defines the C<HAS_LSEEK_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the lseek() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_lstat>
+
+From F<d_lstat.U>:
+
+This variable conditionally defines C<HAS_LSTAT> if lstat() is
+available to do file stats on symbolic links.
+
+=item C<d_madvise>
+
+From F<d_madvise.U>:
+
+This variable conditionally defines C<HAS_MADVISE> if madvise() is
+available to map a file into memory.
+
+=item C<d_malloc_good_size>
+
+From F<d_malloc_size.U>:
+
+This symbol, if defined, indicates that the malloc_good_size
+routine is available for use.
+
+=item C<d_malloc_size>
+
+From F<d_malloc_size.U>:
+
+This symbol, if defined, indicates that the malloc_size
+routine is available for use.
+
+=item C<d_mblen>
+
+From F<d_mblen.U>:
+
+This variable conditionally defines the C<HAS_MBLEN> symbol, which
+indicates to the C program that the mblen() routine is available
+to find the number of bytes in a multibye character.
+
+=item C<d_mbrlen>
+
+From F<d_mbrlen.U>:
+
+This variable conditionally defines the C<HAS_MBRLEN> symbol if the
+mbrlen() routine is available to be used to get the length of
+multi-byte character strings.
+
+=item C<d_mbrtowc>
+
+From F<d_mbrtowc.U>:
+
+This variable conditionally defines the C<HAS_MBRTOWC> symbol if the
+mbrtowc() routine is available to be used to convert a multi-byte
+character into a wide character.
+
+=item C<d_mbstowcs>
+
+From F<d_mbstowcs.U>:
+
+This variable conditionally defines the C<HAS_MBSTOWCS> symbol, which
+indicates to the C program that the mbstowcs() routine is available
+to convert a multibyte string into a wide character string.
+
+=item C<d_mbtowc>
+
+From F<d_mbtowc.U>:
+
+This variable conditionally defines the C<HAS_MBTOWC> symbol, which
+indicates to the C program that the mbtowc() routine is available
+to convert multibyte to a wide character.
+
+=item C<d_memmem>
+
+From F<d_memmem.U>:
+
+This variable conditionally defines the C<HAS_MEMMEM> symbol, which
+indicates to the C program that the memmem() routine is available
+to return a pointer to the start of the first occurance of a
+substring in a memory area (or C<NULL> if not found).
+
+=item C<d_memrchr>
+
+From F<d_memrchr.U>:
+
+This variable conditionally defines the C<HAS_MEMRCHR> symbol, which
+indicates to the C program that the memrchr() routine is available
+to return a pointer to the last occurrence of a byte in a memory
+area (or C<NULL> if not found).
+
+=item C<d_mkdir>
+
+From F<d_mkdir.U>:
+
+This variable conditionally defines the C<HAS_MKDIR> symbol, which
+indicates to the C program that the mkdir() routine is available
+to create F<directories.>.
+
+=item C<d_mkdtemp>
+
+From F<d_mkdtemp.U>:
+
+This variable conditionally defines the C<HAS_MKDTEMP> symbol, which
+indicates to the C program that the mkdtemp() routine is available
+to exclusively create a uniquely named temporary directory.
+
+=item C<d_mkfifo>
+
+From F<d_mkfifo.U>:
+
+This variable conditionally defines the C<HAS_MKFIFO> symbol, which
+indicates to the C program that the mkfifo() routine is available.
+
+=item C<d_mkostemp>
+
+From F<d_mkostemp.U>:
+
+This variable conditionally defines C<HAS_MKOSTEMP> if mkostemp() is
+available to exclusively create and open a uniquely named (with a
+suffix) temporary file.
+
+=item C<d_mkstemp>
+
+From F<d_mkstemp.U>:
+
+This variable conditionally defines the C<HAS_MKSTEMP> symbol, which
+indicates to the C program that the mkstemp() routine is available
+to exclusively create and open a uniquely named temporary file.
+
+=item C<d_mkstemps>
+
+From F<d_mkstemps.U>:
+
+This variable conditionally defines the C<HAS_MKSTEMPS> symbol, which
+indicates to the C program that the mkstemps() routine is available
+to exclusively create and open a uniquely named (with a suffix)
+temporary file.
+
+=item C<d_mktime>
+
+From F<d_mktime.U>:
+
+This variable conditionally defines the C<HAS_MKTIME> symbol, which
+indicates to the C program that the mktime() routine is available.
+
+=item C<d_mktime64>
+
+From F<d_timefuncs64.U>:
+
+This variable conditionally defines the HAS_MKTIME64 symbol, which
+indicates to the C program that the mktime64 () routine is available.
+
+=item C<d_mmap>
+
+From F<d_mmap.U>:
+
+This variable conditionally defines C<HAS_MMAP> if mmap() is
+available to map a file into memory.
+
+=item C<d_modfl>
+
+From F<d_modfl.U>:
+
+This variable conditionally defines the C<HAS_MODFL> symbol, which
+indicates to the C program that the modfl() routine is available.
+
+=item C<d_modflproto>
+
+From F<d_modfl.U>:
+
+This symbol, if defined, indicates that the system provides
+a prototype for the modfl() function. Otherwise, it is up
+to the program to supply one. C99 says it should be
+long double modfl(long double, long double *);
+
+=item C<d_mprotect>
+
+From F<d_mprotect.U>:
+
+This variable conditionally defines C<HAS_MPROTECT> if mprotect() is
+available to modify the access protection of a memory mapped file.
+
+=item C<d_msg>
+
+From F<d_msg.U>:
+
+This variable conditionally defines the C<HAS_MSG> symbol, which
+indicates that the entire msg*(2) library is present.
+
+=item C<d_msg_ctrunc>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_MSG_CTRUNC> symbol,
+which indicates that the C<MSG_CTRUNC> is available. #ifdef is
+not enough because it may be an enum, glibc has been known to do this.
+
+=item C<d_msg_dontroute>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_MSG_DONTROUTE> symbol,
+which indicates that the C<MSG_DONTROUTE> is available. #ifdef is
+not enough because it may be an enum, glibc has been known to do this.
+
+=item C<d_msg_oob>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_MSG_OOB> symbol,
+which indicates that the C<MSG_OOB> is available. #ifdef is
+not enough because it may be an enum, glibc has been known to do this.
+
+=item C<d_msg_peek>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_MSG_PEEK> symbol,
+which indicates that the C<MSG_PEEK> is available. #ifdef is
+not enough because it may be an enum, glibc has been known to do this.
+
+=item C<d_msg_proxy>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_MSG_PROXY> symbol,
+which indicates that the C<MSG_PROXY> is available. #ifdef is
+not enough because it may be an enum, glibc has been known to do this.
+
+=item C<d_msgctl>
+
+From F<d_msgctl.U>:
+
+This variable conditionally defines the C<HAS_MSGCTL> symbol, which
+indicates to the C program that the msgctl() routine is available.
+
+=item C<d_msgget>
+
+From F<d_msgget.U>:
+
+This variable conditionally defines the C<HAS_MSGGET> symbol, which
+indicates to the C program that the msgget() routine is available.
+
+=item C<d_msghdr_s>
+
+From F<d_msghdr_s.U>:
+
+This variable conditionally defines the C<HAS_STRUCT_MSGHDR> symbol,
+which indicates that the struct msghdr is supported.
+
+=item C<d_msgrcv>
+
+From F<d_msgrcv.U>:
+
+This variable conditionally defines the C<HAS_MSGRCV> symbol, which
+indicates to the C program that the msgrcv() routine is available.
+
+=item C<d_msgsnd>
+
+From F<d_msgsnd.U>:
+
+This variable conditionally defines the C<HAS_MSGSND> symbol, which
+indicates to the C program that the msgsnd() routine is available.
+
+=item C<d_msync>
+
+From F<d_msync.U>:
+
+This variable conditionally defines C<HAS_MSYNC> if msync() is
+available to synchronize a mapped file.
+
+=item C<d_munmap>
+
+From F<d_munmap.U>:
+
+This variable conditionally defines C<HAS_MUNMAP> if munmap() is
+available to unmap a region mapped by mmap().
+
+=item C<d_mymalloc>
+
+From F<mallocsrc.U>:
+
+This variable conditionally defines C<MYMALLOC> in case other parts
+of the source want to take special action if C<MYMALLOC> is used.
+This may include different sorts of profiling or error detection.
+
+=item C<d_nan>
+
+From F<d_nan.U>:
+
+This variable conditionally defines C<HAS_NAN> if nan() is
+available to generate NaN.
+
+=item C<d_nanosleep>
+
+From F<d_nanosleep.U>:
+
+This variable conditionally defines C<HAS_NANOSLEEP>
+if nanosleep() is available to sleep with 1E-9 sec accuracy.
+
+=item C<d_ndbm>
+
+From F<i_ndbm.U>:
+
+This variable conditionally defines the C<HAS_NDBM> symbol, which
+indicates that both the F<ndbm.h> include file and an appropriate ndbm
+library exist. Consult the different i_*ndbm variables
+to find out the actual include location. Sometimes, a system has the
+header file but not the library. This variable will only be set if
+the system has both.
+
+=item C<d_ndbm_h_uses_prototypes>
+
+From F<i_ndbm.U>:
+
+This variable conditionally defines the C<NDBM_H_USES_PROTOTYPES> symbol,
+which indicates that the F<ndbm.h> include file uses real C<ANSI> C
+prototypes instead of K&R style function declarations. K&R style
+declarations are unsupported in C++, so the include file requires
+special handling when using a C++ compiler and this variable is
+undefined. Consult the different d_*ndbm_h_uses_prototypes variables
+to get the same information for alternative F<ndbm.h> include files.
+
+=item C<d_nearbyint>
+
+From F<d_nearbyint.U>:
+
+This variable conditionally defines C<HAS_NEARBYINT> if nearbyint()
+is available to return the integral value closest to (according to
+the current rounding mode) to x.
+
+=item C<d_newlocale>
+
+From F<d_newlocale.U>:
+
+This variable conditionally defines the C<HAS_NEWLOCALE> symbol, which
+indicates to the C program that the newlocale() routine is available
+to return a new locale object or modify an existing locale object.
+
+=item C<d_nextafter>
+
+From F<d_nextafter.U>:
+
+This variable conditionally defines C<HAS_NEXTAFTER> if nextafter()
+is available to return the next machine representable double from
+x in direction y.
+
+=item C<d_nexttoward>
+
+From F<d_nexttoward.U>:
+
+This variable conditionally defines C<HAS_NEXTTOWARD> if nexttoward()
+is available to return the next machine representable long double from
+x in direction y.
+
+=item C<d_nice>
+
+From F<d_nice.U>:
+
+This variable conditionally defines the C<HAS_NICE> symbol, which
+indicates to the C program that the nice() routine is available.
+
+=item C<d_nl_langinfo>
+
+From F<d_nl_langinfo.U>:
+
+This variable conditionally defines the C<HAS_NL_LANGINFO> symbol, which
+indicates to the C program that the nl_langinfo() routine is available.
+
+=item C<d_nv_preserves_uv>
+
+From F<perlxv.U>:
+
+This variable indicates whether a variable of type nvtype
+can preserve all the bits a variable of type uvtype.
+
+=item C<d_nv_zero_is_allbits_zero>
+
+From F<perlxv.U>:
+
+This variable indicates whether a variable of type nvtype
+stores 0.0 in memory as all bits zero.
+
+=item C<d_off64_t>
+
+From F<d_off64_t.U>:
+
+This symbol will be defined if the C compiler supports off64_t.
+
+=item C<d_old_pthread_create_joinable>
+
+From F<d_pthrattrj.U>:
+
+This variable conditionally defines pthread_create_joinable.
+undef if F<pthread.h> defines C<PTHREAD_CREATE_JOINABLE>.
+
+=item C<d_oldpthreads>
+
+From F<usethreads.U>:
+
+This variable conditionally defines the C<OLD_PTHREADS_API> symbol,
+and indicates that Perl should be built to use the old
+draft C<POSIX> threads C<API>. This is only potentially meaningful if
+usethreads is set.
+
+=item C<d_oldsock>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<OLDSOCKET> symbol, which
+indicates that the C<BSD> socket interface is based on 4.1c and not 4.2.
+
+=item C<d_open3>
+
+From F<d_open3.U>:
+
+This variable conditionally defines the HAS_OPEN3 manifest constant,
+which indicates to the C program that the 3 argument version of
+the open(2) function is available.
+
+=item C<d_openat>
+
+From F<d_fsat.U>:
+
+This variable conditionally defines the C<HAS_OPENAT> symbol, which
+indicates the C<POSIX> openat() function is available.
+
+=item C<d_pathconf>
+
+From F<d_pathconf.U>:
+
+This variable conditionally defines the C<HAS_PATHCONF> symbol, which
+indicates to the C program that the pathconf() routine is available
+to determine file-system related limits and options associated
+with a given filename.
+
+=item C<d_pause>
+
+From F<d_pause.U>:
+
+This variable conditionally defines the C<HAS_PAUSE> symbol, which
+indicates to the C program that the pause() routine is available
+to suspend a process until a signal is received.
+
+=item C<d_perl_otherlibdirs>
+
+From F<otherlibdirs.U>:
+
+This variable conditionally defines C<PERL_OTHERLIBDIRS>, which
+contains a colon-separated set of paths for the perl binary to
+include in @C<INC>. See also otherlibdirs.
+
+=item C<d_phostname>
+
+From F<d_gethname.U>:
+
+This variable conditionally defines the C<HAS_PHOSTNAME> symbol, which
+contains the shell command which, when fed to popen(), may be
+used to derive the host name.
+
+=item C<d_pipe>
+
+From F<d_pipe.U>:
+
+This variable conditionally defines the C<HAS_PIPE> symbol, which
+indicates to the C program that the pipe() routine is available
+to create an inter-process channel.
+
+=item C<d_pipe2>
+
+From F<d_pipe2.U>:
+
+This variable conditionally defines the HAS_PIPE2 symbol, which
+indicates to the C program that the pipe2() routine is available
+to create an inter-process channel.
+
+=item C<d_poll>
+
+From F<d_poll.U>:
+
+This variable conditionally defines the C<HAS_POLL> symbol, which
+indicates to the C program that the poll() routine is available
+to poll active file descriptors.
+
+=item C<d_portable>
+
+From F<d_portable.U>:
+
+This variable conditionally defines the C<PORTABLE> symbol, which
+indicates to the C program that it should not assume that it is
+running on the machine it was compiled on.
+
+=item C<d_prctl>
+
+From F<d_prctl.U>:
+
+This variable conditionally defines the C<HAS_PRCTL> symbol, which
+indicates to the C program that the prctl() routine is available.
+Note that there are at least two prctl variants: Linux and Irix.
+While they are somewhat similar, they are incompatible.
+
+=item C<d_prctl_set_name>
+
+From F<d_prctl.U>:
+
+This variable conditionally defines the C<HAS_PRCTL_SET_NAME> symbol,
+which indicates to the C program that the prctl() routine supports
+the C<PR_SET_NAME> option.
+
+=item C<d_PRId64>
+
+From F<quadfio.U>:
+
+This variable conditionally defines the PERL_PRId64 symbol, which
+indicates that stdio has a symbol to print 64-bit decimal numbers.
+
+=item C<d_PRIeldbl>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the PERL_PRIfldbl symbol, which
+indicates that stdio has a symbol to print long doubles.
+
+=item C<d_PRIEUldbl>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the PERL_PRIfldbl symbol, which
+indicates that stdio has a symbol to print long doubles.
+The C<U> in the name is to separate this from d_PRIeldbl so that even
+case-blind systems can see the difference.
+
+=item C<d_PRIfldbl>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the PERL_PRIfldbl symbol, which
+indicates that stdio has a symbol to print long doubles.
+
+=item C<d_PRIFUldbl>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the PERL_PRIfldbl symbol, which
+indicates that stdio has a symbol to print long doubles.
+The C<U> in the name is to separate this from d_PRIfldbl so that even
+case-blind systems can see the difference.
+
+=item C<d_PRIgldbl>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the PERL_PRIfldbl symbol, which
+indicates that stdio has a symbol to print long doubles.
+
+=item C<d_PRIGUldbl>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the PERL_PRIfldbl symbol, which
+indicates that stdio has a symbol to print long doubles.
+The C<U> in the name is to separate this from d_PRIgldbl so that even
+case-blind systems can see the difference.
+
+=item C<d_PRIi64>
+
+From F<quadfio.U>:
+
+This variable conditionally defines the PERL_PRIi64 symbol, which
+indicates that stdio has a symbol to print 64-bit decimal numbers.
+
+=item C<d_printf_format_null>
+
+From F<d_attribut.U>:
+
+This variable conditionally defines C<PRINTF_FORMAT_NULL_OK>, which
+indicates the C compiler allows printf-like formats to be null.
+
+=item C<d_PRIo64>
+
+From F<quadfio.U>:
+
+This variable conditionally defines the PERL_PRIo64 symbol, which
+indicates that stdio has a symbol to print 64-bit octal numbers.
+
+=item C<d_PRIu64>
+
+From F<quadfio.U>:
+
+This variable conditionally defines the PERL_PRIu64 symbol, which
+indicates that stdio has a symbol to print 64-bit unsigned decimal
+numbers.
+
+=item C<d_PRIx64>
+
+From F<quadfio.U>:
+
+This variable conditionally defines the PERL_PRIx64 symbol, which
+indicates that stdio has a symbol to print 64-bit hexadecimal numbers.
+
+=item C<d_PRIXU64>
+
+From F<quadfio.U>:
+
+This variable conditionally defines the PERL_PRIXU64 symbol, which
+indicates that stdio has a symbol to print 64-bit hExADECimAl numbers.
+The C<U> in the name is to separate this from d_PRIx64 so that even
+case-blind systems can see the difference.
+
+=item C<d_procselfexe>
+
+From F<d_procselfexe.U>:
+
+Defined if $procselfexe is symlink to the absolute
+pathname of the executing program.
+
+=item C<d_pseudofork>
+
+From F<d_vfork.U>:
+
+This variable conditionally defines the C<HAS_PSEUDOFORK> symbol,
+which indicates that an emulation of the fork routine is available.
+
+=item C<d_pthread_atfork>
+
+From F<d_pthread_atfork.U>:
+
+This variable conditionally defines the C<HAS_PTHREAD_ATFORK> symbol,
+which indicates to the C program that the pthread_atfork()
+routine is available.
+
+=item C<d_pthread_attr_setscope>
+
+From F<d_pthread_attr_ss.U>:
+
+This variable conditionally defines C<HAS_PTHREAD_ATTR_SETSCOPE> if
+pthread_attr_setscope() is available to set the contention scope
+attribute of a thread attribute object.
+
+=item C<d_pthread_yield>
+
+From F<d_pthread_y.U>:
+
+This variable conditionally defines the C<HAS_PTHREAD_YIELD>
+symbol if the pthread_yield routine is available to yield
+the execution of the current thread.
+
+=item C<d_ptrdiff_t>
+
+From F<d_ptrdiff_t.U>:
+
+This symbol will be defined if the C compiler supports ptrdiff_t.
+
+=item C<d_pwage>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<PWAGE>, which indicates
+that struct passwd contains pw_age.
+
+=item C<d_pwchange>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<PWCHANGE>, which indicates
+that struct passwd contains pw_change.
+
+=item C<d_pwclass>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<PWCLASS>, which indicates
+that struct passwd contains pw_class.
+
+=item C<d_pwcomment>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<PWCOMMENT>, which indicates
+that struct passwd contains pw_comment.
+
+=item C<d_pwexpire>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<PWEXPIRE>, which indicates
+that struct passwd contains pw_expire.
+
+=item C<d_pwgecos>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<PWGECOS>, which indicates
+that struct passwd contains pw_gecos.
+
+=item C<d_pwpasswd>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<PWPASSWD>, which indicates
+that struct passwd contains pw_passwd.
+
+=item C<d_pwquota>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<PWQUOTA>, which indicates
+that struct passwd contains pw_quota.
+
+=item C<d_qgcvt>
+
+From F<d_qgcvt.U>:
+
+This variable conditionally defines the C<HAS_QGCVT> symbol, which
+indicates to the C program that the qgcvt() routine is available.
+
+=item C<d_quad>
+
+From F<quadtype.U>:
+
+This variable, if defined, tells that there's a 64-bit integer type,
+quadtype.
+
+=item C<d_querylocale>
+
+From F<d_newlocale.U>:
+
+This variable conditionally defines the C<HAS_QUERYLOCALE> symbol, which
+indicates to the C program that the querylocale() routine is available
+to return the name of the locale for a category mask.
+
+=item C<d_random_r>
+
+From F<d_random_r.U>:
+
+This variable conditionally defines the C<HAS_RANDOM_R> symbol,
+which indicates to the C program that the random_r()
+routine is available.
+
+=item C<d_re_comp>
+
+From F<d_regcmp.U>:
+
+This variable conditionally defines the C<HAS_RECOMP> symbol, which
+indicates to the C program that the re_comp() routine is available
+for regular patern matching (usally on C<BSD>). If so, it is likely that
+re_exec() exists.
+
+=item C<d_readdir>
+
+From F<d_readdir.U>:
+
+This variable conditionally defines C<HAS_READDIR> if readdir() is
+available to read directory entries.
+
+=item C<d_readdir64_r>
+
+From F<d_readdir64_r.U>:
+
+This variable conditionally defines the HAS_READDIR64_R symbol,
+which indicates to the C program that the readdir64_r()
+routine is available.
+
+=item C<d_readdir_r>
+
+From F<d_readdir_r.U>:
+
+This variable conditionally defines the C<HAS_READDIR_R> symbol,
+which indicates to the C program that the readdir_r()
+routine is available.
+
+=item C<d_readlink>
+
+From F<d_readlink.U>:
+
+This variable conditionally defines the C<HAS_READLINK> symbol, which
+indicates to the C program that the readlink() routine is available
+to read the value of a symbolic link.
+
+=item C<d_readv>
+
+From F<d_readv.U>:
+
+This variable conditionally defines the C<HAS_READV> symbol, which
+indicates to the C program that the readv() routine is available.
+
+=item C<d_recvmsg>
+
+From F<d_recvmsg.U>:
+
+This variable conditionally defines the C<HAS_RECVMSG> symbol, which
+indicates to the C program that the recvmsg() routine is available.
+
+=item C<d_regcmp>
+
+From F<d_regcmp.U>:
+
+This variable conditionally defines the C<HAS_REGCMP> symbol, which
+indicates to the C program that the regcmp() routine is available
+for regular patern matching (usally on System V).
+
+=item C<d_regcomp>
+
+From F<d_regcmp.U>:
+
+This variable conditionally defines the C<HAS_REGCOMP> symbol, which
+indicates to the C program that the regcomp() routine is available
+for regular patern matching (usally on F<POSIX.2> conforming systems).
+
+=item C<d_remainder>
+
+From F<d_remainder.U>:
+
+This variable conditionally defines the C<HAS_REMAINDER> symbol, which
+indicates to the C program that the remainder() routine is available.
+
+=item C<d_remquo>
+
+From F<d_remquo.U>:
+
+This variable conditionally defines the C<HAS_REMQUO> symbol, which
+indicates to the C program that the remquo() routine is available.
+
+=item C<d_rename>
+
+From F<d_rename.U>:
+
+This variable conditionally defines the C<HAS_RENAME> symbol, which
+indicates to the C program that the rename() routine is available
+to rename files.
+
+=item C<d_renameat>
+
+From F<d_fsat.U>:
+
+This variable conditionally defines the C<HAS_RENAMEAT> symbol, which
+indicates the C<POSIX> renameat() function is available.
+
+=item C<d_rewinddir>
+
+From F<d_readdir.U>:
+
+This variable conditionally defines C<HAS_REWINDDIR> if rewinddir() is
+available.
+
+=item C<d_rint>
+
+From F<d_rint.U>:
+
+This variable conditionally defines the C<HAS_RINT> symbol, which
+indicates to the C program that the rint() routine is available.
+
+=item C<d_rmdir>
+
+From F<d_rmdir.U>:
+
+This variable conditionally defines C<HAS_RMDIR> if rmdir() is
+available to remove directories.
+
+=item C<d_round>
+
+From F<d_round.U>:
+
+This variable conditionally defines the C<HAS_ROUND> symbol, which
+indicates to the C program that the round() routine is available.
+
+=item C<d_sbrkproto>
+
+From F<d_sbrkproto.U>:
+
+This variable conditionally defines the C<HAS_SBRK_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the sbrk() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_scalbn>
+
+From F<d_scalbn.U>:
+
+This variable conditionally defines the C<HAS_SCALBN> symbol, which
+indicates to the C program that the scalbn() routine is available.
+
+=item C<d_scalbnl>
+
+From F<d_scalbnl.U>:
+
+This variable conditionally defines the C<HAS_SCALBNL> symbol, which
+indicates to the C program that the scalbnl() routine is available.
+If ilogbl is also present we can emulate frexpl.
+
+=item C<d_sched_yield>
+
+From F<d_pthread_y.U>:
+
+This variable conditionally defines the C<HAS_SCHED_YIELD>
+symbol if the sched_yield routine is available to yield
+the execution of the current thread.
+
+=item C<d_scm_rights>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_SCM_RIGHTS> symbol,
+which indicates that the C<SCM_RIGHTS> is available. #ifdef is
+not enough because it may be an enum, glibc has been known to do this.
+
+=item C<d_SCNfldbl>
+
+From F<longdblfio.U>:
+
+This variable conditionally defines the PERL_PRIfldbl symbol, which
+indicates that stdio has a symbol to scan long doubles.
+
+=item C<d_seekdir>
+
+From F<d_readdir.U>:
+
+This variable conditionally defines C<HAS_SEEKDIR> if seekdir() is
+available.
+
+=item C<d_select>
+
+From F<d_select.U>:
+
+This variable conditionally defines C<HAS_SELECT> if select() is
+available to select active file descriptors. A <sys/time.h>
+inclusion may be necessary for the timeout field.
+
+=item C<d_sem>
+
+From F<d_sem.U>:
+
+This variable conditionally defines the C<HAS_SEM> symbol, which
+indicates that the entire sem*(2) library is present.
+
+=item C<d_semctl>
+
+From F<d_semctl.U>:
+
+This variable conditionally defines the C<HAS_SEMCTL> symbol, which
+indicates to the C program that the semctl() routine is available.
+
+=item C<d_semctl_semid_ds>
+
+From F<d_union_semun.U>:
+
+This variable conditionally defines C<USE_SEMCTL_SEMID_DS>, which
+indicates that struct semid_ds * is to be used for semctl C<IPC_STAT>.
+
+=item C<d_semctl_semun>
+
+From F<d_union_semun.U>:
+
+This variable conditionally defines C<USE_SEMCTL_SEMUN>, which
+indicates that union semun is to be used for semctl C<IPC_STAT>.
+
+=item C<d_semget>
+
+From F<d_semget.U>:
+
+This variable conditionally defines the C<HAS_SEMGET> symbol, which
+indicates to the C program that the semget() routine is available.
+
+=item C<d_semop>
+
+From F<d_semop.U>:
+
+This variable conditionally defines the C<HAS_SEMOP> symbol, which
+indicates to the C program that the semop() routine is available.
+
+=item C<d_sendmsg>
+
+From F<d_sendmsg.U>:
+
+This variable conditionally defines the C<HAS_SENDMSG> symbol, which
+indicates to the C program that the sendmsg() routine is available.
+
+=item C<d_setegid>
+
+From F<d_setegid.U>:
+
+This variable conditionally defines the C<HAS_SETEGID> symbol, which
+indicates to the C program that the setegid() routine is available
+to change the effective gid of the current program.
+
+=item C<d_seteuid>
+
+From F<d_seteuid.U>:
+
+This variable conditionally defines the C<HAS_SETEUID> symbol, which
+indicates to the C program that the seteuid() routine is available
+to change the effective uid of the current program.
+
+=item C<d_setgrent>
+
+From F<d_setgrent.U>:
+
+This variable conditionally defines the C<HAS_SETGRENT> symbol, which
+indicates to the C program that the setgrent() routine is available
+for initializing sequential access to the group database.
+
+=item C<d_setgrent_r>
+
+From F<d_setgrent_r.U>:
+
+This variable conditionally defines the C<HAS_SETGRENT_R> symbol,
+which indicates to the C program that the setgrent_r()
+routine is available.
+
+=item C<d_setgrps>
+
+From F<d_setgrps.U>:
+
+This variable conditionally defines the C<HAS_SETGROUPS> symbol, which
+indicates to the C program that the setgroups() routine is available
+to set the list of process groups.
+
+=item C<d_sethent>
+
+From F<d_sethent.U>:
+
+This variable conditionally defines C<HAS_SETHOSTENT> if sethostent() is
+available.
+
+=item C<d_sethostent_r>
+
+From F<d_sethostent_r.U>:
+
+This variable conditionally defines the C<HAS_SETHOSTENT_R> symbol,
+which indicates to the C program that the sethostent_r()
+routine is available.
+
+=item C<d_setitimer>
+
+From F<d_setitimer.U>:
+
+This variable conditionally defines the C<HAS_SETITIMER> symbol, which
+indicates to the C program that the setitimer() routine is available.
+
+=item C<d_setlinebuf>
+
+From F<d_setlnbuf.U>:
+
+This variable conditionally defines the C<HAS_SETLINEBUF> symbol, which
+indicates to the C program that the setlinebuf() routine is available
+to change stderr or stdout from block-buffered or unbuffered to a
+line-buffered mode.
+
+=item C<d_setlocale>
+
+From F<d_setlocale.U>:
+
+This variable conditionally defines C<HAS_SETLOCALE> if setlocale() is
+available to handle locale-specific ctype implementations.
+
+=item C<d_setlocale_r>
+
+From F<d_setlocale_r.U>:
+
+This variable conditionally defines the C<HAS_SETLOCALE_R> symbol,
+which indicates to the C program that the setlocale_r()
+routine is available.
+
+=item C<d_setnent>
+
+From F<d_setnent.U>:
+
+This variable conditionally defines C<HAS_SETNETENT> if setnetent() is
+available.
+
+=item C<d_setnetent_r>
+
+From F<d_setnetent_r.U>:
+
+This variable conditionally defines the C<HAS_SETNETENT_R> symbol,
+which indicates to the C program that the setnetent_r()
+routine is available.
+
+=item C<d_setpent>
+
+From F<d_setpent.U>:
+
+This variable conditionally defines C<HAS_SETPROTOENT> if setprotoent() is
+available.
+
+=item C<d_setpgid>
+
+From F<d_setpgid.U>:
+
+This variable conditionally defines the C<HAS_SETPGID> symbol if the
+setpgid(pid, gpid) function is available to set process group C<ID>.
+
+=item C<d_setpgrp>
+
+From F<d_setpgrp.U>:
+
+This variable conditionally defines C<HAS_SETPGRP> if setpgrp() is
+available to set the current process group.
+
+=item C<d_setpgrp2>
+
+From F<d_setpgrp2.U>:
+
+This variable conditionally defines the HAS_SETPGRP2 symbol, which
+indicates to the C program that the setpgrp2() (as in F<DG/C<UX>>) routine
+is available to set the current process group.
+
+=item C<d_setprior>
+
+From F<d_setprior.U>:
+
+This variable conditionally defines C<HAS_SETPRIORITY> if setpriority()
+is available to set a process's priority.
+
+=item C<d_setproctitle>
+
+From F<d_setproctitle.U>:
+
+This variable conditionally defines the C<HAS_SETPROCTITLE> symbol,
+which indicates to the C program that the setproctitle() routine
+is available.
+
+=item C<d_setprotoent_r>
+
+From F<d_setprotoent_r.U>:
+
+This variable conditionally defines the C<HAS_SETPROTOENT_R> symbol,
+which indicates to the C program that the setprotoent_r()
+routine is available.
+
+=item C<d_setpwent>
+
+From F<d_setpwent.U>:
+
+This variable conditionally defines the C<HAS_SETPWENT> symbol, which
+indicates to the C program that the setpwent() routine is available
+for initializing sequential access to the passwd database.
+
+=item C<d_setpwent_r>
+
+From F<d_setpwent_r.U>:
+
+This variable conditionally defines the C<HAS_SETPWENT_R> symbol,
+which indicates to the C program that the setpwent_r()
+routine is available.
+
+=item C<d_setregid>
+
+From F<d_setregid.U>:
+
+This variable conditionally defines C<HAS_SETREGID> if setregid() is
+available to change the real and effective gid of the current
+process.
+
+=item C<d_setresgid>
+
+From F<d_setregid.U>:
+
+This variable conditionally defines C<HAS_SETRESGID> if setresgid() is
+available to change the real, effective and saved gid of the current
+process.
+
+=item C<d_setresuid>
+
+From F<d_setreuid.U>:
+
+This variable conditionally defines C<HAS_SETREUID> if setresuid() is
+available to change the real, effective and saved uid of the current
+process.
+
+=item C<d_setreuid>
+
+From F<d_setreuid.U>:
+
+This variable conditionally defines C<HAS_SETREUID> if setreuid() is
+available to change the real and effective uid of the current
+process.
+
+=item C<d_setrgid>
+
+From F<d_setrgid.U>:
+
+This variable conditionally defines the C<HAS_SETRGID> symbol, which
+indicates to the C program that the setrgid() routine is available
+to change the real gid of the current program.
+
+=item C<d_setruid>
+
+From F<d_setruid.U>:
+
+This variable conditionally defines the C<HAS_SETRUID> symbol, which
+indicates to the C program that the setruid() routine is available
+to change the real uid of the current program.
+
+=item C<d_setsent>
+
+From F<d_setsent.U>:
+
+This variable conditionally defines C<HAS_SETSERVENT> if setservent() is
+available.
+
+=item C<d_setservent_r>
+
+From F<d_setservent_r.U>:
+
+This variable conditionally defines the C<HAS_SETSERVENT_R> symbol,
+which indicates to the C program that the setservent_r()
+routine is available.
+
+=item C<d_setsid>
+
+From F<d_setsid.U>:
+
+This variable conditionally defines C<HAS_SETSID> if setsid() is
+available to set the process group C<ID>.
+
+=item C<d_setvbuf>
+
+From F<d_setvbuf.U>:
+
+This variable conditionally defines the C<HAS_SETVBUF> symbol, which
+indicates to the C program that the setvbuf() routine is available
+to change buffering on an open stdio stream.
+
+=item C<d_shm>
+
+From F<d_shm.U>:
+
+This variable conditionally defines the C<HAS_SHM> symbol, which
+indicates that the entire shm*(2) library is present.
+
+=item C<d_shmat>
+
+From F<d_shmat.U>:
+
+This variable conditionally defines the C<HAS_SHMAT> symbol, which
+indicates to the C program that the shmat() routine is available.
+
+=item C<d_shmatprototype>
+
+From F<d_shmat.U>:
+
+This variable conditionally defines the C<HAS_SHMAT_PROTOTYPE>
+symbol, which indicates that F<sys/shm.h> has a prototype for
+shmat.
+
+=item C<d_shmctl>
+
+From F<d_shmctl.U>:
+
+This variable conditionally defines the C<HAS_SHMCTL> symbol, which
+indicates to the C program that the shmctl() routine is available.
+
+=item C<d_shmdt>
+
+From F<d_shmdt.U>:
+
+This variable conditionally defines the C<HAS_SHMDT> symbol, which
+indicates to the C program that the shmdt() routine is available.
+
+=item C<d_shmget>
+
+From F<d_shmget.U>:
+
+This variable conditionally defines the C<HAS_SHMGET> symbol, which
+indicates to the C program that the shmget() routine is available.
+
+=item C<d_sigaction>
+
+From F<d_sigaction.U>:
+
+This variable conditionally defines the C<HAS_SIGACTION> symbol, which
+indicates that the Vr4 sigaction() routine is available.
+
+=item C<d_siginfo_si_addr>
+
+From F<d_siginfo_si.U>:
+
+This variable conditionally defines the C<HAS_SIGINFO_SI_ADDR> symbol,
+which indicates that the siginfo_t struct has the si_addr member.
+
+=item C<d_siginfo_si_band>
+
+From F<d_siginfo_si.U>:
+
+This variable conditionally defines the C<HAS_SIGINFO_SI_BAND> symbol,
+which indicates that the siginfo_t struct has the si_band member.
+
+=item C<d_siginfo_si_errno>
+
+From F<d_siginfo_si.U>:
+
+This variable conditionally defines the C<HAS_SIGINFO_SI_ERRNO> symbol,
+which indicates that the siginfo_t struct has the si_errno member.
+
+=item C<d_siginfo_si_fd>
+
+From F<d_siginfo_si.U>:
+
+This variable conditionally defines the C<HAS_SIGINFO_SI_FD> symbol,
+which indicates that the siginfo_t struct has the si_fd member.
+
+=item C<d_siginfo_si_pid>
+
+From F<d_siginfo_si.U>:
+
+This variable conditionally defines the C<HAS_SIGINFO_SI_PID> symbol,
+which indicates that the siginfo_t struct has the si_pid member.
+
+=item C<d_siginfo_si_status>
+
+From F<d_siginfo_si.U>:
+
+This variable conditionally defines the C<HAS_SIGINFO_SI_STATUS> symbol,
+which indicates that the siginfo_t struct has the si_status member.
+
+=item C<d_siginfo_si_uid>
+
+From F<d_siginfo_si.U>:
+
+This variable conditionally defines the C<HAS_SIGINFO_SI_UID> symbol,
+which indicates that the siginfo_t struct has the si_uid member.
+
+=item C<d_siginfo_si_value>
+
+From F<d_siginfo_si.U>:
+
+This variable conditionally defines the C<HAS_SIGINFO_SI_VALUE> symbol,
+which indicates that the siginfo_t struct has the si_value member.
+
+=item C<d_signbit>
+
+From F<d_signbit.U>:
+
+This variable conditionally defines the C<HAS_SIGNBIT> symbol, which
+indicates to the C program that the signbit() routine is available
+and safe to use with perl's intern C<NV> type.
+
+=item C<d_sigprocmask>
+
+From F<d_sigprocmask.U>:
+
+This variable conditionally defines C<HAS_SIGPROCMASK>
+if sigprocmask() is available to examine or change the signal mask
+of the calling process.
+
+=item C<d_sigsetjmp>
+
+From F<d_sigsetjmp.U>:
+
+This variable conditionally defines the C<HAS_SIGSETJMP> symbol,
+which indicates that the sigsetjmp() routine is available to
+call setjmp() and optionally save the process's signal mask.
+
+=item C<d_sin6_scope_id>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the HAS_SIN6_SCOPE_ID symbol, which
+indicates that a struct sockaddr_in6 structure has the sin6_scope_id
+member.
+
+=item C<d_sitearch>
+
+From F<sitearch.U>:
+
+This variable conditionally defines C<SITEARCH> to hold the pathname
+of architecture-dependent library files for $package. If
+$sitearch is the same as $archlib, then this is set to undef.
+
+=item C<d_snprintf>
+
+From F<d_snprintf.U>:
+
+This variable conditionally defines the C<HAS_SNPRINTF> symbol, which
+indicates to the C program that the snprintf () library function
+is available.
+
+=item C<d_sockaddr_in6>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the HAS_SOCKADDR_IN6 symbol, which
+indicates the availability of a struct sockaddr_in6.
+
+=item C<d_sockaddr_sa_len>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_SOCKADDR_SA_LEN> symbol,
+which indicates that a struct sockaddr structure has the sa_len
+member.
+
+=item C<d_sockatmark>
+
+From F<d_sockatmark.U>:
+
+This variable conditionally defines the C<HAS_SOCKATMARK> symbol, which
+indicates to the C program that the sockatmark() routine is available.
+
+=item C<d_sockatmarkproto>
+
+From F<d_sockatmarkproto.U>:
+
+This variable conditionally defines the C<HAS_SOCKATMARK_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the sockatmark() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_socket>
+
+From F<d_socket.U>:
+
+This variable conditionally defines C<HAS_SOCKET>, which indicates
+that the C<BSD> socket interface is supported.
+
+=item C<d_socklen_t>
+
+From F<d_socklen_t.U>:
+
+This symbol will be defined if the C compiler supports socklen_t.
+
+=item C<d_sockpair>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_SOCKETPAIR> symbol, which
+indicates that the C<BSD> socketpair() is supported.
+
+=item C<d_socks5_init>
+
+From F<d_socks5_init.U>:
+
+This variable conditionally defines the HAS_SOCKS5_INIT symbol, which
+indicates to the C program that the socks5_init() routine is available.
+
+=item C<d_sqrtl>
+
+From F<d_sqrtl.U>:
+
+This variable conditionally defines the C<HAS_SQRTL> symbol, which
+indicates to the C program that the sqrtl() routine is available.
+
+=item C<d_srand48_r>
+
+From F<d_srand48_r.U>:
+
+This variable conditionally defines the HAS_SRAND48_R symbol,
+which indicates to the C program that the srand48_r()
+routine is available.
+
+=item C<d_srandom_r>
+
+From F<d_srandom_r.U>:
+
+This variable conditionally defines the C<HAS_SRANDOM_R> symbol,
+which indicates to the C program that the srandom_r()
+routine is available.
+
+=item C<d_sresgproto>
+
+From F<d_sresgproto.U>:
+
+This variable conditionally defines the C<HAS_SETRESGID_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the setresgid() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_sresuproto>
+
+From F<d_sresuproto.U>:
+
+This variable conditionally defines the C<HAS_SETRESUID_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the setresuid() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_stat>
+
+From F<d_stat.U>:
+
+This variable conditionally defines C<HAS_STAT> if stat() is
+available to get file status.
+
+=item C<d_statblks>
+
+From F<d_statblks.U>:
+
+This variable conditionally defines C<USE_STAT_BLOCKS>
+if this system has a stat structure declaring
+st_blksize and st_blocks.
+
+=item C<d_statfs_f_flags>
+
+From F<d_statfs_f_flags.U>:
+
+This variable conditionally defines the C<HAS_STRUCT_STATFS_F_FLAGS>
+symbol, which indicates to struct statfs from has f_flags member.
+This kind of struct statfs is coming from F<sys/mount.h> (C<BSD>),
+not from F<sys/statfs.h> (C<SYSV>).
+
+=item C<d_statfs_s>
+
+From F<d_statfs_s.U>:
+
+This variable conditionally defines the C<HAS_STRUCT_STATFS> symbol,
+which indicates that the struct statfs is supported.
+
+=item C<d_static_inline>
+
+From F<d_static_inline.U>:
+
+This variable conditionally defines the C<HAS_STATIC_INLINE> symbol,
+which indicates that the C compiler supports C99-style static
+inline. That is, the function can't be called from another
+translation unit.
+
+=item C<d_statvfs>
+
+From F<d_statvfs.U>:
+
+This variable conditionally defines the C<HAS_STATVFS> symbol, which
+indicates to the C program that the statvfs() routine is available.
+
+=item C<d_stdio_cnt_lval>
+
+From F<d_stdstdio.U>:
+
+This variable conditionally defines C<STDIO_CNT_LVALUE> if the
+C<FILE_cnt> macro can be used as an lvalue.
+
+=item C<d_stdio_ptr_lval>
+
+From F<d_stdstdio.U>:
+
+This variable conditionally defines C<STDIO_PTR_LVALUE> if the
+C<FILE_ptr> macro can be used as an lvalue.
+
+=item C<d_stdio_ptr_lval_nochange_cnt>
+
+From F<d_stdstdio.U>:
+
+This symbol is defined if using the C<FILE_ptr> macro as an lvalue
+to increase the pointer by n leaves File_cnt(fp) unchanged.
+
+=item C<d_stdio_ptr_lval_sets_cnt>
+
+From F<d_stdstdio.U>:
+
+This symbol is defined if using the C<FILE_ptr> macro as an lvalue
+to increase the pointer by n has the side effect of decreasing the
+value of File_cnt(fp) by n.
+
+=item C<d_stdio_stream_array>
+
+From F<stdio_streams.U>:
+
+This variable tells whether there is an array holding
+the stdio streams.
+
+=item C<d_stdiobase>
+
+From F<d_stdstdio.U>:
+
+This variable conditionally defines C<USE_STDIO_BASE> if this system
+has a C<FILE> structure declaring a usable _base field (or equivalent)
+in F<stdio.h>.
+
+=item C<d_stdstdio>
+
+From F<d_stdstdio.U>:
+
+This variable conditionally defines C<USE_STDIO_PTR> if this system
+has a C<FILE> structure declaring usable _ptr and _cnt fields (or
+equivalent) in F<stdio.h>.
+
+=item C<d_strcoll>
+
+From F<d_strcoll.U>:
+
+This variable conditionally defines C<HAS_STRCOLL> if strcoll() is
+available to compare strings using collating information.
+
+=item C<d_strerror_l>
+
+From F<d_strerror_l.U>:
+
+This variable conditionally defines the C<HAS_STRERROR_L> symbol, which
+indicates to the C program that the strerror_l() routine is available
+to return the error message for a given errno value in a particular
+locale (identified by a locale_t object).
+
+=item C<d_strerror_r>
+
+From F<d_strerror_r.U>:
+
+This variable conditionally defines the C<HAS_STRERROR_R> symbol,
+which indicates to the C program that the strerror_r()
+routine is available.
+
+=item C<d_strftime>
+
+From F<d_strftime.U>:
+
+This variable conditionally defines the C<HAS_STRFTIME> symbol, which
+indicates to the C program that the strftime() routine is available.
+
+=item C<d_strlcat>
+
+From F<d_strlcat.U>:
+
+This variable conditionally defines the C<HAS_STRLCAT> symbol, which
+indicates to the C program that the strlcat () routine is available.
+
+=item C<d_strlcpy>
+
+From F<d_strlcpy.U>:
+
+This variable conditionally defines the C<HAS_STRLCPY> symbol, which
+indicates to the C program that the strlcpy () routine is available.
+
+=item C<d_strnlen>
+
+From F<d_strnlen.U>:
+
+This variable conditionally defines the C<HAS_STRNLEN> symbol, which
+indicates to the C program that the strnlen () routine is available.
+
+=item C<d_strtod>
+
+From F<d_strtod.U>:
+
+This variable conditionally defines the C<HAS_STRTOD> symbol, which
+indicates to the C program that the strtod() routine is available
+to provide better numeric string conversion than atof().
+
+=item C<d_strtol>
+
+From F<d_strtol.U>:
+
+This variable conditionally defines the C<HAS_STRTOL> symbol, which
+indicates to the C program that the strtol() routine is available
+to provide better numeric string conversion than atoi() and friends.
+
+=item C<d_strtold>
+
+From F<d_strtold.U>:
+
+This variable conditionally defines the C<HAS_STRTOLD> symbol, which
+indicates to the C program that the strtold() routine is available.
+
+=item C<d_strtold_l>
+
+From F<d_strtold_l.U>:
+
+This variable conditionally defines the C<HAS_STRTOLD_L> symbol, which
+indicates to the C program that the strtold_l() routine is available.
+
+=item C<d_strtoll>
+
+From F<d_strtoll.U>:
+
+This variable conditionally defines the C<HAS_STRTOLL> symbol, which
+indicates to the C program that the strtoll() routine is available.
+
+=item C<d_strtoq>
+
+From F<d_strtoq.U>:
+
+This variable conditionally defines the C<HAS_STRTOQ> symbol, which
+indicates to the C program that the strtoq() routine is available.
+
+=item C<d_strtoul>
+
+From F<d_strtoul.U>:
+
+This variable conditionally defines the C<HAS_STRTOUL> symbol, which
+indicates to the C program that the strtoul() routine is available
+to provide conversion of strings to unsigned long.
+
+=item C<d_strtoull>
+
+From F<d_strtoull.U>:
+
+This variable conditionally defines the C<HAS_STRTOULL> symbol, which
+indicates to the C program that the strtoull() routine is available.
+
+=item C<d_strtouq>
+
+From F<d_strtouq.U>:
+
+This variable conditionally defines the C<HAS_STRTOUQ> symbol, which
+indicates to the C program that the strtouq() routine is available.
+
+=item C<d_strxfrm>
+
+From F<d_strxfrm.U>:
+
+This variable conditionally defines C<HAS_STRXFRM> if strxfrm() is
+available to transform strings.
+
+=item C<d_suidsafe>
+
+From F<d_dosuid.U>:
+
+This variable conditionally defines C<SETUID_SCRIPTS_ARE_SECURE_NOW>
+if setuid scripts can be secure. This test looks in F</dev/fd/>.
+
+=item C<d_symlink>
+
+From F<d_symlink.U>:
+
+This variable conditionally defines the C<HAS_SYMLINK> symbol, which
+indicates to the C program that the symlink() routine is available
+to create symbolic links.
+
+=item C<d_syscall>
+
+From F<d_syscall.U>:
+
+This variable conditionally defines C<HAS_SYSCALL> if syscall() is
+available call arbitrary system calls.
+
+=item C<d_syscallproto>
+
+From F<d_syscallproto.U>:
+
+This variable conditionally defines the C<HAS_SYSCALL_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the syscall() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_sysconf>
+
+From F<d_sysconf.U>:
+
+This variable conditionally defines the C<HAS_SYSCONF> symbol, which
+indicates to the C program that the sysconf() routine is available
+to determine system related limits and options.
+
+=item C<d_sysernlst>
+
+From F<d_strerror.U>:
+
+This variable conditionally defines C<HAS_SYS_ERRNOLIST> if sys_errnolist[]
+is available to translate error numbers to the symbolic name.
+
+=item C<d_syserrlst>
+
+From F<d_strerror.U>:
+
+This variable conditionally defines C<HAS_SYS_ERRLIST> if sys_errlist[] is
+available to translate error numbers to strings.
+
+=item C<d_system>
+
+From F<d_system.U>:
+
+This variable conditionally defines C<HAS_SYSTEM> if system() is
+available to issue a shell command.
+
+=item C<d_tcgetpgrp>
+
+From F<d_tcgtpgrp.U>:
+
+This variable conditionally defines the C<HAS_TCGETPGRP> symbol, which
+indicates to the C program that the tcgetpgrp() routine is available.
+to get foreground process group C<ID>.
+
+=item C<d_tcsetpgrp>
+
+From F<d_tcstpgrp.U>:
+
+This variable conditionally defines the C<HAS_TCSETPGRP> symbol, which
+indicates to the C program that the tcsetpgrp() routine is available
+to set foreground process group C<ID>.
+
+=item C<d_telldir>
+
+From F<d_readdir.U>:
+
+This variable conditionally defines C<HAS_TELLDIR> if telldir() is
+available.
+
+=item C<d_telldirproto>
+
+From F<d_telldirproto.U>:
+
+This variable conditionally defines the C<HAS_TELLDIR_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the telldir() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_tgamma>
+
+From F<d_tgamma.U>:
+
+This variable conditionally defines the C<HAS_TGAMMA> symbol, which
+indicates to the C program that the tgamma() routine is available
+for the gamma function. See also d_lgamma.
+
+=item C<d_thread_safe_nl_langinfo_l>
+
+From F<d_nl_langinfo_l.U>:
+
+This variable contains the eventual value of the
+C<HAS_THREAD_SAFE_NL_LANGINFO_L> symbol, which indicates if the
+nl_langinfo_l() function exists and is thread-safe.
+
+=item C<d_time>
+
+From F<d_time.U>:
+
+This variable conditionally defines the C<HAS_TIME> symbol, which indicates
+that the time() routine exists. The time() routine is normally
+provided on C<UNIX> systems.
+
+=item C<d_timegm>
+
+From F<d_timegm.U>:
+
+This variable conditionally defines the C<HAS_TIMEGM> symbol, which
+indicates to the C program that the timegm () routine is available.
+
+=item C<d_times>
+
+From F<d_times.U>:
+
+This variable conditionally defines the C<HAS_TIMES> symbol, which indicates
+that the times() routine exists. The times() routine is normally
+provided on C<UNIX> systems. You may have to include <sys/times.h>.
+
+=item C<d_tm_tm_gmtoff>
+
+From F<i_time.U>:
+
+This variable conditionally defines C<HAS_TM_TM_GMTOFF>, which indicates
+indicates to the C program that the struct tm has the tm_gmtoff field.
+
+=item C<d_tm_tm_zone>
+
+From F<i_time.U>:
+
+This variable conditionally defines C<HAS_TM_TM_ZONE>, which indicates
+indicates to the C program that the struct tm has the tm_zone field.
+
+=item C<d_tmpnam_r>
+
+From F<d_tmpnam_r.U>:
+
+This variable conditionally defines the C<HAS_TMPNAM_R> symbol,
+which indicates to the C program that the tmpnam_r()
+routine is available.
+
+=item C<d_trunc>
+
+From F<d_trunc.U>:
+
+This variable conditionally defines the C<HAS_TRUNC> symbol, which
+indicates to the C program that the trunc() routine is available
+to round doubles towards zero.
+
+=item C<d_truncate>
+
+From F<d_truncate.U>:
+
+This variable conditionally defines C<HAS_TRUNCATE> if truncate() is
+available to truncate files.
+
+=item C<d_truncl>
+
+From F<d_truncl.U>:
+
+This variable conditionally defines the C<HAS_TRUNCL> symbol, which
+indicates to the C program that the truncl() routine is available
+to round long doubles towards zero. If copysignl is also present,
+we can emulate modfl.
+
+=item C<d_ttyname_r>
+
+From F<d_ttyname_r.U>:
+
+This variable conditionally defines the C<HAS_TTYNAME_R> symbol,
+which indicates to the C program that the ttyname_r()
+routine is available.
+
+=item C<d_tzname>
+
+From F<d_tzname.U>:
+
+This variable conditionally defines C<HAS_TZNAME> if tzname[] is
+available to access timezone names.
+
+=item C<d_u32align>
+
+From F<d_u32align.U>:
+
+This variable tells whether you must access character data
+through U32-aligned pointers.
+
+=item C<d_ualarm>
+
+From F<d_ualarm.U>:
+
+This variable conditionally defines the C<HAS_UALARM> symbol, which
+indicates to the C program that the ualarm() routine is available.
+
+=item C<d_umask>
+
+From F<d_umask.U>:
+
+This variable conditionally defines the C<HAS_UMASK> symbol, which
+indicates to the C program that the umask() routine is available.
+to set and get the value of the file creation mask.
+
+=item C<d_uname>
+
+From F<d_gethname.U>:
+
+This variable conditionally defines the C<HAS_UNAME> symbol, which
+indicates to the C program that the uname() routine may be
+used to derive the host name.
+
+=item C<d_union_semun>
+
+From F<d_union_semun.U>:
+
+This variable conditionally defines C<HAS_UNION_SEMUN> if the
+union semun is defined by including <sys/sem.h>.
+
+=item C<d_unlinkat>
+
+From F<d_fsat.U>:
+
+This variable conditionally defines the C<HAS_UNLINKAT> symbol, which
+indicates the C<POSIX> unlinkat() function isavailable.
+
+=item C<d_unordered>
+
+From F<d_unordered.U>:
+
+This variable conditionally defines the C<HAS_UNORDERED> symbol, which
+indicates to the C program that the unordered() routine is available.
+
+=item C<d_unsetenv>
+
+From F<d_unsetenv.U>:
+
+This variable conditionally defines the C<HAS_UNSETENV> symbol, which
+indicates to the C program that the unsetenv () routine is available.
+
+=item C<d_uselocale>
+
+From F<d_newlocale.U>:
+
+This variable conditionally defines the C<HAS_USELOCALE> symbol, which
+indicates to the C program that the uselocale() routine is available
+to set the current locale for the calling thread.
+
+=item C<d_usleep>
+
+From F<d_usleep.U>:
+
+This variable conditionally defines C<HAS_USLEEP> if usleep() is
+available to do high granularity sleeps.
+
+=item C<d_usleepproto>
+
+From F<d_usleepproto.U>:
+
+This variable conditionally defines the C<HAS_USLEEP_PROTO> symbol,
+which indicates to the C program that the system provides
+a prototype for the usleep() function. Otherwise, it is
+up to the program to supply one.
+
+=item C<d_ustat>
+
+From F<d_ustat.U>:
+
+This variable conditionally defines C<HAS_USTAT> if ustat() is
+available to query file system statistics by dev_t.
+
+=item C<d_vendorarch>
+
+From F<vendorarch.U>:
+
+This variable conditionally defined C<PERL_VENDORARCH>.
+
+=item C<d_vendorbin>
+
+From F<vendorbin.U>:
+
+This variable conditionally defines C<PERL_VENDORBIN>.
+
+=item C<d_vendorlib>
+
+From F<vendorlib.U>:
+
+This variable conditionally defines C<PERL_VENDORLIB>.
+
+=item C<d_vendorscript>
+
+From F<vendorscript.U>:
+
+This variable conditionally defines C<PERL_VENDORSCRIPT>.
+
+=item C<d_vfork>
+
+From F<d_vfork.U>:
+
+This variable conditionally defines the C<HAS_VFORK> symbol, which
+indicates the vfork() routine is available.
+
+=item C<d_void_closedir>
+
+From F<d_closedir.U>:
+
+This variable conditionally defines C<VOID_CLOSEDIR> if closedir()
+does not return a value.
+
+=item C<d_voidsig>
+
+From F<d_voidsig.U>:
+
+This variable conditionally defines C<VOIDSIG> if this system
+declares "void (*signal(...))()" in F<signal.h>. The old way was to
+declare it as "int (*signal(...))()".
+
+=item C<d_voidtty>
+
+From F<i_sysioctl.U>:
+
+This variable conditionally defines C<USE_IOCNOTTY> to indicate that the
+ioctl() call with C<TIOCNOTTY> should be used to void tty association.
+Otherwise (on C<USG> probably), it is enough to close the standard file
+descriptors and do a setpgrp().
+
+=item C<d_vsnprintf>
+
+From F<d_snprintf.U>:
+
+This variable conditionally defines the C<HAS_VSNPRINTF> symbol, which
+indicates to the C program that the vsnprintf () library function
+is available.
+
+=item C<d_wait4>
+
+From F<d_wait4.U>:
+
+This variable conditionally defines the HAS_WAIT4 symbol, which
+indicates the wait4() routine is available.
+
+=item C<d_waitpid>
+
+From F<d_waitpid.U>:
+
+This variable conditionally defines C<HAS_WAITPID> if waitpid() is
+available to wait for child process.
+
+=item C<d_wcscmp>
+
+From F<d_wcscmp.U>:
+
+This variable conditionally defines the C<HAS_WCSCMP> symbol if the
+wcscmp() routine is available and can be used to compare wide
+character strings.
+
+=item C<d_wcstombs>
+
+From F<d_wcstombs.U>:
+
+This variable conditionally defines the C<HAS_WCSTOMBS> symbol, which
+indicates to the C program that the wcstombs() routine is available
+to convert wide character strings to multibyte strings.
+
+=item C<d_wcsxfrm>
+
+From F<d_wcsxfrm.U>:
+
+This variable conditionally defines the C<HAS_WCSXFRM> symbol if the
+wcsxfrm() routine is available and can be used to compare wide
+character strings.
+
+=item C<d_wctomb>
+
+From F<d_wctomb.U>:
+
+This variable conditionally defines the C<HAS_WCTOMB> symbol, which
+indicates to the C program that the wctomb() routine is available
+to convert a wide character to a multibyte.
+
+=item C<d_writev>
+
+From F<d_writev.U>:
+
+This variable conditionally defines the C<HAS_WRITEV> symbol, which
+indicates to the C program that the writev() routine is available.
+
+=item C<d_xenix>
+
+From F<Guess.U>:
+
+This variable conditionally defines the symbol C<XENIX>, which alerts
+the C program that it runs under Xenix.
+
+=item C<date>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the date program. After Configure runs,
+the value is reset to a plain C<date> and is not useful.
+
+=item C<db_hashtype>
+
+From F<i_db.U>:
+
+This variable contains the type of the hash structure element
+in the <db.h> header file. In older versions of C<DB>, it was
+int, while in newer ones it is u_int32_t.
+
+=item C<db_prefixtype>
+
+From F<i_db.U>:
+
+This variable contains the type of the prefix structure element
+in the <db.h> header file. In older versions of C<DB>, it was
+int, while in newer ones it is size_t.
+
+=item C<db_version_major>
+
+From F<i_db.U>:
+
+This variable contains the major version number of
+Berkeley C<DB> found in the <db.h> header file.
+
+=item C<db_version_minor>
+
+From F<i_db.U>:
+
+This variable contains the minor version number of
+Berkeley C<DB> found in the <db.h> header file.
+For C<DB> version 1 this is always 0.
+
+=item C<db_version_patch>
+
+From F<i_db.U>:
+
+This variable contains the patch version number of
+Berkeley C<DB> found in the <db.h> header file.
+For C<DB> version 1 this is always 0.
+
+=item C<default_inc_excludes_dot>
+
+From F<defaultincdot.U>:
+
+When defined, remove the legacy F<.> from @C<INC>
+
+=item C<direntrytype>
+
+From F<i_dirent.U>:
+
+This symbol is set to C<struct direct> or C<struct dirent> depending on
+whether dirent is available or not. You should use this pseudo type to
+portably declare your directory entries.
+
+=item C<dlext>
+
+From F<dlext.U>:
+
+This variable contains the extension that is to be used for the
+dynamically loaded modules that perl generates.
+
+=item C<dlsrc>
+
+From F<dlsrc.U>:
+
+This variable contains the name of the dynamic loading file that
+will be used with the package.
+
+=item C<doubleinfbytes>
+
+From F<infnan.U>:
+
+This variable contains comma-separated list of hexadecimal bytes
+for the double precision infinity.
+
+=item C<doublekind>
+
+From F<longdblfio.U>:
+
+This variable, if defined, encodes the type of a double:
+1 = C<IEEE> 754 32-bit little endian,
+2 = C<IEEE> 754 32-bit big endian,
+3 = C<IEEE> 754 64-bit little endian,
+4 = C<IEEE> 754 64-bit big endian,
+5 = C<IEEE> 754 128-bit little endian,
+6 = C<IEEE> 754 128-bit big endian,
+7 = C<IEEE> 754 64-bit mixed endian le-be,
+8 = C<IEEE> 754 64-bit mixed endian be-le,
+9 = C<VAX> 32bit little endian F float format
+10 = C<VAX> 64bit little endian D float format
+11 = C<VAX> 64bit little endian G float format
+12 = C<IBM> 32bit format
+13 = C<IBM> 64bit format
+14 = Cray 64bit format
+-1 = unknown format.
+
+=item C<doublemantbits>
+
+From F<mantbits.U>:
+
+This symbol, if defined, tells how many mantissa bits
+there are in double precision floating point format.
+Note that this is usually C<DBL_MANT_DIG> minus one, since
+with the standard C<IEEE> 754 formats C<DBL_MANT_DIG> includes
+the implicit bit which doesn't really exist.
+
+=item C<doublenanbytes>
+
+From F<infnan.U>:
+
+This variable contains comma-separated list of hexadecimal bytes
+for the double precision not-a-number.
+
+=item C<doublesize>
+
+From F<doublesize.U>:
+
+This variable contains the value of the C<DOUBLESIZE> symbol, which
+indicates to the C program how many bytes there are in a double.
+
+=item C<drand01>
+
+From F<randfunc.U>:
+
+Indicates the macro to be used to generate normalized
+random numbers. Uses randfunc, often divided by
+(double) (((unsigned long) 1 << randbits)) in order to
+normalize the result.
+In C programs, the macro C<Drand01> is mapped to drand01.
+
+=item C<drand48_r_proto>
+
+From F<d_drand48_r.U>:
+
+This variable encodes the prototype of drand48_r.
+It is zero if d_drand48_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_drand48_r
+is defined.
+
+=item C<dtrace>
+
+From F<usedtrace.U>:
+
+This variable holds the location of the dtrace executable.
+
+=item C<dtraceobject>
+
+From F<dtraceobject.U>:
+
+Whether we need to build an object file with the dtrace tool.
+
+=item C<dtracexnolibs>
+
+From F<dtraceobject.U>:
+
+Whether dtrace accepts -xnolibs. If available we call dtrace -h
+and dtrace -G with -xnolibs to allow dtrace to run in a jail on
+FreeBSD.
+
+=item C<dynamic_ext>
+
+From F<Extensions.U>:
+
+This variable holds a list of C<XS> extension files we want to
+link dynamically into the package. It is used by Makefile.
+
+=back
+
+=cut
+
+=head2 e
+
+=over 4
+
+=cut
+
+=item C<eagain>
+
+From F<nblock_io.U>:
+
+This variable bears the symbolic errno code set by read() when no
+data is present on the file and non-blocking I/O was enabled (otherwise,
+read() blocks naturally).
+
+=item C<ebcdic>
+
+From F<ebcdic.U>:
+
+This variable conditionally defines C<EBCDIC> if this
+system uses C<EBCDIC> encoding.
+
+=item C<echo>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the echo program. After Configure runs,
+the value is reset to a plain C<echo> and is not useful.
+
+=item C<egrep>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the egrep program. After Configure runs,
+the value is reset to a plain C<egrep> and is not useful.
+
+=item C<emacs>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<endgrent_r_proto>
+
+From F<d_endgrent_r.U>:
+
+This variable encodes the prototype of endgrent_r.
+It is zero if d_endgrent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endgrent_r
+is defined.
+
+=item C<endhostent_r_proto>
+
+From F<d_endhostent_r.U>:
+
+This variable encodes the prototype of endhostent_r.
+It is zero if d_endhostent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endhostent_r
+is defined.
+
+=item C<endnetent_r_proto>
+
+From F<d_endnetent_r.U>:
+
+This variable encodes the prototype of endnetent_r.
+It is zero if d_endnetent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endnetent_r
+is defined.
+
+=item C<endprotoent_r_proto>
+
+From F<d_endprotoent_r.U>:
+
+This variable encodes the prototype of endprotoent_r.
+It is zero if d_endprotoent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endprotoent_r
+is defined.
+
+=item C<endpwent_r_proto>
+
+From F<d_endpwent_r.U>:
+
+This variable encodes the prototype of endpwent_r.
+It is zero if d_endpwent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endpwent_r
+is defined.
+
+=item C<endservent_r_proto>
+
+From F<d_endservent_r.U>:
+
+This variable encodes the prototype of endservent_r.
+It is zero if d_endservent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endservent_r
+is defined.
+
+=item C<eunicefix>
+
+From F<Init.U>:
+
+When running under Eunice this variable contains a command which will
+convert a shell script to the proper form of text file for it to be
+executable by the shell. On other systems it is a no-op.
+
+=item C<exe_ext>
+
+From F<Unix.U>:
+
+This is an old synonym for _exe.
+
+=item C<expr>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the expr program. After Configure runs,
+the value is reset to a plain C<expr> and is not useful.
+
+=item C<extensions>
+
+From F<Extensions.U>:
+
+This variable holds a list of all extension files (both C<XS> and
+non-xs) installed with the package. It is propagated to F<Config.pm>
+and is typically used to test whether a particular extension
+is available.
+
+=item C<extern_C>
+
+From F<Csym.U>:
+
+C<ANSI> C requires C<extern> where C++ requires 'extern C<C>'. This
+variable can be used in Configure to do the right thing.
+
+=item C<extras>
+
+From F<Extras.U>:
+
+This variable holds a list of extra modules to install.
+
+=back
+
+=cut
+
+=head2 f
+
+=over 4
+
+=cut
+
+=item C<fflushall>
+
+From F<fflushall.U>:
+
+This symbol, if defined, tells that to flush
+all pending stdio output one must loop through all
+the stdio file handles stored in an array and fflush them.
+Note that if fflushNULL is defined, fflushall will not
+even be probed for and will be left undefined.
+
+=item C<fflushNULL>
+
+From F<fflushall.U>:
+
+This symbol, if defined, tells that fflush(C<NULL>) correctly
+flushes all pending stdio output without side effects. In
+particular, on some platforms calling fflush(C<NULL>) *still*
+corrupts C<STDIN> if it is a pipe.
+
+=item C<find>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<firstmakefile>
+
+From F<Unix.U>:
+
+This variable defines the first file searched by make. On unix,
+it is makefile (then Makefile). On case-insensitive systems,
+it might be something else. This is only used to deal with
+convoluted make depend tricks.
+
+=item C<flex>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<fpossize>
+
+From F<fpossize.U>:
+
+This variable contains the size of a fpostype in bytes.
+
+=item C<fpostype>
+
+From F<fpostype.U>:
+
+This variable defines Fpos_t to be something like fpos_t, long,
+uint, or whatever type is used to declare file positions in libc.
+
+=item C<freetype>
+
+From F<mallocsrc.U>:
+
+This variable contains the return type of free(). It is usually
+void, but occasionally int.
+
+=item C<from>
+
+From F<Cross.U>:
+
+This variable contains the command used by Configure
+to copy files from the target host. Useful and available
+only during Perl build.
+The string C<:> if not cross-compiling.
+
+=item C<full_ar>
+
+From F<Loc_ar.U>:
+
+This variable contains the full pathname to C<ar>, whether or
+not the user has specified C<portability>. This is only used
+in the F<Makefile.SH>.
+
+=item C<full_csh>
+
+From F<d_csh.U>:
+
+This variable contains the full pathname to C<csh>, whether or
+not the user has specified C<portability>. This is only used
+in the compiled C program, and we assume that all systems which
+can share this executable will have the same full pathname to
+F<csh.>
+
+=item C<full_sed>
+
+From F<Loc_sed.U>:
+
+This variable contains the full pathname to C<sed>, whether or
+not the user has specified C<portability>. This is only used
+in the compiled C program, and we assume that all systems which
+can share this executable will have the same full pathname to
+F<sed.>
+
+=back
+
+=cut
+
+=head2 g
+
+=over 4
+
+=cut
+
+=item C<gccansipedantic>
+
+From F<gccvers.U>:
+
+If C<GNU> cc (gcc) is used, this variable will enable (if set) the
+-ansi and -pedantic ccflags for building core files (through
+cflags script). (See F<Porting/pumpkin.pod> for full description).
+
+=item C<gccosandvers>
+
+From F<gccvers.U>:
+
+If C<GNU> cc (gcc) is used, this variable holds the operating system
+and version used to compile gcc. It is set to '' if not gcc,
+or if nothing useful can be parsed as the os version.
+
+=item C<gccversion>
+
+From F<gccvers.U>:
+
+If C<GNU> cc (gcc) is used, this variable holds C<1> or C<2> to
+indicate whether the compiler is version 1 or 2. This is used in
+setting some of the default cflags. It is set to '' if not gcc.
+
+=item C<getgrent_r_proto>
+
+From F<d_getgrent_r.U>:
+
+This variable encodes the prototype of getgrent_r.
+It is zero if d_getgrent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getgrent_r
+is defined.
+
+=item C<getgrgid_r_proto>
+
+From F<d_getgrgid_r.U>:
+
+This variable encodes the prototype of getgrgid_r.
+It is zero if d_getgrgid_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getgrgid_r
+is defined.
+
+=item C<getgrnam_r_proto>
+
+From F<d_getgrnam_r.U>:
+
+This variable encodes the prototype of getgrnam_r.
+It is zero if d_getgrnam_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getgrnam_r
+is defined.
+
+=item C<gethostbyaddr_r_proto>
+
+From F<d_gethostbyaddr_r.U>:
+
+This variable encodes the prototype of gethostbyaddr_r.
+It is zero if d_gethostbyaddr_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_gethostbyaddr_r
+is defined.
+
+=item C<gethostbyname_r_proto>
+
+From F<d_gethostbyname_r.U>:
+
+This variable encodes the prototype of gethostbyname_r.
+It is zero if d_gethostbyname_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_gethostbyname_r
+is defined.
+
+=item C<gethostent_r_proto>
+
+From F<d_gethostent_r.U>:
+
+This variable encodes the prototype of gethostent_r.
+It is zero if d_gethostent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_gethostent_r
+is defined.
+
+=item C<getlogin_r_proto>
+
+From F<d_getlogin_r.U>:
+
+This variable encodes the prototype of getlogin_r.
+It is zero if d_getlogin_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getlogin_r
+is defined.
+
+=item C<getnetbyaddr_r_proto>
+
+From F<d_getnetbyaddr_r.U>:
+
+This variable encodes the prototype of getnetbyaddr_r.
+It is zero if d_getnetbyaddr_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getnetbyaddr_r
+is defined.
+
+=item C<getnetbyname_r_proto>
+
+From F<d_getnetbyname_r.U>:
+
+This variable encodes the prototype of getnetbyname_r.
+It is zero if d_getnetbyname_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getnetbyname_r
+is defined.
+
+=item C<getnetent_r_proto>
+
+From F<d_getnetent_r.U>:
+
+This variable encodes the prototype of getnetent_r.
+It is zero if d_getnetent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getnetent_r
+is defined.
+
+=item C<getprotobyname_r_proto>
+
+From F<d_getprotobyname_r.U>:
+
+This variable encodes the prototype of getprotobyname_r.
+It is zero if d_getprotobyname_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getprotobyname_r
+is defined.
+
+=item C<getprotobynumber_r_proto>
+
+From F<d_getprotobynumber_r.U>:
+
+This variable encodes the prototype of getprotobynumber_r.
+It is zero if d_getprotobynumber_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getprotobynumber_r
+is defined.
+
+=item C<getprotoent_r_proto>
+
+From F<d_getprotoent_r.U>:
+
+This variable encodes the prototype of getprotoent_r.
+It is zero if d_getprotoent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getprotoent_r
+is defined.
+
+=item C<getpwent_r_proto>
+
+From F<d_getpwent_r.U>:
+
+This variable encodes the prototype of getpwent_r.
+It is zero if d_getpwent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getpwent_r
+is defined.
+
+=item C<getpwnam_r_proto>
+
+From F<d_getpwnam_r.U>:
+
+This variable encodes the prototype of getpwnam_r.
+It is zero if d_getpwnam_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getpwnam_r
+is defined.
+
+=item C<getpwuid_r_proto>
+
+From F<d_getpwuid_r.U>:
+
+This variable encodes the prototype of getpwuid_r.
+It is zero if d_getpwuid_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getpwuid_r
+is defined.
+
+=item C<getservbyname_r_proto>
+
+From F<d_getservbyname_r.U>:
+
+This variable encodes the prototype of getservbyname_r.
+It is zero if d_getservbyname_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getservbyname_r
+is defined.
+
+=item C<getservbyport_r_proto>
+
+From F<d_getservbyport_r.U>:
+
+This variable encodes the prototype of getservbyport_r.
+It is zero if d_getservbyport_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getservbyport_r
+is defined.
+
+=item C<getservent_r_proto>
+
+From F<d_getservent_r.U>:
+
+This variable encodes the prototype of getservent_r.
+It is zero if d_getservent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getservent_r
+is defined.
+
+=item C<getspnam_r_proto>
+
+From F<d_getspnam_r.U>:
+
+This variable encodes the prototype of getspnam_r.
+It is zero if d_getspnam_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getspnam_r
+is defined.
+
+=item C<gidformat>
+
+From F<gidf.U>:
+
+This variable contains the format string used for printing a Gid_t.
+
+=item C<gidsign>
+
+From F<gidsign.U>:
+
+This variable contains the signedness of a gidtype.
+1 for unsigned, -1 for signed.
+
+=item C<gidsize>
+
+From F<gidsize.U>:
+
+This variable contains the size of a gidtype in bytes.
+
+=item C<gidtype>
+
+From F<gidtype.U>:
+
+This variable defines Gid_t to be something like gid_t, int,
+ushort, or whatever type is used to declare the return type
+of getgid(). Typically, it is the type of group ids in the kernel.
+
+=item C<glibpth>
+
+From F<libpth.U>:
+
+This variable holds the general path (space-separated) used to
+find libraries. It may contain directories that do not exist on
+this platform, libpth is the cleaned-up version.
+
+=item C<gmake>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the gmake program. After Configure runs,
+the value is reset to a plain C<gmake> and is not useful.
+
+=item C<gmtime_r_proto>
+
+From F<d_gmtime_r.U>:
+
+This variable encodes the prototype of gmtime_r.
+It is zero if d_gmtime_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_gmtime_r
+is defined.
+
+=item C<gnulibc_version>
+
+From F<d_gnulibc.U>:
+
+This variable contains the version number of the C<GNU> C library.
+It is usually something like F<2.2.5>. It is a plain '' if this
+is not the C<GNU> C library, or if the version is unknown.
+
+=item C<grep>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the grep program. After Configure runs,
+the value is reset to a plain C<grep> and is not useful.
+
+=item C<groupcat>
+
+From F<nis.U>:
+
+This variable contains a command that produces the text of the
+F</etc/group> file. This is normally "cat F</etc/group>", but can be
+"ypcat group" when C<NIS> is used.
+On some systems, such as os390, there may be no equivalent
+command, in which case this variable is unset.
+
+=item C<groupstype>
+
+From F<groupstype.U>:
+
+This variable defines Groups_t to be something like gid_t, int,
+ushort, or whatever type is used for the second argument to
+getgroups() and setgroups(). Usually, this is the same as
+gidtype (gid_t), but sometimes it isn't.
+
+=item C<gzip>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the gzip program. After Configure runs,
+the value is reset to a plain C<gzip> and is not useful.
+
+=back
+
+=cut
+
+=head2 h
+
+=over 4
+
+=cut
+
+=item C<h_fcntl>
+
+From F<h_fcntl.U>:
+
+This is variable gets set in various places to tell i_fcntl that
+<fcntl.h> should be included.
+
+=item C<h_sysfile>
+
+From F<h_sysfile.U>:
+
+This is variable gets set in various places to tell i_sys_file that
+<sys/file.h> should be included.
+
+=item C<hint>
+
+From F<Oldconfig.U>:
+
+Gives the type of hints used for previous answers. May be one of
+C<default>, C<recommended> or C<previous>.
+
+=item C<hostcat>
+
+From F<nis.U>:
+
+This variable contains a command that produces the text of the
+F</etc/hosts> file. This is normally "cat F</etc/hosts>", but can be
+"ypcat hosts" when C<NIS> is used.
+On some systems, such as os390, there may be no equivalent
+command, in which case this variable is unset.
+
+=item C<hostgenerate>
+
+From F<Cross.U>:
+
+This variable contains the path to a generate_uudmap binary that
+can be run on the host C<OS> when cross-compiling. Useful and
+available only during Perl build.
+Empty string '' if not cross-compiling.
+
+=item C<hostosname>
+
+From F<Cross.U>:
+
+This variable contains the original value of C<$^O> for hostperl
+when cross-compiling. This is useful to pick the proper tools
+when running build code in the host.
+Empty string '' if not cross-compiling.
+
+=item C<hostperl>
+
+From F<Cross.U>:
+
+This variable contains the path to a miniperl binary that can be
+run on the host C<OS> when cross-compiling. Useful and available only
+during Perl build.
+Empty string '' if not cross-compiling.
+
+=item C<html1dir>
+
+From F<html1dir.U>:
+
+This variable contains the name of the directory in which html
+source pages are to be put. This directory is for pages
+that describe whole programs, not libraries or modules. It
+is intended to correspond roughly to section 1 of the Unix
+manuals.
+
+=item C<html1direxp>
+
+From F<html1dir.U>:
+
+This variable is the same as the html1dir variable, but is filename
+expanded at configuration time, for convenient use in makefiles.
+
+=item C<html3dir>
+
+From F<html3dir.U>:
+
+This variable contains the name of the directory in which html
+source pages are to be put. This directory is for pages
+that describe libraries or modules. It is intended to
+correspond roughly to section 3 of the Unix manuals.
+
+=item C<html3direxp>
+
+From F<html3dir.U>:
+
+This variable is the same as the html3dir variable, but is filename
+expanded at configuration time, for convenient use in makefiles.
+
+=back
+
+=cut
+
+=head2 i
+
+=over 4
+
+=cut
+
+=item C<i16size>
+
+From F<perlxv.U>:
+
+This variable is the size of an I16 in bytes.
+
+=item C<i16type>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's I16.
+
+=item C<i32size>
+
+From F<perlxv.U>:
+
+This variable is the size of an I32 in bytes.
+
+=item C<i32type>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's I32.
+
+=item C<i64size>
+
+From F<perlxv.U>:
+
+This variable is the size of an I64 in bytes.
+
+=item C<i64type>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's I64.
+
+=item C<i8size>
+
+From F<perlxv.U>:
+
+This variable is the size of an I8 in bytes.
+
+=item C<i8type>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's I8.
+
+=item C<i_arpainet>
+
+From F<i_arpainet.U>:
+
+This variable conditionally defines the C<I_ARPA_INET> symbol,
+and indicates whether a C program should include <arpa/inet.h>.
+
+=item C<i_bfd>
+
+From F<i_bfd.U>:
+
+This variable conditionally defines the C<I_BFD> symbol, and
+indicates whether a C program can include <bfd.h>.
+
+=item C<i_bsdioctl>
+
+From F<i_sysioctl.U>:
+
+This variable conditionally defines the C<I_SYS_BSDIOCTL> symbol, which
+indicates to the C program that <sys/bsdioctl.h> exists and should
+be included.
+
+=item C<i_crypt>
+
+From F<i_crypt.U>:
+
+This variable conditionally defines the C<I_CRYPT> symbol, and indicates
+whether a C program should include <crypt.h>.
+
+=item C<i_db>
+
+From F<i_db.U>:
+
+This variable conditionally defines the C<I_DB> symbol, and indicates
+whether a C program may include Berkeley's C<DB> include file <db.h>.
+
+=item C<i_dbm>
+
+From F<i_dbm.U>:
+
+This variable conditionally defines the C<I_DBM> symbol, which
+indicates to the C program that <dbm.h> exists and should
+be included.
+
+=item C<i_dirent>
+
+From F<i_dirent.U>:
+
+This variable conditionally defines C<I_DIRENT>, which indicates
+to the C program that it should include <dirent.h>.
+
+=item C<i_dlfcn>
+
+From F<i_dlfcn.U>:
+
+This variable conditionally defines the C<I_DLFCN> symbol, which
+indicates to the C program that <dlfcn.h> exists and should
+be included.
+
+=item C<i_execinfo>
+
+From F<i_execinfo.U>:
+
+This variable conditionally defines the C<I_EXECINFO> symbol, and indicates
+whether a C program may include <execinfo.h>, for backtrace() support.
+
+=item C<i_fcntl>
+
+From F<i_fcntl.U>:
+
+This variable controls the value of C<I_FCNTL> (which tells
+the C program to include <fcntl.h>).
+
+=item C<i_fenv>
+
+From F<i_fenv.U>:
+
+This variable conditionally defines the C<I_FENV> symbol, which
+indicates to the C program that <fenv.h> exists and should
+be included.
+
+=item C<i_fp>
+
+From F<i_fp.U>:
+
+This variable conditionally defines the C<I_FP> symbol, and indicates
+whether a C program should include <fp.h>.
+
+=item C<i_fp_class>
+
+From F<i_fp_class.U>:
+
+This variable conditionally defines the C<I_FP_CLASS> symbol, and indicates
+whether a C program should include <fp_class.h>.
+
+=item C<i_gdbm>
+
+From F<i_gdbm.U>:
+
+This variable conditionally defines the C<I_GDBM> symbol, which
+indicates to the C program that <gdbm.h> exists and should
+be included.
+
+=item C<i_gdbm_ndbm>
+
+From F<i_ndbm.U>:
+
+This variable conditionally defines the C<I_GDBM_NDBM> symbol, which
+indicates to the C program that <gdbm-F<ndbm.h>> exists and should
+be included. This is the location of the F<ndbm.h> compatibility file
+in Debian 4.0.
+
+=item C<i_gdbmndbm>
+
+From F<i_ndbm.U>:
+
+This variable conditionally defines the C<I_GDBMNDBM> symbol, which
+indicates to the C program that <gdbm/ndbm.h> exists and should
+be included. This was the location of the F<ndbm.h> compatibility file
+in RedHat 7.1.
+
+=item C<i_grp>
+
+From F<i_grp.U>:
+
+This variable conditionally defines the C<I_GRP> symbol, and indicates
+whether a C program should include <grp.h>.
+
+=item C<i_ieeefp>
+
+From F<i_ieeefp.U>:
+
+This variable conditionally defines the C<I_IEEEFP> symbol, and indicates
+whether a C program should include <ieeefp.h>.
+
+=item C<i_inttypes>
+
+From F<i_inttypes.U>:
+
+This variable conditionally defines the C<I_INTTYPES> symbol,
+and indicates whether a C program should include <inttypes.h>.
+
+=item C<i_langinfo>
+
+From F<i_langinfo.U>:
+
+This variable conditionally defines the C<I_LANGINFO> symbol,
+and indicates whether a C program should include <langinfo.h>.
+
+=item C<i_libutil>
+
+From F<i_libutil.U>:
+
+This variable conditionally defines the C<I_LIBUTIL> symbol, and indicates
+whether a C program should include <libutil.h>.
+
+=item C<i_locale>
+
+From F<i_locale.U>:
+
+This variable conditionally defines the C<I_LOCALE> symbol,
+and indicates whether a C program should include <locale.h>.
+
+=item C<i_machcthr>
+
+From F<i_machcthr.U>:
+
+This variable conditionally defines the C<I_MACH_CTHREADS> symbol,
+and indicates whether a C program should include <mach/cthreads.h>.
+
+=item C<i_malloc>
+
+From F<i_malloc.U>:
+
+This variable conditionally defines the C<I_MALLOC> symbol, and indicates
+whether a C program should include <malloc.h>.
+
+=item C<i_mallocmalloc>
+
+From F<i_mallocmalloc.U>:
+
+This variable conditionally defines the C<I_MALLOCMALLOC> symbol,
+and indicates whether a C program should include <malloc/malloc.h>.
+
+=item C<i_mntent>
+
+From F<i_mntent.U>:
+
+This variable conditionally defines the C<I_MNTENT> symbol, and indicates
+whether a C program should include <mntent.h>.
+
+=item C<i_ndbm>
+
+From F<i_ndbm.U>:
+
+This variable conditionally defines the C<I_NDBM> symbol, which
+indicates to the C program that <ndbm.h> exists and should
+be included.
+
+=item C<i_netdb>
+
+From F<i_netdb.U>:
+
+This variable conditionally defines the C<I_NETDB> symbol, and indicates
+whether a C program should include <netdb.h>.
+
+=item C<i_neterrno>
+
+From F<i_neterrno.U>:
+
+This variable conditionally defines the C<I_NET_ERRNO> symbol, which
+indicates to the C program that <net/errno.h> exists and should
+be included.
+
+=item C<i_netinettcp>
+
+From F<i_netinettcp.U>:
+
+This variable conditionally defines the C<I_NETINET_TCP> symbol,
+and indicates whether a C program should include <netinet/tcp.h>.
+
+=item C<i_niin>
+
+From F<i_niin.U>:
+
+This variable conditionally defines C<I_NETINET_IN>, which indicates
+to the C program that it should include <netinet/in.h>. Otherwise,
+you may try <sys/in.h>.
+
+=item C<i_poll>
+
+From F<i_poll.U>:
+
+This variable conditionally defines the C<I_POLL> symbol, and indicates
+whether a C program should include <poll.h>.
+
+=item C<i_prot>
+
+From F<i_prot.U>:
+
+This variable conditionally defines the C<I_PROT> symbol, and indicates
+whether a C program should include <prot.h>.
+
+=item C<i_pthread>
+
+From F<i_pthread.U>:
+
+This variable conditionally defines the C<I_PTHREAD> symbol,
+and indicates whether a C program should include <pthread.h>.
+
+=item C<i_pwd>
+
+From F<i_pwd.U>:
+
+This variable conditionally defines C<I_PWD>, which indicates
+to the C program that it should include <pwd.h>.
+
+=item C<i_quadmath>
+
+From F<i_quadmath.U>:
+
+This variable conditionally defines C<I_QUADMATH>, which indicates
+to the C program that it should include <quadmath.h>.
+
+=item C<i_rpcsvcdbm>
+
+From F<i_dbm.U>:
+
+This variable conditionally defines the C<I_RPCSVC_DBM> symbol, which
+indicates to the C program that <rpcsvc/dbm.h> exists and should
+be included. Some System V systems might need this instead of <dbm.h>.
+
+=item C<i_sgtty>
+
+From F<i_termio.U>:
+
+This variable conditionally defines the C<I_SGTTY> symbol, which
+indicates to the C program that it should include <sgtty.h> rather
+than <termio.h>.
+
+=item C<i_shadow>
+
+From F<i_shadow.U>:
+
+This variable conditionally defines the C<I_SHADOW> symbol, and indicates
+whether a C program should include <shadow.h>.
+
+=item C<i_socks>
+
+From F<i_socks.U>:
+
+This variable conditionally defines the C<I_SOCKS> symbol, and indicates
+whether a C program should include <socks.h>.
+
+=item C<i_stdbool>
+
+From F<i_stdbool.U>:
+
+This variable conditionally defines the C<I_STDBOOL> symbol, which
+indicates to the C program that <stdbool.h> exists and should
+be included.
+
+=item C<i_stdint>
+
+From F<i_stdint.U>:
+
+This variable conditionally defines the C<I_STDINT> symbol, which
+indicates to the C program that <stdint.h> exists and should
+be included.
+
+=item C<i_stdlib>
+
+From F<i_stdlib.U>:
+
+This variable unconditionally defines the C<I_STDLIB> symbol.
+
+=item C<i_sunmath>
+
+From F<i_sunmath.U>:
+
+This variable conditionally defines the C<I_SUNMATH> symbol, and indicates
+whether a C program should include <sunmath.h>.
+
+=item C<i_sysaccess>
+
+From F<i_sysaccess.U>:
+
+This variable conditionally defines the C<I_SYS_ACCESS> symbol,
+and indicates whether a C program should include <sys/access.h>.
+
+=item C<i_sysdir>
+
+From F<i_sysdir.U>:
+
+This variable conditionally defines the C<I_SYS_DIR> symbol, and indicates
+whether a C program should include <sys/dir.h>.
+
+=item C<i_sysfile>
+
+From F<i_sysfile.U>:
+
+This variable conditionally defines the C<I_SYS_FILE> symbol, and indicates
+whether a C program should include <sys/file.h> to get C<R_OK> and friends.
+
+=item C<i_sysfilio>
+
+From F<i_sysioctl.U>:
+
+This variable conditionally defines the C<I_SYS_FILIO> symbol, which
+indicates to the C program that <sys/filio.h> exists and should
+be included in preference to <sys/ioctl.h>.
+
+=item C<i_sysin>
+
+From F<i_niin.U>:
+
+This variable conditionally defines C<I_SYS_IN>, which indicates
+to the C program that it should include <sys/in.h> instead of
+<netinet/in.h>.
+
+=item C<i_sysioctl>
+
+From F<i_sysioctl.U>:
+
+This variable conditionally defines the C<I_SYS_IOCTL> symbol, which
+indicates to the C program that <sys/ioctl.h> exists and should
+be included.
+
+=item C<i_syslog>
+
+From F<i_syslog.U>:
+
+This variable conditionally defines the C<I_SYSLOG> symbol,
+and indicates whether a C program should include <syslog.h>.
+
+=item C<i_sysmman>
+
+From F<i_sysmman.U>:
+
+This variable conditionally defines the C<I_SYS_MMAN> symbol,
+and indicates whether a C program should include <sys/mman.h>.
+
+=item C<i_sysmode>
+
+From F<i_sysmode.U>:
+
+This variable conditionally defines the C<I_SYSMODE> symbol,
+and indicates whether a C program should include <sys/mode.h>.
+
+=item C<i_sysmount>
+
+From F<i_sysmount.U>:
+
+This variable conditionally defines the C<I_SYSMOUNT> symbol,
+and indicates whether a C program should include <sys/mount.h>.
+
+=item C<i_sysndir>
+
+From F<i_sysndir.U>:
+
+This variable conditionally defines the C<I_SYS_NDIR> symbol, and indicates
+whether a C program should include <sys/ndir.h>.
+
+=item C<i_sysparam>
+
+From F<i_sysparam.U>:
+
+This variable conditionally defines the C<I_SYS_PARAM> symbol, and indicates
+whether a C program should include <sys/param.h>.
+
+=item C<i_syspoll>
+
+From F<i_syspoll.U>:
+
+This variable conditionally defines the C<I_SYS_POLL> symbol, which
+indicates to the C program that it should include <sys/poll.h>.
+
+=item C<i_sysresrc>
+
+From F<i_sysresrc.U>:
+
+This variable conditionally defines the C<I_SYS_RESOURCE> symbol,
+and indicates whether a C program should include <sys/resource.h>.
+
+=item C<i_syssecrt>
+
+From F<i_syssecrt.U>:
+
+This variable conditionally defines the C<I_SYS_SECURITY> symbol,
+and indicates whether a C program should include <sys/security.h>.
+
+=item C<i_sysselct>
+
+From F<i_sysselct.U>:
+
+This variable conditionally defines C<I_SYS_SELECT>, which indicates
+to the C program that it should include <sys/select.h> in order to
+get the definition of struct timeval.
+
+=item C<i_syssockio>
+
+From F<i_sysioctl.U>:
+
+This variable conditionally defines C<I_SYS_SOCKIO> to indicate to the
+C program that socket ioctl codes may be found in <sys/sockio.h>
+instead of <sys/ioctl.h>.
+
+=item C<i_sysstat>
+
+From F<i_sysstat.U>:
+
+This variable conditionally defines the C<I_SYS_STAT> symbol,
+and indicates whether a C program should include <sys/stat.h>.
+
+=item C<i_sysstatfs>
+
+From F<i_sysstatfs.U>:
+
+This variable conditionally defines the C<I_SYSSTATFS> symbol,
+and indicates whether a C program should include <sys/statfs.h>.
+
+=item C<i_sysstatvfs>
+
+From F<i_sysstatvfs.U>:
+
+This variable conditionally defines the C<I_SYSSTATVFS> symbol,
+and indicates whether a C program should include <sys/statvfs.h>.
+
+=item C<i_systime>
+
+From F<i_time.U>:
+
+This variable conditionally defines C<I_SYS_TIME>, which indicates
+to the C program that it should include <sys/time.h>.
+
+=item C<i_systimek>
+
+From F<i_time.U>:
+
+This variable conditionally defines C<I_SYS_TIME_KERNEL>, which
+indicates to the C program that it should include <sys/time.h>
+with C<KERNEL> defined.
+
+=item C<i_systimes>
+
+From F<i_systimes.U>:
+
+This variable conditionally defines the C<I_SYS_TIMES> symbol, and indicates
+whether a C program should include <sys/times.h>.
+
+=item C<i_systypes>
+
+From F<i_systypes.U>:
+
+This variable conditionally defines the C<I_SYS_TYPES> symbol,
+and indicates whether a C program should include <sys/types.h>.
+
+=item C<i_sysuio>
+
+From F<i_sysuio.U>:
+
+This variable conditionally defines the C<I_SYSUIO> symbol, and indicates
+whether a C program should include <sys/uio.h>.
+
+=item C<i_sysun>
+
+From F<i_sysun.U>:
+
+This variable conditionally defines C<I_SYS_UN>, which indicates
+to the C program that it should include <sys/un.h> to get C<UNIX>
+domain socket definitions.
+
+=item C<i_sysutsname>
+
+From F<i_sysutsname.U>:
+
+This variable conditionally defines the C<I_SYSUTSNAME> symbol,
+and indicates whether a C program should include <sys/utsname.h>.
+
+=item C<i_sysvfs>
+
+From F<i_sysvfs.U>:
+
+This variable conditionally defines the C<I_SYSVFS> symbol,
+and indicates whether a C program should include <sys/vfs.h>.
+
+=item C<i_syswait>
+
+From F<i_syswait.U>:
+
+This variable conditionally defines C<I_SYS_WAIT>, which indicates
+to the C program that it should include <sys/wait.h>.
+
+=item C<i_termio>
+
+From F<i_termio.U>:
+
+This variable conditionally defines the C<I_TERMIO> symbol, which
+indicates to the C program that it should include <termio.h> rather
+than <sgtty.h>.
+
+=item C<i_termios>
+
+From F<i_termio.U>:
+
+This variable conditionally defines the C<I_TERMIOS> symbol, which
+indicates to the C program that the C<POSIX> <termios.h> file is
+to be included.
+
+=item C<i_time>
+
+From F<i_time.U>:
+
+This variable unconditionally defines C<I_TIME>, which indicates
+to the C program that it should include <time.h>.
+
+=item C<i_unistd>
+
+From F<i_unistd.U>:
+
+This variable conditionally defines the C<I_UNISTD> symbol, and indicates
+whether a C program should include <unistd.h>.
+
+=item C<i_ustat>
+
+From F<i_ustat.U>:
+
+This variable conditionally defines the C<I_USTAT> symbol, and indicates
+whether a C program should include <ustat.h>.
+
+=item C<i_utime>
+
+From F<i_utime.U>:
+
+This variable conditionally defines the C<I_UTIME> symbol, and indicates
+whether a C program should include <utime.h>.
+
+=item C<i_vfork>
+
+From F<i_vfork.U>:
+
+This variable conditionally defines the C<I_VFORK> symbol, and indicates
+whether a C program should include F<vfork.h>.
+
+=item C<i_wchar>
+
+From F<i_wchar.U>:
+
+This variable conditionally defines the C<I_WCHAR> symbol,
+that indicates whether a C program may include <wchar.h>.
+
+=item C<i_xlocale>
+
+From F<d_newlocale.U>:
+
+This symbol, if defined, indicates to the C program that it should
+include <xlocale.h> to get uselocale() and its friends
+
+=item C<ignore_versioned_solibs>
+
+From F<libs.U>:
+
+This variable should be non-empty if non-versioned shared
+libraries (F<libfoo.so.x.y>) are to be ignored (because they
+cannot be linked against).
+
+=item C<inc_version_list>
+
+From F<inc_version_list.U>:
+
+This variable specifies the list of subdirectories in over
+which F<perl.c>:incpush() and F<lib/lib.pm> will automatically
+search when adding directories to @C<INC>. The elements in
+the list are separated by spaces. This is only useful
+if you have a perl library directory tree structured like the
+default one. See C<INSTALL> for how this works. The versioned
+site_perl directory was introduced in 5.005, so that is the
+lowest possible value.
+
+This list includes architecture-dependent directories back to
+version $api_versionstring (e.g. 5.5.640) and
+architecture-independent directories all the way back to
+5.005.
+
+=item C<inc_version_list_init>
+
+From F<inc_version_list.U>:
+
+This variable holds the same list as inc_version_list, but
+each item is enclosed in double quotes and separated by commas,
+suitable for use in the C<PERL_INC_VERSION_LIST> initialization.
+
+=item C<incpath>
+
+From F<usrinc.U>:
+
+This variable must precede the normal include path to get the
+right one, as in F<$incpath/usr/include> or F<$incpath/usr/lib>.
+Value can be "" or F</bsd43> on mips.
+
+=item C<incpth>
+
+From F<libpth.U>:
+
+This variable must precede the normal include path to get the
+right one, as in F<$incpath/usr/include> or F<$incpath/usr/lib>.
+Value can be "" or F</bsd43> on mips.
+
+=item C<inews>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<initialinstalllocation>
+
+From F<bin.U>:
+
+When userelocatableinc is true, this variable holds the location
+that make install should copy the perl binary to, with all the
+run-time relocatable paths calculated from this at install time.
+When used, it is initialized to the original value of binexp, and
+then binexp is set to F<.../>, as the other binaries are found
+relative to the perl binary.
+
+=item C<installarchlib>
+
+From F<archlib.U>:
+
+This variable is really the same as archlibexp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installbin>
+
+From F<bin.U>:
+
+This variable is the same as binexp unless C<AFS> is running in which case
+the user is explicitly prompted for it. This variable should always
+be used in your makefiles for maximum portability.
+
+=item C<installhtml1dir>
+
+From F<html1dir.U>:
+
+This variable is really the same as html1direxp, unless you are
+using a different installprefix. For extra portability, you
+should only use this variable within your makefiles.
+
+=item C<installhtml3dir>
+
+From F<html3dir.U>:
+
+This variable is really the same as html3direxp, unless you are
+using a different installprefix. For extra portability, you
+should only use this variable within your makefiles.
+
+=item C<installman1dir>
+
+From F<man1dir.U>:
+
+This variable is really the same as man1direxp, unless you are using
+C<AFS> in which case it points to the read/write location whereas
+man1direxp only points to the read-only access location. For extra
+portability, you should only use this variable within your makefiles.
+
+=item C<installman3dir>
+
+From F<man3dir.U>:
+
+This variable is really the same as man3direxp, unless you are using
+C<AFS> in which case it points to the read/write location whereas
+man3direxp only points to the read-only access location. For extra
+portability, you should only use this variable within your makefiles.
+
+=item C<installprefix>
+
+From F<installprefix.U>:
+
+This variable holds the name of the directory below which
+"make install" will install the package. For most users, this
+is the same as prefix. However, it is useful for
+installing the software into a different (usually temporary)
+location after which it can be bundled up and moved somehow
+to the final location specified by prefix.
+
+=item C<installprefixexp>
+
+From F<installprefix.U>:
+
+This variable holds the full absolute path of installprefix
+with all F<~>-expansion done.
+
+=item C<installprivlib>
+
+From F<privlib.U>:
+
+This variable is really the same as privlibexp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installscript>
+
+From F<scriptdir.U>:
+
+This variable is usually the same as scriptdirexp, unless you are on
+a system running C<AFS>, in which case they may differ slightly. You
+should always use this variable within your makefiles for portability.
+
+=item C<installsitearch>
+
+From F<sitearch.U>:
+
+This variable is really the same as sitearchexp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installsitebin>
+
+From F<sitebin.U>:
+
+This variable is usually the same as sitebinexp, unless you are on
+a system running C<AFS>, in which case they may differ slightly. You
+should always use this variable within your makefiles for portability.
+
+=item C<installsitehtml1dir>
+
+From F<sitehtml1dir.U>:
+
+This variable is really the same as sitehtml1direxp, unless you are using
+C<AFS> in which case it points to the read/write location whereas
+html1direxp only points to the read-only access location. For extra
+portability, you should only use this variable within your makefiles.
+
+=item C<installsitehtml3dir>
+
+From F<sitehtml3dir.U>:
+
+This variable is really the same as sitehtml3direxp, unless you are using
+C<AFS> in which case it points to the read/write location whereas
+html3direxp only points to the read-only access location. For extra
+portability, you should only use this variable within your makefiles.
+
+=item C<installsitelib>
+
+From F<sitelib.U>:
+
+This variable is really the same as sitelibexp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installsiteman1dir>
+
+From F<siteman1dir.U>:
+
+This variable is really the same as siteman1direxp, unless you are using
+C<AFS> in which case it points to the read/write location whereas
+man1direxp only points to the read-only access location. For extra
+portability, you should only use this variable within your makefiles.
+
+=item C<installsiteman3dir>
+
+From F<siteman3dir.U>:
+
+This variable is really the same as siteman3direxp, unless you are using
+C<AFS> in which case it points to the read/write location whereas
+man3direxp only points to the read-only access location. For extra
+portability, you should only use this variable within your makefiles.
+
+=item C<installsitescript>
+
+From F<sitescript.U>:
+
+This variable is usually the same as sitescriptexp, unless you are on
+a system running C<AFS>, in which case they may differ slightly. You
+should always use this variable within your makefiles for portability.
+
+=item C<installstyle>
+
+From F<installstyle.U>:
+
+This variable describes the C<style> of the perl installation.
+This is intended to be useful for tools that need to
+manipulate entire perl distributions. Perl itself doesn't use
+this to find its libraries -- the library directories are
+stored directly in F<Config.pm>. Currently, there are only two
+styles: C<lib> and F<lib/perl5>. The default library locations
+(e.g. privlib, sitelib) are either F<$prefix/lib> or
+F<$prefix/lib/perl5>. The former is useful if $prefix is a
+directory dedicated to perl (e.g. F</opt/perl>), while the latter
+is useful if $prefix is shared by many packages, e.g. if
+$prefix=F</usr/local>.
+
+Unfortunately, while this C<style> variable is used to set
+defaults for all three directory hierarchies (core, vendor, and
+site), there is no guarantee that the same style is actually
+appropriate for all those directories. For example, $prefix
+might be F</opt/perl>, but $siteprefix might be F</usr/local>.
+(Perhaps, in retrospect, the C<lib> style should never have been
+supported, but it did seem like a nice idea at the time.)
+
+The situation is even less clear for tools such as MakeMaker
+that can be used to install additional modules into
+non-standard places. For example, if a user intends to install
+a module into a private directory (perhaps by setting C<PREFIX> on
+the F<Makefile.PL> command line), then there is no reason to
+assume that the Configure-time $installstyle setting will be
+relevant for that C<PREFIX>.
+
+This may later be extended to include other information, so
+be careful with pattern-matching on the results.
+
+For compatibility with F<perl5.005> and earlier, the default
+setting is based on whether or not $prefix contains the string
+C<perl>.
+
+=item C<installusrbinperl>
+
+From F<instubperl.U>:
+
+This variable tells whether Perl should be installed also as
+F</usr/bin/perl> in addition to
+F<$installbin/perl>
+
+=item C<installvendorarch>
+
+From F<vendorarch.U>:
+
+This variable is really the same as vendorarchexp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installvendorbin>
+
+From F<vendorbin.U>:
+
+This variable is really the same as vendorbinexp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installvendorhtml1dir>
+
+From F<vendorhtml1dir.U>:
+
+This variable is really the same as vendorhtml1direxp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installvendorhtml3dir>
+
+From F<vendorhtml3dir.U>:
+
+This variable is really the same as vendorhtml3direxp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installvendorlib>
+
+From F<vendorlib.U>:
+
+This variable is really the same as vendorlibexp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installvendorman1dir>
+
+From F<vendorman1dir.U>:
+
+This variable is really the same as vendorman1direxp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installvendorman3dir>
+
+From F<vendorman3dir.U>:
+
+This variable is really the same as vendorman3direxp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<installvendorscript>
+
+From F<vendorscript.U>:
+
+This variable is really the same as vendorscriptexp but may differ on
+those systems using C<AFS>. For extra portability, only this variable
+should be used in makefiles.
+
+=item C<intsize>
+
+From F<intsize.U>:
+
+This variable contains the value of the C<INTSIZE> symbol, which
+indicates to the C program how many bytes there are in an int.
+
+=item C<issymlink>
+
+From F<issymlink.U>:
+
+This variable holds the test command to test for a symbolic link
+(if they are supported). Typical values include C<test -h> and
+C<test -L>.
+
+=item C<ivdformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<IV> as a signed decimal integer.
+
+=item C<ivsize>
+
+From F<perlxv.U>:
+
+This variable is the size of an C<IV> in bytes.
+
+=item C<ivtype>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's C<IV>.
+
+=back
+
+=cut
+
+=head2 k
+
+=over 4
+
+=cut
+
+=item C<known_extensions>
+
+From F<Extensions.U>:
+
+This variable holds a list of all extensions (both C<XS> and non-xs)
+included in the package source distribution. This information is
+only really of use during the Perl build, as the list makes no
+distinction between extensions which were build and installed, and
+those which where not. See C<extensions> for the list of extensions
+actually built and available.
+
+=item C<ksh>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=back
+
+=cut
+
+=head2 l
+
+=over 4
+
+=cut
+
+=item C<ld>
+
+From F<dlsrc.U>:
+
+This variable indicates the program to be used to link
+libraries for dynamic loading. On some systems, it is C<ld>.
+On C<ELF> systems, it should be $cc. Mostly, we'll try to respect
+the hint file setting.
+
+=item C<ld_can_script>
+
+From F<dlsrc.U>:
+
+This variable shows if the loader accepts scripts in the form of
+-Wl,--version-script=F<ld.script>. This is currently only supported
+for C<GNU> ld on C<ELF> in dynamic loading builds.
+
+=item C<lddlflags>
+
+From F<dlsrc.U>:
+
+This variable contains any special flags that might need to be
+passed to $ld to create a shared library suitable for dynamic
+loading. It is up to the makefile to use it. For hpux, it
+should be C<-b>. For sunos 4.1, it is empty.
+
+=item C<ldflags>
+
+From F<ccflags.U>:
+
+This variable contains any additional C loader flags desired by
+the user. It is up to the Makefile to use this.
+
+=item C<ldflags_uselargefiles>
+
+From F<uselfs.U>:
+
+This variable contains the loader flags needed by large file builds
+and added to ldflags by hints files.
+
+=item C<ldlibpthname>
+
+From F<libperl.U>:
+
+This variable holds the name of the shared library
+search path, often C<LD_LIBRARY_PATH>. To get an empty
+string, the hints file must set this to C<none>.
+
+=item C<less>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the less program. After Configure runs,
+the value is reset to a plain C<less> and is not useful.
+
+=item C<lib_ext>
+
+From F<Unix.U>:
+
+This is an old synonym for _a.
+
+=item C<libc>
+
+From F<libc.U>:
+
+This variable contains the location of the C library.
+
+=item C<libperl>
+
+From F<libperl.U>:
+
+The perl executable is obtained by linking F<perlmain.c> with
+libperl, any static extensions (usually just DynaLoader),
+and any other libraries needed on this system. libperl
+is usually F<libperl.a>, but can also be F<libperl.so.xxx> if
+the user wishes to build a perl executable with a shared
+library.
+
+=item C<libpth>
+
+From F<libpth.U>:
+
+This variable holds the general path (space-separated) used to find
+libraries. It is intended to be used by other units.
+
+=item C<libs>
+
+From F<libs.U>:
+
+This variable holds the additional libraries we want to use.
+It is up to the Makefile to deal with it. The list can be empty.
+
+=item C<libsdirs>
+
+From F<libs.U>:
+
+This variable holds the directory names aka dirnames of the libraries
+we found and accepted, duplicates are removed.
+
+=item C<libsfiles>
+
+From F<libs.U>:
+
+This variable holds the filenames aka basenames of the libraries
+we found and accepted.
+
+=item C<libsfound>
+
+From F<libs.U>:
+
+This variable holds the full pathnames of the libraries
+we found and accepted.
+
+=item C<libspath>
+
+From F<libs.U>:
+
+This variable holds the directory names probed for libraries.
+
+=item C<libswanted>
+
+From F<Myinit.U>:
+
+This variable holds a list of all the libraries we want to
+search. The order is chosen to pick up the c library
+ahead of ucb or bsd libraries for SVR4.
+
+=item C<libswanted_uselargefiles>
+
+From F<uselfs.U>:
+
+This variable contains the libraries needed by large file builds
+and added to ldflags by hints files. It is a space separated list
+of the library names without the C<lib> prefix or any suffix, just
+like F<libswanted.>.
+
+=item C<line>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<lint>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<lkflags>
+
+From F<ccflags.U>:
+
+This variable contains any additional C partial linker flags desired by
+the user. It is up to the Makefile to use this.
+
+=item C<ln>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the ln program. After Configure runs,
+the value is reset to a plain C<ln> and is not useful.
+
+=item C<lns>
+
+From F<lns.U>:
+
+This variable holds the name of the command to make
+symbolic links (if they are supported). It can be used
+in the Makefile. It is either C<ln -s> or C<ln>
+
+=item C<localtime_r_proto>
+
+From F<d_localtime_r.U>:
+
+This variable encodes the prototype of localtime_r.
+It is zero if d_localtime_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_localtime_r
+is defined.
+
+=item C<locincpth>
+
+From F<ccflags.U>:
+
+This variable contains a list of additional directories to be
+searched by the compiler. The appropriate C<-I> directives will
+be added to ccflags. This is intended to simplify setting
+local directories from the Configure command line.
+It's not much, but it parallels the loclibpth stuff in F<libpth.U>.
+
+=item C<loclibpth>
+
+From F<libpth.U>:
+
+This variable holds the paths (space-separated) used to find local
+libraries. It is prepended to libpth, and is intended to be easily
+set from the command line.
+
+=item C<longdblinfbytes>
+
+From F<infnan.U>:
+
+This variable contains comma-separated list of hexadecimal bytes
+for the long double precision infinity.
+
+=item C<longdblkind>
+
+From F<d_longdbl.U>:
+
+This variable, if defined, encodes the type of a long double:
+0 = double,
+1 = C<IEEE> 754 128-bit little endian,
+2 = C<IEEE> 754 128-bit big endian,
+3 = x86 80-bit little endian,
+4 = x86 80-bit big endian,
+5 = double-double 128-bit little endian,
+6 = double-double 128-bit big endian,
+7 = 128-bit mixed-endian double-double (64-bit LEs in C<BE>),
+8 = 128-bit mixed-endian double-double (64-bit BEs in C<LE>),
+9 = 128-bit C<PDP>-style mixed-endian long doubles,
+-1 = unknown format.
+
+=item C<longdblmantbits>
+
+From F<mantbits.U>:
+
+This symbol, if defined, tells how many mantissa bits
+there are in long double precision floating point format.
+Note that this can be C<LDBL_MANT_DIG> minus one,
+since C<LDBL_MANT_DIG> can include the C<IEEE> 754 implicit bit.
+The common x86-style 80-bit long double does not have
+an implicit bit.
+
+=item C<longdblnanbytes>
+
+From F<infnan.U>:
+
+This variable contains comma-separated list of hexadecimal bytes
+for the long double precision not-a-number.
+
+=item C<longdblsize>
+
+From F<d_longdbl.U>:
+
+This variable contains the value of the C<LONG_DOUBLESIZE> symbol, which
+indicates to the C program how many bytes there are in a long double,
+if this system supports long doubles. Note that this is
+sizeof(long double), which may include unused bytes.
+
+=item C<longlongsize>
+
+From F<d_longlong.U>:
+
+This variable contains the value of the C<LONGLONGSIZE> symbol, which
+indicates to the C program how many bytes there are in a long long,
+if this system supports long long.
+
+=item C<longsize>
+
+From F<intsize.U>:
+
+This variable contains the value of the C<LONGSIZE> symbol, which
+indicates to the C program how many bytes there are in a long.
+
+=item C<lp>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<lpr>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<ls>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the ls program. After Configure runs,
+the value is reset to a plain C<ls> and is not useful.
+
+=item C<lseeksize>
+
+From F<lseektype.U>:
+
+This variable defines lseektype to be something like off_t, long,
+or whatever type is used to declare lseek offset's type in the
+kernel (which also appears to be lseek's return type).
+
+=item C<lseektype>
+
+From F<lseektype.U>:
+
+This variable defines lseektype to be something like off_t, long,
+or whatever type is used to declare lseek offset's type in the
+kernel (which also appears to be lseek's return type).
+
+=back
+
+=cut
+
+=head2 m
+
+=over 4
+
+=cut
+
+=item C<mail>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<mailx>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<make>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the make program. After Configure runs,
+the value is reset to a plain C<make> and is not useful.
+
+=item C<make_set_make>
+
+From F<make.U>:
+
+Some versions of C<make> set the variable C<MAKE>. Others do not.
+This variable contains the string to be included in F<Makefile.SH>
+so that C<MAKE> is set if needed, and not if not needed.
+Possible values are:
+
+make_set_make=C<#> # If your make program handles this for you,
+
+make_set_make=C<MAKE=$make> # if it doesn't.
+
+This uses a comment character so that we can distinguish a
+C<set> value (from a previous F<config.sh> or Configure C<-D> option)
+from an uncomputed value.
+
+=item C<mallocobj>
+
+From F<mallocsrc.U>:
+
+This variable contains the name of the F<malloc.o> that this package
+generates, if that F<malloc.o> is preferred over the system malloc.
+Otherwise the value is null. This variable is intended for generating
+Makefiles. See mallocsrc.
+
+=item C<mallocsrc>
+
+From F<mallocsrc.U>:
+
+This variable contains the name of the F<malloc.c> that comes with
+the package, if that F<malloc.c> is preferred over the system malloc.
+Otherwise the value is null. This variable is intended for generating
+Makefiles.
+
+=item C<malloctype>
+
+From F<mallocsrc.U>:
+
+This variable contains the kind of ptr returned by malloc and realloc.
+
+=item C<man1dir>
+
+From F<man1dir.U>:
+
+This variable contains the name of the directory in which manual
+source pages are to be put. It is the responsibility of the
+F<Makefile.SH> to get the value of this into the proper command.
+You must be prepared to do the F<~name> expansion yourself.
+
+=item C<man1direxp>
+
+From F<man1dir.U>:
+
+This variable is the same as the man1dir variable, but is filename
+expanded at configuration time, for convenient use in makefiles.
+
+=item C<man1ext>
+
+From F<man1dir.U>:
+
+This variable contains the extension that the manual page should
+have: one of C<n>, C<l>, or C<1>. The Makefile must supply the F<.>.
+See man1dir.
+
+=item C<man3dir>
+
+From F<man3dir.U>:
+
+This variable contains the name of the directory in which manual
+source pages are to be put. It is the responsibility of the
+F<Makefile.SH> to get the value of this into the proper command.
+You must be prepared to do the F<~name> expansion yourself.
+
+=item C<man3direxp>
+
+From F<man3dir.U>:
+
+This variable is the same as the man3dir variable, but is filename
+expanded at configuration time, for convenient use in makefiles.
+
+=item C<man3ext>
+
+From F<man3dir.U>:
+
+This variable contains the extension that the manual page should
+have: one of C<n>, C<l>, or C<3>. The Makefile must supply the F<.>.
+See man3dir.
+
+=item C<mips_type>
+
+From F<usrinc.U>:
+
+This variable holds the environment type for the mips system.
+Possible values are "BSD 4.3" and "System V".
+
+=item C<mistrustnm>
+
+From F<Csym.U>:
+
+This variable can be used to establish a fallthrough for the cases
+where nm fails to find a symbol. If usenm is false or usenm is true
+and mistrustnm is false, this variable has no effect. If usenm is true
+and mistrustnm is C<compile>, a test program will be compiled to try to
+find any symbol that can't be located via nm lookup. If mistrustnm is
+C<run>, the test program will be run as well as being compiled.
+
+=item C<mkdir>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the mkdir program. After Configure runs,
+the value is reset to a plain C<mkdir> and is not useful.
+
+=item C<mmaptype>
+
+From F<d_mmap.U>:
+
+This symbol contains the type of pointer returned by mmap()
+(and simultaneously the type of the first argument).
+It can be C<void *> or C<caddr_t>.
+
+=item C<modetype>
+
+From F<modetype.U>:
+
+This variable defines modetype to be something like mode_t,
+int, unsigned short, or whatever type is used to declare file
+modes for system calls.
+
+=item C<more>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the more program. After Configure runs,
+the value is reset to a plain C<more> and is not useful.
+
+=item C<multiarch>
+
+From F<multiarch.U>:
+
+This variable conditionally defines the C<MULTIARCH> symbol
+which signifies the presence of multiplatform files.
+This is normally set by hints files.
+
+=item C<mv>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<myarchname>
+
+From F<archname.U>:
+
+This variable holds the architecture name computed by Configure in
+a previous run. It is not intended to be perused by any user and
+should never be set in a hint file.
+
+=item C<mydomain>
+
+From F<myhostname.U>:
+
+This variable contains the eventual value of the C<MYDOMAIN> symbol,
+which is the domain of the host the program is going to run on.
+The domain must be appended to myhostname to form a complete host name.
+The dot comes with mydomain, and need not be supplied by the program.
+
+=item C<myhostname>
+
+From F<myhostname.U>:
+
+This variable contains the eventual value of the C<MYHOSTNAME> symbol,
+which is the name of the host the program is going to run on.
+The domain is not kept with hostname, but must be gotten from mydomain.
+The dot comes with mydomain, and need not be supplied by the program.
+
+=item C<myuname>
+
+From F<Oldconfig.U>:
+
+The output of C<uname -a> if available, otherwise the hostname.
+The whole thing is then lower-cased and slashes and single quotes are
+removed.
+
+=back
+
+=cut
+
+=head2 n
+
+=over 4
+
+=cut
+
+=item C<n>
+
+From F<n.U>:
+
+This variable contains the C<-n> flag if that is what causes the echo
+command to suppress newline. Otherwise it is null. Correct usage is
+$echo $n "prompt for a question: $c".
+
+=item C<need_va_copy>
+
+From F<need_va_copy.U>:
+
+This symbol, if defined, indicates that the system stores
+the variable argument list datatype, va_list, in a format
+that cannot be copied by simple assignment, so that some
+other means must be used when copying is required.
+As such systems vary in their provision (or non-provision)
+of copying mechanisms, F<handy.h> defines a platform-
+C<independent> macro, Perl_va_copy(src, dst), to do the job.
+
+=item C<netdb_hlen_type>
+
+From F<netdbtype.U>:
+
+This variable holds the type used for the 2nd argument to
+gethostbyaddr(). Usually, this is int or size_t or unsigned.
+This is only useful if you have gethostbyaddr(), naturally.
+
+=item C<netdb_host_type>
+
+From F<netdbtype.U>:
+
+This variable holds the type used for the 1st argument to
+gethostbyaddr(). Usually, this is char * or void *, possibly
+with or without a const prefix.
+This is only useful if you have gethostbyaddr(), naturally.
+
+=item C<netdb_name_type>
+
+From F<netdbtype.U>:
+
+This variable holds the type used for the argument to
+gethostbyname(). Usually, this is char * or const char *.
+This is only useful if you have gethostbyname(), naturally.
+
+=item C<netdb_net_type>
+
+From F<netdbtype.U>:
+
+This variable holds the type used for the 1st argument to
+getnetbyaddr(). Usually, this is int or long.
+This is only useful if you have getnetbyaddr(), naturally.
+
+=item C<nm>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the nm program. After Configure runs,
+the value is reset to a plain C<nm> and is not useful.
+
+=item C<nm_opt>
+
+From F<usenm.U>:
+
+This variable holds the options that may be necessary for nm.
+
+=item C<nm_so_opt>
+
+From F<usenm.U>:
+
+This variable holds the options that may be necessary for nm
+to work on a shared library but that can not be used on an
+archive library. Currently, this is only used by Linux, where
+nm --dynamic is *required* to get symbols from an C<ELF> library which
+has been stripped, but nm --dynamic is *fatal* on an archive library.
+Maybe Linux should just always set usenm=false.
+
+=item C<nonxs_ext>
+
+From F<Extensions.U>:
+
+This variable holds a list of all non-xs extensions built and
+installed by the package. By default, all non-xs extensions
+distributed will be built, with the exception of platform-specific
+extensions (currently only one C<VMS> specific extension).
+
+=item C<nroff>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the nroff program. After Configure runs,
+the value is reset to a plain C<nroff> and is not useful.
+
+=item C<nv_overflows_integers_at>
+
+From F<perlxv.U>:
+
+This variable gives the largest integer value that NVs can hold
+as a constant floating point expression.
+If it could not be determined, it holds the value 0.
+
+=item C<nv_preserves_uv_bits>
+
+From F<perlxv.U>:
+
+This variable indicates how many of bits type uvtype
+a variable nvtype can preserve.
+
+=item C<nveformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<NV> using %e-ish floating point format.
+
+=item C<nvEUformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<NV> using %E-ish floating point format.
+
+=item C<nvfformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<NV> using %f-ish floating point format.
+
+=item C<nvFUformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<NV> using %F-ish floating point format.
+
+=item C<nvgformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<NV> using %g-ish floating point format.
+
+=item C<nvGUformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<NV> using %G-ish floating point format.
+
+=item C<nvmantbits>
+
+From F<mantbits.U>:
+
+This variable tells how many bits the mantissa of a Perl C<NV> has,
+not including the possible implicit bit.
+
+=item C<nvsize>
+
+From F<perlxv.U>:
+
+This variable is the size of a Perl C<NV> in bytes.
+Note that some floating point formats have unused bytes.
+
+=item C<nvtype>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's C<NV>.
+
+=back
+
+=cut
+
+=head2 o
+
+=over 4
+
+=cut
+
+=item C<o_nonblock>
+
+From F<nblock_io.U>:
+
+This variable bears the symbol value to be used during open() or fcntl()
+to turn on non-blocking I/O for a file descriptor. If you wish to switch
+between blocking and non-blocking, you may try ioctl(C<FIOSNBIO>) instead,
+but that is only supported by some devices.
+
+=item C<obj_ext>
+
+From F<Unix.U>:
+
+This is an old synonym for _o.
+
+=item C<old_pthread_create_joinable>
+
+From F<d_pthrattrj.U>:
+
+This variable defines the constant to use for creating joinable
+(aka undetached) pthreads. Unused if F<pthread.h> defines
+C<PTHREAD_CREATE_JOINABLE>. If used, possible values are
+C<PTHREAD_CREATE_UNDETACHED> and C<__UNDETACHED>.
+
+=item C<optimize>
+
+From F<ccflags.U>:
+
+This variable contains any F<optimizer/debugger> flag that should be used.
+It is up to the Makefile to use it.
+
+=item C<orderlib>
+
+From F<orderlib.U>:
+
+This variable is C<true> if the components of libraries must be ordered
+(with `lorder $* | tsort`) before placing them in an archive. Set to
+C<false> if ranlib or ar can generate random libraries.
+
+=item C<osname>
+
+From F<Oldconfig.U>:
+
+This variable contains the operating system name (e.g. sunos,
+solaris, hpux, etc.). It can be useful later on for setting
+defaults. Any spaces are replaced with underscores. It is set
+to a null string if we can't figure it out.
+
+=item C<osvers>
+
+From F<Oldconfig.U>:
+
+This variable contains the operating system version (e.g.
+4.1.3, 5.2, etc.). It is primarily used for helping select
+an appropriate hints file, but might be useful elsewhere for
+setting defaults. It is set to '' if we can't figure it out.
+We try to be flexible about how much of the version number
+to keep, e.g. if 4.1.1, 4.1.2, and 4.1.3 are essentially the
+same for this package, hints files might just be F<os_4.0> or
+F<os_4.1>, etc., not keeping separate files for each little release.
+
+=item C<otherlibdirs>
+
+From F<otherlibdirs.U>:
+
+This variable contains a colon-separated set of paths for the perl
+binary to search for additional library files or modules.
+These directories will be tacked to the end of @C<INC>.
+Perl will automatically search below each path for version-
+and architecture-specific directories. See inc_version_list
+for more details.
+A value of C< > means C<none> and is used to preserve this value
+for the next run through Configure.
+
+=back
+
+=cut
+
+=head2 p
+
+=over 4
+
+=cut
+
+=item C<package>
+
+From F<package.U>:
+
+This variable contains the name of the package being constructed.
+It is primarily intended for the use of later Configure units.
+
+=item C<pager>
+
+From F<pager.U>:
+
+This variable contains the name of the preferred pager on the system.
+Usual values are (the full pathnames of) more, less, pg, or cat.
+
+=item C<passcat>
+
+From F<nis.U>:
+
+This variable contains a command that produces the text of the
+F</etc/passwd> file. This is normally "cat F</etc/passwd>", but can be
+"ypcat passwd" when C<NIS> is used.
+On some systems, such as os390, there may be no equivalent
+command, in which case this variable is unset.
+
+=item C<patchlevel>
+
+From F<patchlevel.U>:
+
+The patchlevel level of this package.
+The value of patchlevel comes from the F<patchlevel.h> file.
+In a version number such as 5.6.1, this is the C<6>.
+In F<patchlevel.h>, this is referred to as C<PERL_VERSION>.
+
+=item C<path_sep>
+
+From F<Unix.U>:
+
+This is an old synonym for p_ in F<Head.U>, the character
+used to separate elements in the command shell search C<PATH>.
+
+=item C<perl>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the perl program. After Configure runs,
+the value is reset to a plain C<perl> and is not useful.
+
+=item C<perl5>
+
+From F<perl5.U>:
+
+This variable contains the full path (if any) to a previously
+installed F<perl5.005> or later suitable for running the script
+to determine inc_version_list.
+
+=back
+
+=cut
+
+=head2 P
+
+=over 4
+
+=cut
+
+=item C<PERL_API_REVISION>
+
+From F<patchlevel.h>:
+
+This number describes the earliest compatible C<PERL_REVISION> of
+Perl (C<compatibility> here being defined as sufficient F<binary/C<API>>
+compatibility to run C<XS> code built with the older version).
+Normally this does not change across maintenance releases.
+Please read the comment in F<patchlevel.h>.
+
+=item C<PERL_API_SUBVERSION>
+
+From F<patchlevel.h>:
+
+This number describes the earliest compatible C<PERL_SUBVERSION> of
+Perl (C<compatibility> here being defined as sufficient F<binary/C<API>>
+compatibility to run C<XS> code built with the older version).
+Normally this does not change across maintenance releases.
+Please read the comment in F<patchlevel.h>.
+
+=item C<PERL_API_VERSION>
+
+From F<patchlevel.h>:
+
+This number describes the earliest compatible C<PERL_VERSION> of
+Perl (C<compatibility> here being defined as sufficient F<binary/C<API>>
+compatibility to run C<XS> code built with the older version).
+Normally this does not change across maintenance releases.
+Please read the comment in F<patchlevel.h>.
+
+=item C<PERL_CONFIG_SH>
+
+From F<Oldsyms.U>:
+
+This is set to C<true> in F<config.sh> so that a shell script
+sourcing F<config.sh> can tell if it has been sourced already.
+
+=item C<PERL_PATCHLEVEL>
+
+From F<Oldsyms.U>:
+
+This symbol reflects the patchlevel, if available. Will usually
+come from the F<.patch> file, which is available when the perl
+source tree was fetched with rsync.
+
+=item C<perl_patchlevel>
+
+From F<patchlevel.U>:
+
+This is the Perl patch level, a numeric change identifier,
+as defined by whichever source code maintenance system
+is used to maintain the patches; currently Perforce.
+It does not correlate with the Perl version numbers or
+the maintenance versus development dichotomy except
+by also being increasing.
+
+=item C<PERL_REVISION>
+
+From F<Oldsyms.U>:
+
+In a Perl version number such as 5.6.2, this is the 5.
+This value is manually set in F<patchlevel.h>
+
+=item C<perl_static_inline>
+
+From F<d_static_inline.U>:
+
+This variable defines the C<PERL_STATIC_INLINE> symbol to
+the best-guess incantation to use for static inline functions.
+Possibilities include
+static inline (c99)
+static __inline__ (gcc -ansi)
+static __inline (C<MSVC>)
+static _inline (older C<MSVC>)
+static (c89 compilers)
+
+=item C<PERL_SUBVERSION>
+
+From F<Oldsyms.U>:
+
+In a Perl version number such as 5.6.2, this is the 2.
+Values greater than 50 represent potentially unstable
+development subversions.
+This value is manually set in F<patchlevel.h>
+
+=item C<PERL_VERSION>
+
+From F<Oldsyms.U>:
+
+In a Perl version number such as 5.6.2, this is the 6.
+This value is manually set in F<patchlevel.h>
+
+=item C<perladmin>
+
+From F<perladmin.U>:
+
+Electronic mail address of the perl5 administrator.
+
+=item C<perllibs>
+
+From F<End.U>:
+
+The list of libraries needed by Perl only (any libraries needed
+by extensions only will by dropped, if using dynamic loading).
+
+=item C<perlpath>
+
+From F<perlpath.U>:
+
+This variable contains the eventual value of the C<PERLPATH> symbol,
+which contains the name of the perl interpreter to be used in
+shell scripts and in the "eval C<exec>" idiom. This variable is
+not necessarily the pathname of the file containing the perl
+interpreter; you must append the executable extension (_exe) if
+it is not already present. Note that Perl code that runs during
+the Perl build process cannot reference this variable, as Perl
+may not have been installed, or even if installed, may be a
+different version of Perl.
+
+=item C<pg>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the pg program. After Configure runs,
+the value is reset to a plain C<pg> and is not useful.
+
+=item C<phostname>
+
+From F<myhostname.U>:
+
+This variable contains the eventual value of the C<PHOSTNAME> symbol,
+which is a command that can be fed to popen() to get the host name.
+The program should probably not presume that the domain is or isn't
+there already.
+
+=item C<pidtype>
+
+From F<pidtype.U>:
+
+This variable defines C<PIDTYPE> to be something like pid_t, int,
+ushort, or whatever type is used to declare process ids in the kernel.
+
+=item C<plibpth>
+
+From F<libpth.U>:
+
+Holds the private path used by Configure to find out the libraries.
+Its value is prepend to libpth. This variable takes care of special
+machines, like the mips. Usually, it should be empty.
+
+=item C<pmake>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<pr>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<prefix>
+
+From F<prefix.U>:
+
+This variable holds the name of the directory below which the
+user will install the package. Usually, this is F</usr/local>, and
+executables go in F</usr/local/bin>, library stuff in F</usr/local/lib>,
+man pages in F</usr/local/man>, etc. It is only used to set defaults
+for things in F<bin.U>, F<mansrc.U>, F<privlib.U>, or F<scriptdir.U>.
+
+=item C<prefixexp>
+
+From F<prefix.U>:
+
+This variable holds the full absolute path of the directory below
+which the user will install the package. Derived from prefix.
+
+=item C<privlib>
+
+From F<privlib.U>:
+
+This variable contains the eventual value of the C<PRIVLIB> symbol,
+which is the name of the private library for this package. It may
+have a F<~> on the front. It is up to the makefile to eventually create
+this directory while performing installation (with F<~> substitution).
+
+=item C<privlibexp>
+
+From F<privlib.U>:
+
+This variable is the F<~name> expanded version of privlib, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<procselfexe>
+
+From F<d_procselfexe.U>:
+
+If d_procselfexe is defined, $procselfexe is the filename
+of the symbolic link pointing to the absolute pathname of
+the executing program.
+
+=item C<ptrsize>
+
+From F<ptrsize.U>:
+
+This variable contains the value of the C<PTRSIZE> symbol, which
+indicates to the C program how many bytes there are in a pointer.
+
+=back
+
+=cut
+
+=head2 q
+
+=over 4
+
+=cut
+
+=item C<quadkind>
+
+From F<quadtype.U>:
+
+This variable, if defined, encodes the type of a quad:
+1 = int, 2 = long, 3 = long long, 4 = int64_t.
+
+=item C<quadtype>
+
+From F<quadtype.U>:
+
+This variable defines Quad_t to be something like long, int,
+long long, int64_t, or whatever type is used for 64-bit integers.
+
+=back
+
+=cut
+
+=head2 r
+
+=over 4
+
+=cut
+
+=item C<randbits>
+
+From F<randfunc.U>:
+
+Indicates how many bits are produced by the function used to
+generate normalized random numbers.
+
+=item C<randfunc>
+
+From F<randfunc.U>:
+
+Indicates the name of the random number function to use.
+Values include drand48, random, and rand. In C programs,
+the C<Drand01> macro is defined to generate uniformly distributed
+random numbers over the range [0., 1.[ (see drand01 and nrand).
+
+=item C<random_r_proto>
+
+From F<d_random_r.U>:
+
+This variable encodes the prototype of random_r.
+It is zero if d_random_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_random_r
+is defined.
+
+=item C<randseedtype>
+
+From F<randfunc.U>:
+
+Indicates the type of the argument of the seedfunc.
+
+=item C<ranlib>
+
+From F<orderlib.U>:
+
+This variable is set to the pathname of the ranlib program, if it is
+needed to generate random libraries. Set to C<:> if ar can generate
+random libraries or if random libraries are not supported
+
+=item C<rd_nodata>
+
+From F<nblock_io.U>:
+
+This variable holds the return code from read() when no data is
+present. It should be -1, but some systems return 0 when C<O_NDELAY> is
+used, which is a shame because you cannot make the difference between
+no data and an F<EOF.>. Sigh!
+
+=item C<readdir64_r_proto>
+
+From F<d_readdir64_r.U>:
+
+This variable encodes the prototype of readdir64_r.
+It is zero if d_readdir64_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_readdir64_r
+is defined.
+
+=item C<readdir_r_proto>
+
+From F<d_readdir_r.U>:
+
+This variable encodes the prototype of readdir_r.
+It is zero if d_readdir_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_readdir_r
+is defined.
+
+=item C<revision>
+
+From F<patchlevel.U>:
+
+The value of revision comes from the F<patchlevel.h> file.
+In a version number such as 5.6.1, this is the C<5>.
+In F<patchlevel.h>, this is referred to as C<PERL_REVISION>.
+
+=item C<rm>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the rm program. After Configure runs,
+the value is reset to a plain C<rm> and is not useful.
+
+=item C<rm_try>
+
+From F<Unix.U>:
+
+This is a cleanup variable for try test programs.
+Internal Configure use only.
+
+=item C<rmail>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<run>
+
+From F<Cross.U>:
+
+This variable contains the command used by Configure
+to copy and execute a cross-compiled executable in the
+target host. Useful and available only during Perl build.
+Empty string '' if not cross-compiling.
+
+=item C<runnm>
+
+From F<usenm.U>:
+
+This variable contains C<true> or C<false> depending whether the
+nm extraction should be performed or not, according to the value
+of usenm and the flags on the Configure command line.
+
+=back
+
+=cut
+
+=head2 s
+
+=over 4
+
+=cut
+
+=item C<sched_yield>
+
+From F<d_pthread_y.U>:
+
+This variable defines the way to yield the execution
+of the current thread.
+
+=item C<scriptdir>
+
+From F<scriptdir.U>:
+
+This variable holds the name of the directory in which the user wants
+to put publicly scripts for the package in question. It is either
+the same directory as for binaries, or a special one that can be
+mounted across different architectures, like F</usr/share>. Programs
+must be prepared to deal with F<~name> expansion.
+
+=item C<scriptdirexp>
+
+From F<scriptdir.U>:
+
+This variable is the same as scriptdir, but is filename expanded
+at configuration time, for programs not wanting to bother with it.
+
+=item C<sed>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the sed program. After Configure runs,
+the value is reset to a plain C<sed> and is not useful.
+
+=item C<seedfunc>
+
+From F<randfunc.U>:
+
+Indicates the random number generating seed function.
+Values include srand48, srandom, and srand.
+
+=item C<selectminbits>
+
+From F<selectminbits.U>:
+
+This variable holds the minimum number of bits operated by select.
+That is, if you do select(n, ...), how many bits at least will be
+cleared in the masks if some activity is detected. Usually this
+is either n or 32*ceil(F<n/32>), especially many little-endians do
+the latter. This is only useful if you have select(), naturally.
+
+=item C<selecttype>
+
+From F<selecttype.U>:
+
+This variable holds the type used for the 2nd, 3rd, and 4th
+arguments to select. Usually, this is C<fd_set *>, if C<HAS_FD_SET>
+is defined, and C<int *> otherwise. This is only useful if you
+have select(), naturally.
+
+=item C<sendmail>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<setgrent_r_proto>
+
+From F<d_setgrent_r.U>:
+
+This variable encodes the prototype of setgrent_r.
+It is zero if d_setgrent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setgrent_r
+is defined.
+
+=item C<sethostent_r_proto>
+
+From F<d_sethostent_r.U>:
+
+This variable encodes the prototype of sethostent_r.
+It is zero if d_sethostent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_sethostent_r
+is defined.
+
+=item C<setlocale_r_proto>
+
+From F<d_setlocale_r.U>:
+
+This variable encodes the prototype of setlocale_r.
+It is zero if d_setlocale_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setlocale_r
+is defined.
+
+=item C<setnetent_r_proto>
+
+From F<d_setnetent_r.U>:
+
+This variable encodes the prototype of setnetent_r.
+It is zero if d_setnetent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setnetent_r
+is defined.
+
+=item C<setprotoent_r_proto>
+
+From F<d_setprotoent_r.U>:
+
+This variable encodes the prototype of setprotoent_r.
+It is zero if d_setprotoent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setprotoent_r
+is defined.
+
+=item C<setpwent_r_proto>
+
+From F<d_setpwent_r.U>:
+
+This variable encodes the prototype of setpwent_r.
+It is zero if d_setpwent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setpwent_r
+is defined.
+
+=item C<setservent_r_proto>
+
+From F<d_setservent_r.U>:
+
+This variable encodes the prototype of setservent_r.
+It is zero if d_setservent_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setservent_r
+is defined.
+
+=item C<sGMTIME_max>
+
+From F<time_size.U>:
+
+This variable defines the maximum value of the time_t offset that
+the system function gmtime () accepts
+
+=item C<sGMTIME_min>
+
+From F<time_size.U>:
+
+This variable defines the minimum value of the time_t offset that
+the system function gmtime () accepts
+
+=item C<sh>
+
+From F<sh.U>:
+
+This variable contains the full pathname of the shell used
+on this system to execute Bourne shell scripts. Usually, this will be
+F</bin/sh>, though it's possible that some systems will have F</bin/ksh>,
+F</bin/pdksh>, F</bin/ash>, F</bin/bash>, or even something such as
+D:F</bin/sh.exe>.
+This unit comes before F<Options.U>, so you can't set sh with a C<-D>
+option, though you can override this (and startsh)
+with C<-O -Dsh=F</bin/whatever> -Dstartsh=whatever>
+
+=item C<shar>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<sharpbang>
+
+From F<spitshell.U>:
+
+This variable contains the string #! if this system supports that
+construct.
+
+=item C<shmattype>
+
+From F<d_shmat.U>:
+
+This symbol contains the type of pointer returned by shmat().
+It can be C<void *> or C<char *>.
+
+=item C<shortsize>
+
+From F<intsize.U>:
+
+This variable contains the value of the C<SHORTSIZE> symbol which
+indicates to the C program how many bytes there are in a short.
+
+=item C<shrpenv>
+
+From F<libperl.U>:
+
+If the user builds a shared F<libperl.so>, then we need to tell the
+C<perl> executable where it will be able to find the installed F<libperl.so>.
+One way to do this on some systems is to set the environment variable
+C<LD_RUN_PATH> to the directory that will be the final location of the
+shared F<libperl.so>. The makefile can use this with something like
+$shrpenv $(C<CC>) -o perl F<perlmain.o> $libperl $libs
+Typical values are
+shrpenv="env C<LD_RUN_PATH>=F<$archlibexp/C<CORE>>"
+or
+shrpenv=''
+See the main perl F<Makefile.SH> for actual working usage.
+
+Alternatively, we might be able to use a command line option such
+as -R F<$archlibexp/C<CORE>> (Solaris) or -Wl,-rpath
+F<$archlibexp/C<CORE>> (Linux).
+
+=item C<shsharp>
+
+From F<spitshell.U>:
+
+This variable tells further Configure units whether your sh can
+handle # comments.
+
+=item C<sig_count>
+
+From F<sig_name.U>:
+
+This variable holds a number larger than the largest valid
+signal number. This is usually the same as the C<NSIG> macro.
+
+=item C<sig_name>
+
+From F<sig_name.U>:
+
+This variable holds the signal names, space separated. The leading
+C<SIG> in signal name is removed. A C<ZERO> is prepended to the list.
+This is currently not used, sig_name_init is used instead.
+
+=item C<sig_name_init>
+
+From F<sig_name.U>:
+
+This variable holds the signal names, enclosed in double quotes and
+separated by commas, suitable for use in the C<SIG_NAME> definition
+below. A C<ZERO> is prepended to the list, and the list is
+terminated with a plain 0. The leading C<SIG> in signal names
+is removed. See sig_num.
+
+=item C<sig_num>
+
+From F<sig_name.U>:
+
+This variable holds the signal numbers, space separated. A C<ZERO> is
+prepended to the list (corresponding to the fake C<SIGZERO>).
+Those numbers correspond to the value of the signal listed
+in the same place within the sig_name list.
+This is currently not used, sig_num_init is used instead.
+
+=item C<sig_num_init>
+
+From F<sig_name.U>:
+
+This variable holds the signal numbers, enclosed in double quotes and
+separated by commas, suitable for use in the C<SIG_NUM> definition
+below. A C<ZERO> is prepended to the list, and the list is
+terminated with a plain 0.
+
+=item C<sig_size>
+
+From F<sig_name.U>:
+
+This variable contains the number of elements of the sig_name
+and sig_num arrays.
+
+=item C<signal_t>
+
+From F<d_voidsig.U>:
+
+This variable holds the type of the signal handler (void or int).
+
+=item C<sitearch>
+
+From F<sitearch.U>:
+
+This variable contains the eventual value of the C<SITEARCH> symbol,
+which is the name of the private library for this package. It may
+have a F<~> on the front. It is up to the makefile to eventually create
+this directory while performing installation (with F<~> substitution).
+The standard distribution will put nothing in this directory.
+After perl has been installed, users may install their own local
+architecture-dependent modules in this directory with
+MakeMaker F<Makefile.PL>
+or equivalent. See C<INSTALL> for details.
+
+=item C<sitearchexp>
+
+From F<sitearch.U>:
+
+This variable is the F<~name> expanded version of sitearch, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<sitebin>
+
+From F<sitebin.U>:
+
+This variable holds the name of the directory in which the user wants
+to put add-on publicly executable files for the package in question. It
+is most often a local directory such as F</usr/local/bin>. Programs using
+this variable must be prepared to deal with F<~name> substitution.
+The standard distribution will put nothing in this directory.
+After perl has been installed, users may install their own local
+executables in this directory with
+MakeMaker F<Makefile.PL>
+or equivalent. See C<INSTALL> for details.
+
+=item C<sitebinexp>
+
+From F<sitebin.U>:
+
+This is the same as the sitebin variable, but is filename expanded at
+configuration time, for use in your makefiles.
+
+=item C<sitehtml1dir>
+
+From F<sitehtml1dir.U>:
+
+This variable contains the name of the directory in which site-specific
+html source pages are to be put. It is the responsibility of the
+F<Makefile.SH> to get the value of this into the proper command.
+You must be prepared to do the F<~name> expansion yourself.
+The standard distribution will put nothing in this directory.
+After perl has been installed, users may install their own local
+html pages in this directory with
+MakeMaker F<Makefile.PL>
+or equivalent. See C<INSTALL> for details.
+
+=item C<sitehtml1direxp>
+
+From F<sitehtml1dir.U>:
+
+This variable is the same as the sitehtml1dir variable, but is filename
+expanded at configuration time, for convenient use in makefiles.
+
+=item C<sitehtml3dir>
+
+From F<sitehtml3dir.U>:
+
+This variable contains the name of the directory in which site-specific
+library html source pages are to be put. It is the responsibility of the
+F<Makefile.SH> to get the value of this into the proper command.
+You must be prepared to do the F<~name> expansion yourself.
+The standard distribution will put nothing in this directory.
+After perl has been installed, users may install their own local
+library html pages in this directory with
+MakeMaker F<Makefile.PL>
+or equivalent. See C<INSTALL> for details.
+
+=item C<sitehtml3direxp>
+
+From F<sitehtml3dir.U>:
+
+This variable is the same as the sitehtml3dir variable, but is filename
+expanded at configuration time, for convenient use in makefiles.
+
+=item C<sitelib>
+
+From F<sitelib.U>:
+
+This variable contains the eventual value of the C<SITELIB> symbol,
+which is the name of the private library for this package. It may
+have a F<~> on the front. It is up to the makefile to eventually create
+this directory while performing installation (with F<~> substitution).
+The standard distribution will put nothing in this directory.
+After perl has been installed, users may install their own local
+architecture-independent modules in this directory with
+MakeMaker F<Makefile.PL>
+or equivalent. See C<INSTALL> for details.
+
+=item C<sitelib_stem>
+
+From F<sitelib.U>:
+
+This variable is $sitelibexp with any trailing version-specific component
+removed. The elements in inc_version_list (F<inc_version_list.U>) can
+be tacked onto this variable to generate a list of directories to search.
+
+=item C<sitelibexp>
+
+From F<sitelib.U>:
+
+This variable is the F<~name> expanded version of sitelib, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<siteman1dir>
+
+From F<siteman1dir.U>:
+
+This variable contains the name of the directory in which site-specific
+manual source pages are to be put. It is the responsibility of the
+F<Makefile.SH> to get the value of this into the proper command.
+You must be prepared to do the F<~name> expansion yourself.
+The standard distribution will put nothing in this directory.
+After perl has been installed, users may install their own local
+man1 pages in this directory with
+MakeMaker F<Makefile.PL>
+or equivalent. See C<INSTALL> for details.
+
+=item C<siteman1direxp>
+
+From F<siteman1dir.U>:
+
+This variable is the same as the siteman1dir variable, but is filename
+expanded at configuration time, for convenient use in makefiles.
+
+=item C<siteman3dir>
+
+From F<siteman3dir.U>:
+
+This variable contains the name of the directory in which site-specific
+library man source pages are to be put. It is the responsibility of the
+F<Makefile.SH> to get the value of this into the proper command.
+You must be prepared to do the F<~name> expansion yourself.
+The standard distribution will put nothing in this directory.
+After perl has been installed, users may install their own local
+man3 pages in this directory with
+MakeMaker F<Makefile.PL>
+or equivalent. See C<INSTALL> for details.
+
+=item C<siteman3direxp>
+
+From F<siteman3dir.U>:
+
+This variable is the same as the siteman3dir variable, but is filename
+expanded at configuration time, for convenient use in makefiles.
+
+=item C<siteprefix>
+
+From F<siteprefix.U>:
+
+This variable holds the full absolute path of the directory below
+which the user will install add-on packages.
+See C<INSTALL> for usage and examples.
+
+=item C<siteprefixexp>
+
+From F<siteprefix.U>:
+
+This variable holds the full absolute path of the directory below
+which the user will install add-on packages. Derived from siteprefix.
+
+=item C<sitescript>
+
+From F<sitescript.U>:
+
+This variable holds the name of the directory in which the user wants
+to put add-on publicly executable files for the package in question. It
+is most often a local directory such as F</usr/local/bin>. Programs using
+this variable must be prepared to deal with F<~name> substitution.
+The standard distribution will put nothing in this directory.
+After perl has been installed, users may install their own local
+scripts in this directory with
+MakeMaker F<Makefile.PL>
+or equivalent. See C<INSTALL> for details.
+
+=item C<sitescriptexp>
+
+From F<sitescript.U>:
+
+This is the same as the sitescript variable, but is filename expanded at
+configuration time, for use in your makefiles.
+
+=item C<sizesize>
+
+From F<sizesize.U>:
+
+This variable contains the size of a sizetype in bytes.
+
+=item C<sizetype>
+
+From F<sizetype.U>:
+
+This variable defines sizetype to be something like size_t,
+unsigned long, or whatever type is used to declare length
+parameters for string functions.
+
+=item C<sleep>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<sLOCALTIME_max>
+
+From F<time_size.U>:
+
+This variable defines the maximum value of the time_t offset that
+the system function localtime () accepts
+
+=item C<sLOCALTIME_min>
+
+From F<time_size.U>:
+
+This variable defines the minimum value of the time_t offset that
+the system function localtime () accepts
+
+=item C<smail>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<so>
+
+From F<so.U>:
+
+This variable holds the extension used to identify shared libraries
+(also known as shared objects) on the system. Usually set to C<so>.
+
+=item C<sockethdr>
+
+From F<d_socket.U>:
+
+This variable has any cpp C<-I> flags needed for socket support.
+
+=item C<socketlib>
+
+From F<d_socket.U>:
+
+This variable has the names of any libraries needed for socket support.
+
+=item C<socksizetype>
+
+From F<socksizetype.U>:
+
+This variable holds the type used for the size argument
+for various socket calls like accept. Usual values include
+socklen_t, size_t, and int.
+
+=item C<sort>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the sort program. After Configure runs,
+the value is reset to a plain C<sort> and is not useful.
+
+=item C<spackage>
+
+From F<package.U>:
+
+This variable contains the name of the package being constructed,
+with the first letter uppercased, F<i.e>. suitable for starting
+sentences.
+
+=item C<spitshell>
+
+From F<spitshell.U>:
+
+This variable contains the command necessary to spit out a runnable
+shell on this system. It is either cat or a grep C<-v> for # comments.
+
+=item C<sPRId64>
+
+From F<quadfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format 64-bit decimal numbers (format C<d>) for output.
+
+=item C<sPRIeldbl>
+
+From F<longdblfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format long doubles (format C<e>) for output.
+
+=item C<sPRIEUldbl>
+
+From F<longdblfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format long doubles (format C<E>) for output.
+The C<U> in the name is to separate this from sPRIeldbl so that even
+case-blind systems can see the difference.
+
+=item C<sPRIfldbl>
+
+From F<longdblfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format long doubles (format C<f>) for output.
+
+=item C<sPRIFUldbl>
+
+From F<longdblfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format long doubles (format C<F>) for output.
+The C<U> in the name is to separate this from sPRIfldbl so that even
+case-blind systems can see the difference.
+
+=item C<sPRIgldbl>
+
+From F<longdblfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format long doubles (format C<g>) for output.
+
+=item C<sPRIGUldbl>
+
+From F<longdblfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format long doubles (format C<G>) for output.
+The C<U> in the name is to separate this from sPRIgldbl so that even
+case-blind systems can see the difference.
+
+=item C<sPRIi64>
+
+From F<quadfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format 64-bit decimal numbers (format C<i>) for output.
+
+=item C<sPRIo64>
+
+From F<quadfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format 64-bit octal numbers (format C<o>) for output.
+
+=item C<sPRIu64>
+
+From F<quadfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format 64-bit unsigned decimal numbers (format C<u>) for output.
+
+=item C<sPRIx64>
+
+From F<quadfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format 64-bit hexadecimal numbers (format C<x>) for output.
+
+=item C<sPRIXU64>
+
+From F<quadfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format 64-bit hExADECimAl numbers (format C<X>) for output.
+The C<U> in the name is to separate this from sPRIx64 so that even
+case-blind systems can see the difference.
+
+=item C<srand48_r_proto>
+
+From F<d_srand48_r.U>:
+
+This variable encodes the prototype of srand48_r.
+It is zero if d_srand48_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_srand48_r
+is defined.
+
+=item C<srandom_r_proto>
+
+From F<d_srandom_r.U>:
+
+This variable encodes the prototype of srandom_r.
+It is zero if d_srandom_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_srandom_r
+is defined.
+
+=item C<src>
+
+From F<src.U>:
+
+This variable holds the (possibly relative) path of the package source.
+It is up to the Makefile to use this variable and set C<VPATH> accordingly
+to find the sources remotely. Use $pkgsrc to have an absolute path.
+
+=item C<sSCNfldbl>
+
+From F<longdblfio.U>:
+
+This variable, if defined, contains the string used by stdio to
+format long doubles (format C<f>) for input.
+
+=item C<ssizetype>
+
+From F<ssizetype.U>:
+
+This variable defines ssizetype to be something like ssize_t,
+long or int. It is used by functions that return a count
+of bytes or an error condition. It must be a signed type.
+We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+
+=item C<st_ino_sign>
+
+From F<st_ino_def.U>:
+
+This variable contains the signedness of struct stat's st_ino.
+1 for unsigned, -1 for signed.
+
+=item C<st_ino_size>
+
+From F<st_ino_def.U>:
+
+This variable contains the size of struct stat's st_ino in bytes.
+
+=item C<startperl>
+
+From F<startperl.U>:
+
+This variable contains the string to put on the front of a perl
+script to make sure (hopefully) that it runs with perl and not some
+shell. Of course, that leading line must be followed by the classical
+perl idiom:
+eval 'exec perl -S $0 ${1+C<$@>}'
+if $running_under_some_shell;
+to guarantee perl startup should the shell execute the script. Note
+that this magic incantation is not understood by csh.
+
+=item C<startsh>
+
+From F<startsh.U>:
+
+This variable contains the string to put on the front of a shell
+script to make sure (hopefully) that it runs with sh and not some
+other shell.
+
+=item C<static_ext>
+
+From F<Extensions.U>:
+
+This variable holds a list of C<XS> extension files we want to
+link statically into the package. It is used by Makefile.
+
+=item C<stdchar>
+
+From F<stdchar.U>:
+
+This variable conditionally defines C<STDCHAR> to be the type of char
+used in F<stdio.h>. It has the values "unsigned char" or C<char>.
+
+=item C<stdio_base>
+
+From F<d_stdstdio.U>:
+
+This variable defines how, given a C<FILE> pointer, fp, to access the
+_base field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
+be used to define the macro FILE_base(fp).
+
+=item C<stdio_bufsiz>
+
+From F<d_stdstdio.U>:
+
+This variable defines how, given a C<FILE> pointer, fp, to determine
+the number of bytes store in the I/O buffer pointer to by the
+_base field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
+be used to define the macro FILE_bufsiz(fp).
+
+=item C<stdio_cnt>
+
+From F<d_stdstdio.U>:
+
+This variable defines how, given a C<FILE> pointer, fp, to access the
+_cnt field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
+be used to define the macro FILE_cnt(fp).
+
+=item C<stdio_filbuf>
+
+From F<d_stdstdio.U>:
+
+This variable defines how, given a C<FILE> pointer, fp, to tell
+stdio to refill its internal buffers (?). This will
+be used to define the macro FILE_filbuf(fp).
+
+=item C<stdio_ptr>
+
+From F<d_stdstdio.U>:
+
+This variable defines how, given a C<FILE> pointer, fp, to access the
+_ptr field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
+be used to define the macro FILE_ptr(fp).
+
+=item C<stdio_stream_array>
+
+From F<stdio_streams.U>:
+
+This variable tells the name of the array holding the stdio streams.
+Usual values include _iob, __iob, and __sF.
+
+=item C<strerror_r_proto>
+
+From F<d_strerror_r.U>:
+
+This variable encodes the prototype of strerror_r.
+It is zero if d_strerror_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_strerror_r
+is defined.
+
+=item C<submit>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<subversion>
+
+From F<patchlevel.U>:
+
+The subversion level of this package.
+The value of subversion comes from the F<patchlevel.h> file.
+In a version number such as 5.6.1, this is the C<1>.
+In F<patchlevel.h>, this is referred to as C<PERL_SUBVERSION>.
+This is unique to perl.
+
+=item C<sysman>
+
+From F<sysman.U>:
+
+This variable holds the place where the manual is located on this
+system. It is not the place where the user wants to put his manual
+pages. Rather it is the place where Configure may look to find manual
+for unix commands (section 1 of the manual usually). See mansrc.
+
+=item C<sysroot>
+
+From F<Sysroot.U>:
+
+This variable is empty unless supplied by the Configure user.
+It can contain a path to an alternative root directory, under which
+headers and libraries for the compilation target can be found. This
+is generally used when cross-compiling using a gcc-like compiler.
+
+=back
+
+=cut
+
+=head2 t
+
+=over 4
+
+=cut
+
+=item C<tail>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<tar>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<targetarch>
+
+From F<Cross.U>:
+
+If cross-compiling, this variable contains the target architecture.
+If not, this will be empty.
+
+=item C<targetdir>
+
+From F<Cross.U>:
+
+This variable contains a path that will be created on the target
+host using targetmkdir, and then used to copy the cross-compiled
+executables to. Defaults to F</tmp> if not set.
+
+=item C<targetenv>
+
+From F<Cross.U>:
+
+If cross-compiling, this variable can be used to modify the
+environment on the target system.
+However, how and where it's used, and even if it's used at all, is
+entirely dependent on both the transport mechanism (targetrun) and
+what the target system is. Unless the relevant documentation says
+otherwise, it is genereally not useful.
+
+=item C<targethost>
+
+From F<Cross.U>:
+
+This variable contains the name of a separate host machine that
+can be used to run compiled test programs and perl tests on.
+Set to empty string if not in use.
+
+=item C<targetmkdir>
+
+From F<Cross.U>:
+
+This variable contains the command used by Configure to create a
+new directory on the target host.
+
+=item C<targetport>
+
+From F<Cross.U>:
+
+This variable contains the number of a network port to be used to
+connect to the host in targethost, if unset defaults to 22 for ssh.
+
+=item C<targetsh>
+
+From F<sh.U>:
+
+If cross-compiling, this variable contains the location of sh on the
+target system.
+If not, this will be the same as $sh.
+
+=item C<tbl>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<tee>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<test>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the test program. After Configure runs,
+the value is reset to a plain C<test> and is not useful.
+
+=item C<timeincl>
+
+From F<i_time.U>:
+
+This variable holds the full path of the included time header(s).
+
+=item C<timetype>
+
+From F<d_time.U>:
+
+This variable holds the type returned by time(). It can be long,
+or time_t on C<BSD> sites (in which case <sys/types.h> should be
+included). Anyway, the type Time_t should be used.
+
+=item C<tmpnam_r_proto>
+
+From F<d_tmpnam_r.U>:
+
+This variable encodes the prototype of tmpnam_r.
+It is zero if d_tmpnam_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_tmpnam_r
+is defined.
+
+=item C<to>
+
+From F<Cross.U>:
+
+This variable contains the command used by Configure
+to copy to from the target host. Useful and available
+only during Perl build.
+The string C<:> if not cross-compiling.
+
+=item C<touch>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the touch program. After Configure runs,
+the value is reset to a plain C<touch> and is not useful.
+
+=item C<tr>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the tr program. After Configure runs,
+the value is reset to a plain C<tr> and is not useful.
+
+=item C<trnl>
+
+From F<trnl.U>:
+
+This variable contains the value to be passed to the tr(1)
+command to transliterate a newline. Typical values are
+C<\012> and C<\n>. This is needed for C<EBCDIC> systems where
+newline is not necessarily C<\012>.
+
+=item C<troff>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<ttyname_r_proto>
+
+From F<d_ttyname_r.U>:
+
+This variable encodes the prototype of ttyname_r.
+It is zero if d_ttyname_r is undef, and one of the
+C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_ttyname_r
+is defined.
+
+=back
+
+=cut
+
+=head2 u
+
+=over 4
+
+=cut
+
+=item C<u16size>
+
+From F<perlxv.U>:
+
+This variable is the size of an U16 in bytes.
+
+=item C<u16type>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's U16.
+
+=item C<u32size>
+
+From F<perlxv.U>:
+
+This variable is the size of an U32 in bytes.
+
+=item C<u32type>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's U32.
+
+=item C<u64size>
+
+From F<perlxv.U>:
+
+This variable is the size of an U64 in bytes.
+
+=item C<u64type>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's U64.
+
+=item C<u8size>
+
+From F<perlxv.U>:
+
+This variable is the size of an U8 in bytes.
+
+=item C<u8type>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's U8.
+
+=item C<uidformat>
+
+From F<uidf.U>:
+
+This variable contains the format string used for printing a Uid_t.
+
+=item C<uidsign>
+
+From F<uidsign.U>:
+
+This variable contains the signedness of a uidtype.
+1 for unsigned, -1 for signed.
+
+=item C<uidsize>
+
+From F<uidsize.U>:
+
+This variable contains the size of a uidtype in bytes.
+
+=item C<uidtype>
+
+From F<uidtype.U>:
+
+This variable defines Uid_t to be something like uid_t, int,
+ushort, or whatever type is used to declare user ids in the kernel.
+
+=item C<uname>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the uname program. After Configure runs,
+the value is reset to a plain C<uname> and is not useful.
+
+=item C<uniq>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the uniq program. After Configure runs,
+the value is reset to a plain C<uniq> and is not useful.
+
+=item C<uquadtype>
+
+From F<quadtype.U>:
+
+This variable defines Uquad_t to be something like unsigned long,
+unsigned int, unsigned long long, uint64_t, or whatever type is
+used for 64-bit integers.
+
+=item C<use5005threads>
+
+From F<usethreads.U>:
+
+This variable conditionally defines the USE_5005THREADS symbol,
+and indicates that Perl should be built to use the 5.005-based
+threading implementation. Only valid up to 5.8.x.
+
+=item C<use64bitall>
+
+From F<use64bits.U>:
+
+This variable conditionally defines the USE_64_BIT_ALL symbol,
+and indicates that 64-bit integer types should be used
+when available. The maximal possible
+64-bitness is employed: LP64 or ILP64, meaning that you will
+be able to use more than 2 gigabytes of memory. This mode is
+even more binary incompatible than USE_64_BIT_INT. You may not
+be able to run the resulting executable in a 32-bit C<CPU> at all or
+you may need at least to reboot your C<OS> to 64-bit mode.
+
+=item C<use64bitint>
+
+From F<use64bits.U>:
+
+This variable conditionally defines the USE_64_BIT_INT symbol,
+and indicates that 64-bit integer types should be used
+when available. The minimal possible 64-bitness
+is employed, just enough to get 64-bit integers into Perl.
+This may mean using for example "long longs", while your memory
+may still be limited to 2 gigabytes.
+
+=item C<usecbacktrace>
+
+From F<usebacktrace.U>:
+
+This variable indicates whether we are compiling with backtrace
+support.
+
+=item C<usecrosscompile>
+
+From F<Cross.U>:
+
+This variable conditionally defines the C<USE_CROSS_COMPILE> symbol,
+and indicates that Perl has been cross-compiled.
+
+=item C<usedevel>
+
+From F<Devel.U>:
+
+This variable indicates that Perl was configured with development
+features enabled. This should not be done for production builds.
+
+=item C<usedl>
+
+From F<dlsrc.U>:
+
+This variable indicates if the system supports dynamic
+loading of some sort. See also dlsrc and dlobj.
+
+=item C<usedtrace>
+
+From F<usedtrace.U>:
+
+This variable indicates whether we are compiling with dtrace
+support. See also dtrace.
+
+=item C<usefaststdio>
+
+From F<usefaststdio.U>:
+
+This variable conditionally defines the C<USE_FAST_STDIO> symbol,
+and indicates that Perl should be built to use C<fast stdio>.
+Defaults to define in Perls 5.8 and earlier, to undef later.
+
+=item C<useithreads>
+
+From F<usethreads.U>:
+
+This variable conditionally defines the C<USE_ITHREADS> symbol,
+and indicates that Perl should be built to use the interpreter-based
+threading implementation.
+
+=item C<usekernprocpathname>
+
+From F<usekernprocpathname.U>:
+
+This variable, indicates that we can use sysctl with
+C<KERN_PROC_PATHNAME> to get a full path for the executable, and hence
+convert $^X to an absolute path.
+
+=item C<uselargefiles>
+
+From F<uselfs.U>:
+
+This variable conditionally defines the C<USE_LARGE_FILES> symbol,
+and indicates that large file interfaces should be used when
+available.
+
+=item C<uselongdouble>
+
+From F<uselongdbl.U>:
+
+This variable conditionally defines the C<USE_LONG_DOUBLE> symbol,
+and indicates that long doubles should be used when available.
+
+=item C<usemallocwrap>
+
+From F<mallocsrc.U>:
+
+This variable contains y if we are wrapping malloc to prevent
+integer overflow during size calculations.
+
+=item C<usemorebits>
+
+From F<usemorebits.U>:
+
+This variable conditionally defines the C<USE_MORE_BITS> symbol,
+and indicates that explicit 64-bit interfaces and long doubles
+should be used when available.
+
+=item C<usemultiplicity>
+
+From F<usemultiplicity.U>:
+
+This variable conditionally defines the C<MULTIPLICITY> symbol,
+and indicates that Perl should be built to use multiplicity.
+
+=item C<usemymalloc>
+
+From F<mallocsrc.U>:
+
+This variable contains y if the malloc that comes with this package
+is desired over the system's version of malloc. People often include
+special versions of malloc for efficiency, but such versions are often
+less portable. See also mallocsrc and mallocobj.
+If this is C<y>, then -lmalloc is removed from $libs.
+
+=item C<usenm>
+
+From F<usenm.U>:
+
+This variable contains C<true> or C<false> depending whether the
+nm extraction is wanted or not.
+
+=item C<usensgetexecutablepath>
+
+From F<usensgetexecutablepath.U>:
+
+This symbol, if defined, indicates that we can use _NSGetExecutablePath
+and realpath to get a full path for the executable, and hence convert
+$^X to an absolute path.
+
+=item C<useopcode>
+
+From F<Extensions.U>:
+
+This variable holds either C<true> or C<false> to indicate
+whether the Opcode extension should be used. The sole
+use for this currently is to allow an easy mechanism
+for users to skip the Opcode extension from the Configure
+command line.
+
+=item C<useperlio>
+
+From F<useperlio.U>:
+
+This variable conditionally defines the C<USE_PERLIO> symbol,
+and indicates that the PerlIO abstraction should be
+used throughout.
+
+=item C<useposix>
+
+From F<Extensions.U>:
+
+This variable holds either C<true> or C<false> to indicate
+whether the C<POSIX> extension should be used. The sole
+use for this currently is to allow an easy mechanism
+for hints files to indicate that C<POSIX> will not compile
+on a particular system.
+
+=item C<usequadmath>
+
+From F<usequadmath.U>:
+
+This variable conditionally defines the C<USE_QUADMATH> symbol,
+and indicates that the quadmath library __float128 long doubles
+should be used when available.
+
+=item C<usereentrant>
+
+From F<usethreads.U>:
+
+This variable conditionally defines the C<USE_REENTRANT_API> symbol,
+which indicates that the thread code may try to use the various
+_r versions of library functions. This is only potentially
+meaningful if usethreads is set and is very experimental, it is
+not even prompted for.
+
+=item C<userelocatableinc>
+
+From F<bin.U>:
+
+This variable is set to true to indicate that perl should relocate
+@C<INC> entries at runtime based on the path to the perl binary.
+Any @C<INC> paths starting F<.../> are relocated relative to the directory
+containing the perl binary, and a logical cleanup of the path is then
+made around the join point (removing F<dir/../> pairs)
+
+=item C<useshrplib>
+
+From F<libperl.U>:
+
+This variable is set to C<true> if the user wishes
+to build a shared libperl, and C<false> otherwise.
+
+=item C<usesitecustomize>
+
+From F<d_sitecustomize.U>:
+
+This variable is set to true when the user requires a mechanism that
+allows the sysadmin to add entries to @C<INC> at runtime. This variable
+being set, makes perl run F<$sitelib/sitecustomize.pl> at startup.
+
+=item C<usesocks>
+
+From F<usesocks.U>:
+
+This variable conditionally defines the C<USE_SOCKS> symbol,
+and indicates that Perl should be built to use C<SOCKS>.
+
+=item C<usethreads>
+
+From F<usethreads.U>:
+
+This variable conditionally defines the C<USE_THREADS> symbol,
+and indicates that Perl should be built to use threads.
+
+=item C<usevendorprefix>
+
+From F<vendorprefix.U>:
+
+This variable tells whether the vendorprefix
+and consequently other vendor* paths are in use.
+
+=item C<useversionedarchname>
+
+From F<archname.U>:
+
+This variable indicates whether to include the $api_versionstring
+as a component of the $archname.
+
+=item C<usevfork>
+
+From F<d_vfork.U>:
+
+This variable is set to true when the user accepts to use vfork.
+It is set to false when no vfork is available or when the user
+explicitly requests not to use vfork.
+
+=item C<usrinc>
+
+From F<usrinc.U>:
+
+This variable holds the path of the include files, which is
+usually F</usr/include>. It is mainly used by other Configure units.
+
+=item C<uuname>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<uvoformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<UV> as an unsigned octal integer.
+
+=item C<uvsize>
+
+From F<perlxv.U>:
+
+This variable is the size of a C<UV> in bytes.
+
+=item C<uvtype>
+
+From F<perlxv.U>:
+
+This variable contains the C type used for Perl's C<UV>.
+
+=item C<uvuformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<UV> as an unsigned decimal integer.
+
+=item C<uvxformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<UV> as an unsigned hexadecimal integer in lowercase abcdef.
+
+=item C<uvXUformat>
+
+From F<perlxvf.U>:
+
+This variable contains the format string used for printing
+a Perl C<UV> as an unsigned hexadecimal integer in uppercase C<ABCDEF>.
+
+=back
+
+=cut
+
+=head2 v
+
+=over 4
+
+=cut
+
+=item C<vendorarch>
+
+From F<vendorarch.U>:
+
+This variable contains the value of the C<PERL_VENDORARCH> symbol.
+It may have a F<~> on the front.
+The standard distribution will put nothing in this directory.
+Vendors who distribute perl may wish to place their own
+architecture-dependent modules and extensions in this directory with
+MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
+or equivalent. See C<INSTALL> for details.
+
+=item C<vendorarchexp>
+
+From F<vendorarch.U>:
+
+This variable is the F<~name> expanded version of vendorarch, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<vendorbin>
+
+From F<vendorbin.U>:
+
+This variable contains the eventual value of the C<VENDORBIN> symbol.
+It may have a F<~> on the front.
+The standard distribution will put nothing in this directory.
+Vendors who distribute perl may wish to place additional
+binaries in this directory with
+MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
+or equivalent. See C<INSTALL> for details.
+
+=item C<vendorbinexp>
+
+From F<vendorbin.U>:
+
+This variable is the F<~name> expanded version of vendorbin, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<vendorhtml1dir>
+
+From F<vendorhtml1dir.U>:
+
+This variable contains the name of the directory for html
+pages. It may have a F<~> on the front.
+The standard distribution will put nothing in this directory.
+Vendors who distribute perl may wish to place their own
+html pages in this directory with
+MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
+or equivalent. See C<INSTALL> for details.
+
+=item C<vendorhtml1direxp>
+
+From F<vendorhtml1dir.U>:
+
+This variable is the F<~name> expanded version of vendorhtml1dir, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<vendorhtml3dir>
+
+From F<vendorhtml3dir.U>:
+
+This variable contains the name of the directory for html
+library pages. It may have a F<~> on the front.
+The standard distribution will put nothing in this directory.
+Vendors who distribute perl may wish to place their own
+html pages for modules and extensions in this directory with
+MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
+or equivalent. See C<INSTALL> for details.
+
+=item C<vendorhtml3direxp>
+
+From F<vendorhtml3dir.U>:
+
+This variable is the F<~name> expanded version of vendorhtml3dir, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<vendorlib>
+
+From F<vendorlib.U>:
+
+This variable contains the eventual value of the C<VENDORLIB> symbol,
+which is the name of the private library for this package.
+The standard distribution will put nothing in this directory.
+Vendors who distribute perl may wish to place their own
+modules in this directory with
+MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
+or equivalent. See C<INSTALL> for details.
+
+=item C<vendorlib_stem>
+
+From F<vendorlib.U>:
+
+This variable is $vendorlibexp with any trailing version-specific component
+removed. The elements in inc_version_list (F<inc_version_list.U>) can
+be tacked onto this variable to generate a list of directories to search.
+
+=item C<vendorlibexp>
+
+From F<vendorlib.U>:
+
+This variable is the F<~name> expanded version of vendorlib, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<vendorman1dir>
+
+From F<vendorman1dir.U>:
+
+This variable contains the name of the directory for man1
+pages. It may have a F<~> on the front.
+The standard distribution will put nothing in this directory.
+Vendors who distribute perl may wish to place their own
+man1 pages in this directory with
+MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
+or equivalent. See C<INSTALL> for details.
+
+=item C<vendorman1direxp>
+
+From F<vendorman1dir.U>:
+
+This variable is the F<~name> expanded version of vendorman1dir, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<vendorman3dir>
+
+From F<vendorman3dir.U>:
+
+This variable contains the name of the directory for man3
+pages. It may have a F<~> on the front.
+The standard distribution will put nothing in this directory.
+Vendors who distribute perl may wish to place their own
+man3 pages in this directory with
+MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
+or equivalent. See C<INSTALL> for details.
+
+=item C<vendorman3direxp>
+
+From F<vendorman3dir.U>:
+
+This variable is the F<~name> expanded version of vendorman3dir, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<vendorprefix>
+
+From F<vendorprefix.U>:
+
+This variable holds the full absolute path of the directory below
+which the vendor will install add-on packages.
+See C<INSTALL> for usage and examples.
+
+=item C<vendorprefixexp>
+
+From F<vendorprefix.U>:
+
+This variable holds the full absolute path of the directory below
+which the vendor will install add-on packages. Derived from vendorprefix.
+
+=item C<vendorscript>
+
+From F<vendorscript.U>:
+
+This variable contains the eventual value of the C<VENDORSCRIPT> symbol.
+It may have a F<~> on the front.
+The standard distribution will put nothing in this directory.
+Vendors who distribute perl may wish to place additional
+executable scripts in this directory with
+MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
+or equivalent. See C<INSTALL> for details.
+
+=item C<vendorscriptexp>
+
+From F<vendorscript.U>:
+
+This variable is the F<~name> expanded version of vendorscript, so that you
+may use it directly in Makefiles or shell scripts.
+
+=item C<version>
+
+From F<patchlevel.U>:
+
+The full version number of this package, such as 5.6.1 (or 5_6_1).
+This combines revision, patchlevel, and subversion to get the
+full version number, including any possible subversions.
+This is suitable for use as a directory name, and hence is
+filesystem dependent.
+
+=item C<version_patchlevel_string>
+
+From F<patchlevel.U>:
+
+This is a string combining version, subversion and
+perl_patchlevel (if perl_patchlevel is non-zero).
+It is typically something like
+'version 7 subversion 1' or
+'version 7 subversion 1 patchlevel 11224'
+It is computed here to avoid duplication of code in F<myconfig.SH>
+and F<lib/Config.pm>.
+
+=item C<versiononly>
+
+From F<versiononly.U>:
+
+If set, this symbol indicates that only the version-specific
+components of a perl installation should be installed.
+This may be useful for making a test installation of a new
+version without disturbing the existing installation.
+Setting versiononly is equivalent to setting installperl's -v option.
+In particular, the non-versioned scripts and programs such as
+a2p, c2ph, h2xs, pod2*, and perldoc are not installed
+(see C<INSTALL> for a more complete list). Nor are the man
+pages installed.
+Usually, this is undef.
+
+=item C<vi>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=back
+
+=cut
+
+=head2 x
+
+=over 4
+
+=cut
+
+=item C<xlibpth>
+
+From F<libpth.U>:
+
+This variable holds extra path (space-separated) used to find
+libraries on this platform, for example C<CPU>-specific libraries
+(on multi-C<CPU> platforms) may be listed here.
+
+=back
+
+=cut
+
+=head2 y
+
+=over 4
+
+=cut
+
+=item C<yacc>
+
+From F<yacc.U>:
+
+This variable holds the name of the compiler compiler we
+want to use in the Makefile. It can be yacc, byacc, or bison -y.
+
+=item C<yaccflags>
+
+From F<yacc.U>:
+
+This variable contains any additional yacc flags desired by the
+user. It is up to the Makefile to use this.
+
+=back
+
+=cut
+
+=head2 z
+
+=over 4
+
+=cut
+
+=item C<zcat>
+
+From F<Loc.U>:
+
+This variable is defined but not used by Configure.
+The value is the empty string and is not useful.
+
+=item C<zip>
+
+From F<Loc.U>:
+
+This variable is used internally by Configure to determine the
+full pathname (if any) of the zip program. After Configure runs,
+the value is reset to a plain C<zip> and is not useful.
+
+
+=back
+
+=head1 GIT DATA
+
+Information on the git commit from which the current perl binary was compiled
+can be found in the variable C<$Config::Git_Data>. The variable is a
+structured string that looks something like this:
+
+ git_commit_id='ea0c2dbd5f5ac6845ecc7ec6696415bf8e27bd52'
+ git_describe='GitLive-blead-1076-gea0c2db'
+ git_branch='smartmatch'
+ git_uncommitted_changes=''
+ git_commit_id_title='Commit id:'
+ git_commit_date='2009-05-09 17:47:31 +0200'
+
+Its format is not guaranteed not to change over time.
+
+=head1 NOTE
+
+This module contains a good example of how to use tie to implement a
+cache and an example of how to make a tied variable readonly to those
+outside of it.
+
+=cut
+