This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add sin6_scope_id probe (LeoNerd)
[perl5.git] / Porting / Glossary
index eb2fe3d..bc8e605 100644 (file)
@@ -1,3 +1,7 @@
+
+!!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
+This file is built by metaconfig.
+
 This file contains a description of all the shell variables whose value is
 determined by the Configure script.  Variables intended for use in C
 programs (e.g. I_UNISTD) are already described in config_h.SH.  [`configpm'
@@ -5,13 +9,15 @@ generates pod documentation for Config.pm from this file--please try to keep
 the formatting regular.]
 
 _a (Unix.U):
-       This variable defines the extension used for ordinary libraries.
+       This variable defines the extension used for ordinary library files.
        For unix, it is '.a'.  The '.' is included.  Other possible
        values include '.lib'.
 
 _exe (Unix.U):
        This variable defines the extension used for executable files.
-       For unix it is empty.  Other possible values include '.exe'.
+       DJGPP, Cygwin and OS/2 use '.exe'.  Stratus VOS uses '.pm'.
+       On operating systems which do not require a specific extension
+       for executable files, this variable is empty.
 
 _o (Unix.U):
        This variable defines the extension used for object files.
@@ -28,7 +34,7 @@ afsroot (afs.U):
        This variable is by default set to '/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 Perl configure and test process. 
+       tests for AFSness in the configure and test process.
 
 alignbytes (alignbytes.U):
        This variable holds the number of bytes required to align a
@@ -36,7 +42,7 @@ alignbytes (alignbytes.U):
        2, 4 and 8.  The default is eight, for safety.
 
 ansi2knr (ansi2knr.U):
-       This variable is set if the user needs to run ansi2knr.  
+       This variable is set if the user needs to run ansi2knr.
        Currently, this is not supported, so we just abort.
 
 aphostname (d_gethname.U):
@@ -51,7 +57,8 @@ api_revision (patchlevel.U):
        such as '5.6.1', api_revision is the '5'.
        Prior to 5.5.640, the format was a floating point number,
        like 5.00563.
-               perl.c:incpush() and lib/lib.pm will automatically search in
+
+       perl.c:incpush() and lib/lib.pm will automatically search in
        $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.
@@ -59,7 +66,8 @@ api_revision (patchlevel.U):
        directory was introduced in 5.005, so that is the lowest
        possible value.  The version list appropriate for the current
        system is determined in inc_version_list.U.
-               XXX To do:  Since compatibility can depend on compile time
+
+       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 patchlevel.h.
@@ -104,13 +112,13 @@ archlibexp (archlib.U):
        This variable is the same as the archlib variable, but is
        filename expanded at configuration time, for convenient use.
 
-archname64 (use64bits.U):
-       This variable is used for the 64-bitness part of $archname.
-
 archname (archname.U):
        This variable is a short name to characterize the current
        architecture.  It is used mainly to construct the default archlib.
 
+archname64 (use64bits.U):
+       This variable is used for the 64-bitness part of $archname.
+
 archobjs (Unix.U):
        This variable defines any additional objects that must be linked
        in with the program on this architecture.  On unix, it is usually
@@ -118,6 +126,12 @@ archobjs (Unix.U):
        or other facilities.  For perl on OS/2, for example, this would
        include os2/os2.obj.
 
+asctime_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
+       is defined.
+
 awk (Loc.U):
        This variable is used internally by Configure to determine the
        full pathname (if any) of the awk program.  After Configure runs,
@@ -128,7 +142,7 @@ baserev (baserev.U):
 
 bash (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 bin (bin.U):
        This variable holds the name of the directory in which the user wants
@@ -136,9 +150,10 @@ bin (bin.U):
        is most often a local directory such as /usr/local/bin. Programs using
        this variable must be prepared to deal with ~name substitution.
 
-bincompat5005 (bincompat5005.U):
-       This variable contains y if this version of Perl should be
-       binary-compatible with Perl 5.005.
+bin_ELF (dlsrc.U):
+       This variable saves the result from configure if generated binaries
+       are in ELF format. Only set to defined when the test has actually
+       been performed, and the result was positive.
 
 binexp (bin.U):
        This is the same as the bin variable, but is filename expanded at
@@ -155,10 +170,10 @@ byacc (Loc.U):
        the value is reset to a plain "byacc" and is not useful.
 
 byteorder (byteorder.U):
-       This variable holds the byte order. 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 !
+       This variable holds the byte order in a 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 !
 
 c (n.U):
        This variable contains the \c string if that is what causes the echo
@@ -234,13 +249,17 @@ cf_time (cf_who.U):
        Holds the output of the "date" command when the configuration file was
        produced. This is used to tag both config.sh and config_h.SH.
 
+charbits (charsize.U):
+       This variable contains the value of the CHARBITS symbol, which
+       indicates to the C program how many bits there are in a character.
+
 charsize (charsize.U):
        This variable contains the value of the CHARSIZE symbol, which
        indicates to the C program how many bytes there are in a character.
 
 chgrp (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 chmod (Loc.U):
        This variable is used internally by Configure to determine the
@@ -249,7 +268,7 @@ chmod (Loc.U):
 
 chown (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 clocktype (d_times.U):
        This variable holds the type returned by times(). It can be long,
@@ -263,7 +282,24 @@ comm (Loc.U):
 
 compress (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
+
+config_arg0 (Options.U):
+       This variable contains the string used to invoke the Configure
+       command, as reported by the shell in the $0 variable.
+
+config_argc (Options.U):
+       This variable countains 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_argc1,
+       config_argc2, etc.
+
+config_args (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]*.
 
 contains (contains.U):
        This variable holds the command to do a grep with a proper return
@@ -278,7 +314,7 @@ cp (Loc.U):
 
 cpio (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 cpp (Loc.U):
        This variable is used internally by Configure to determine the
@@ -286,7 +322,7 @@ cpp (Loc.U):
        the value is reset to a plain "cpp" and is not useful.
 
 cpp_stuff (cpp_stuff.U):
-       This variable contains an identification of the catenation mechanism
+       This variable contains an identification of the concatenation mechanism
        used by the C preprocessor.
 
 cppccsymbols (Cppsym.U):
@@ -329,6 +365,12 @@ cppsymbols (Cppsym.U):
        not in this list, see ccsymbols and cppccsymbols.
        The list is a space-separated list of symbol=value tokens.
 
+crypt_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
+       is defined.
+
 cryptlib (d_crypt.U):
        This variable holds -lcrypt or the path to a libcrypt.a archive if
        the crypt() function is not defined in the standard C library. It is
@@ -339,6 +381,18 @@ csh (Loc.U):
        full pathname (if any) of the csh program.  After Configure runs,
        the value is reset to a plain "csh" and is not useful.
 
+ctermid_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
+       is defined.
+
+ctime_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
+       is defined.
+
 d__fwalk (d__fwalk.U):
        This variable conditionally defines HAS__FWALK if _fwalk() is
        available to apply a function to all the file handles.
@@ -351,6 +405,11 @@ d_accessx (d_accessx.U):
        This variable conditionally defines the HAS_ACCESSX symbol, which
        indicates to the C program that the accessx() routine is available.
 
+d_aintl (d_aintl.U):
+       This variable conditionally defines the HAS_AINTL symbol, which
+       indicates to the C program that the aintl() routine is available.
+       If copysignl is also present we can emulate modfl.
+
 d_alarm (d_alarm.U):
        This variable conditionally defines the HAS_ALARM symbol, which
        indicates to the C program that the alarm() routine is available.
@@ -360,6 +419,15 @@ d_archlib (archlib.U):
        of architecture-dependent library files for $package.  If
        $archlib is the same as $privlib, then this is set to undef.
 
+d_asctime64 (d_timefuncs64.U):
+       This variable conditionally defines the HAS_ASCTIME64 symbol, which
+       indicates to the C program that the asctime64 () routine is available.
+
+d_asctime_r (d_asctime_r.U):
+       This variable conditionally defines the HAS_ASCTIME_R symbol,
+       which indicates to the C program that the asctime_r()
+       routine is available.
+
 d_atolf (atolf.U):
        This variable conditionally defines the HAS_ATOLF symbol, which
        indicates to the C program that the atolf() routine is available.
@@ -368,10 +436,47 @@ d_atoll (atoll.U):
        This variable conditionally defines the HAS_ATOLL symbol, which
        indicates to the C program that the atoll() routine is available.
 
-d_attribut (d_attribut.U):
-       This variable conditionally defines HASATTRIBUTE, which
-       indicates the C compiler can check for function attributes,
-       such as printf formats.
+d_attribute_deprecated (d_attribut.U):
+       This variable conditionally defines HASATTRIBUTE_DEPRECATED, which
+       indicates that GCC can handle the attribute for marking deprecated
+       APIs
+
+d_attribute_format (d_attribut.U):
+       This variable conditionally defines HASATTRIBUTE_FORMAT, which
+       indicates the C compiler can check for printf-like formats.
+
+d_attribute_malloc (d_attribut.U):
+       This variable conditionally defines HASATTRIBUTE_MALLOC, which
+       indicates the C compiler can understand functions as having
+       malloc-like semantics.
+
+d_attribute_nonnull (d_attribut.U):
+       This variable conditionally defines HASATTRIBUTE_NONNULL, which
+       indicates that the C compiler can know that certain arguments
+       must not be NULL, and will check accordingly at compile time.
+
+d_attribute_noreturn (d_attribut.U):
+       This variable conditionally defines HASATTRIBUTE_NORETURN, which
+       indicates that the C compiler can know that certain functions
+       are guaranteed never to return.
+
+d_attribute_pure (d_attribut.U):
+       This variable conditionally defines HASATTRIBUTE_PURE, which
+       indicates that the C compiler can know that certain functions
+       are "pure" functions, meaning that they have no side effects, and
+       only rely on function input and/or global data for their results.
+
+d_attribute_unused (d_attribut.U):
+       This variable conditionally defines 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.
+
+d_attribute_warn_unused_result (d_attribut.U):
+       This variable conditionally defines
+       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().
 
 d_bcmp (d_bcmp.U):
        This variable conditionally defines the HAS_BCMP symbol if
@@ -381,13 +486,6 @@ d_bcopy (d_bcopy.U):
        This variable conditionally defines the HAS_BCOPY symbol if
        the bcopy() routine is available to copy strings.
 
-d_bincompat5005 (bincompat5005.U):
-       This variable conditionally defines BINCOMPAT5005 so that embed.h
-       can take special action if this version of Perl should be
-       binary-compatible with Perl 5.005.  This is impossible for builds
-       that use features like threads and multiplicity it is always $undef
-       for those versions.
-
 d_bsd (Guess.U):
        This symbol conditionally defines the symbol BSD when running on a
        BSD system.
@@ -401,10 +499,29 @@ d_bsdsetpgrp (d_setpgrp.U):
        setpgrp needs two arguments whereas USG one needs none.
        See also d_setpgid for a POSIX interface.
 
+d_builtin_choose_expr (d_builtin.U):
+       This conditionally defines HAS_BUILTIN_CHOOSE_EXPR, which
+       indicates that the compiler supports __builtin_choose_expr(x,y,z).
+       This built-in function is analogous to the "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.
+
+d_builtin_expect (d_builtin.U):
+       This conditionally defines 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.
+
 d_bzero (d_bzero.U):
        This variable conditionally defines the HAS_BZERO symbol if
        the bzero() routine is available to set memory to 0.
 
+d_c99_variadic_macros (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.
+
 d_casti32 (d_casti32.U):
        This variable conditionally defines CASTI32, which indicates
        whether the C compiler can cast large floats to 32-bit ints.
@@ -435,6 +552,10 @@ d_class (d_class.U):
        This variable conditionally defines the HAS_CLASS symbol, which
        indicates to the C program that the class() routine is available.
 
+d_clearenv (d_clearenv.U):
+       This variable conditionally defines the HAS_CLEARENV symbol, which
+       indicates to the C program that the clearenv () routine is available.
+
 d_closedir (d_closedir.U):
        This variable conditionally defines HAS_CLOSEDIR if closedir() is
        available.
@@ -448,15 +569,48 @@ d_const (d_const.U):
        indicates to the C program that this C compiler knows about the
        const type.
 
+d_copysignl (d_copysignl.U):
+       This variable conditionally defines the HAS_COPYSIGNL symbol, which
+       indicates to the C program that the copysignl() routine is available.
+       If aintl is also present we can emulate modfl.
+
+d_cplusplus (d_cplusplus.U):
+       This variable conditionally defines the USE_CPLUSPLUS symbol, which
+       indicates that a C++ compiler was used to compiled Perl and will be
+       used to compile extensions.
+
 d_crypt (d_crypt.U):
        This variable conditionally defines the CRYPT symbol, which
        indicates to the C program that the crypt() routine is available
        to encrypt passwords and the like.
 
+d_crypt_r (d_crypt_r.U):
+       This variable conditionally defines the HAS_CRYPT_R symbol,
+       which indicates to the C program that the crypt_r()
+       routine is available.
+
 d_csh (d_csh.U):
        This variable conditionally defines the CSH symbol, which
        indicates to the C program that the C-shell exists.
 
+d_ctermid (d_ctermid.U):
+       This variable conditionally defines CTERMID if ctermid() is
+       available to generate filename for terminal.
+
+d_ctermid_r (d_ctermid_r.U):
+       This variable conditionally defines the HAS_CTERMID_R symbol,
+       which indicates to the C program that the ctermid_r()
+       routine is available.
+
+d_ctime64 (d_timefuncs64.U):
+       This variable conditionally defines the HAS_CTIME64 symbol, which
+       indicates to the C program that the ctime64 () routine is available.
+
+d_ctime_r (d_ctime_r.U):
+       This variable conditionally defines the HAS_CTIME_R symbol,
+       which indicates to the C program that the ctime_r()
+       routine is available.
+
 d_cuserid (d_cuserid.U):
        This variable conditionally defines the HAS_CUSERID symbol, which
        indicates to the C program that the cuserid() routine is available
@@ -477,6 +631,15 @@ d_difftime (d_difftime.U):
        This variable conditionally defines the HAS_DIFFTIME symbol, which
        indicates to the C program that the difftime() routine is available.
 
+d_difftime64 (d_timefuncs64.U):
+       This variable conditionally defines the HAS_DIFFTIME64 symbol, which
+       indicates to the C program that the difftime64 () routine is available.
+
+d_dir_dd_fd (d_dir_dd_fd.U):
+       This variable conditionally defines the HAS_DIR_DD_FD symbol, which
+       indicates that the DIR directory stream type contains a member
+       variable called dd_fd.
+
 d_dirfd (d_dirfd.U):
        This variable conditionally defines the HAS_DIRFD constant,
        which indicates to the C program that dirfd() is available
@@ -505,6 +668,11 @@ d_dosuid (d_dosuid.U):
        tells the C program that it should insert setuid emulation code
        on hosts which have setuid #! scripts disabled.
 
+d_drand48_r (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.
+
 d_drand48proto (d_drand48proto.U):
        This variable conditionally defines the HAS_DRAND48_PROTO symbol,
        which indicates to the C program that the system provides
@@ -524,27 +692,57 @@ d_endgrent (d_endgrent.U):
        indicates to the C program that the endgrent() routine is available
        for sequential access of the group database.
 
+d_endgrent_r (d_endgrent_r.U):
+       This variable conditionally defines the HAS_ENDGRENT_R symbol,
+       which indicates to the C program that the endgrent_r()
+       routine is available.
+
 d_endhent (d_endhent.U):
        This variable conditionally defines HAS_ENDHOSTENT if endhostent() is
        available to close whatever was being used for host queries.
 
+d_endhostent_r (d_endhostent_r.U):
+       This variable conditionally defines the HAS_ENDHOSTENT_R symbol,
+       which indicates to the C program that the endhostent_r()
+       routine is available.
+
 d_endnent (d_endnent.U):
        This variable conditionally defines HAS_ENDNETENT if endnetent() is
        available to close whatever was being used for network queries.
 
+d_endnetent_r (d_endnetent_r.U):
+       This variable conditionally defines the HAS_ENDNETENT_R symbol,
+       which indicates to the C program that the endnetent_r()
+       routine is available.
+
 d_endpent (d_endpent.U):
        This variable conditionally defines HAS_ENDPROTOENT if endprotoent() is
        available to close whatever was being used for protocol queries.
 
+d_endprotoent_r (d_endprotoent_r.U):
+       This variable conditionally defines the HAS_ENDPROTOENT_R symbol,
+       which indicates to the C program that the endprotoent_r()
+       routine is available.
+
 d_endpwent (d_endpwent.U):
        This variable conditionally defines the HAS_ENDPWENT symbol, which
        indicates to the C program that the endpwent() routine is available
        for sequential access of the passwd database.
 
+d_endpwent_r (d_endpwent_r.U):
+       This variable conditionally defines the HAS_ENDPWENT_R symbol,
+       which indicates to the C program that the endpwent_r()
+       routine is available.
+
 d_endsent (d_endsent.U):
        This variable conditionally defines HAS_ENDSERVENT if endservent() is
        available to close whatever was being used for service queries.
 
+d_endservent_r (d_endservent_r.U):
+       This variable conditionally defines the HAS_ENDSERVENT_R symbol,
+       which indicates to the C program that the endservent_r()
+       routine is available.
+
 d_eofnblk (nblock_io.U):
        This variable conditionally defines EOF_NONBLOCK if EOF can be seen
        when reading from a non-blocking I/O source.
@@ -553,6 +751,11 @@ d_eunice (Guess.U):
        This variable conditionally defines the symbols EUNICE and VAX, which
        alerts the C program that it must deal with ideosyncracies of VMS.
 
+d_faststdio (d_faststdio.U):
+       This variable conditionally defines the HAS_FAST_STDIO symbol,
+       which indicates to the C program that the "fast stdio" is available
+       to manipulate the stdio buffers directly.
+
 d_fchdir (d_fchdir.U):
        This variable conditionally defines the HAS_FCHDIR symbol, which
        indicates to the C program that the fchdir() routine is available.
@@ -683,14 +886,53 @@ d_ftime (d_ftime.U):
        that the ftime() routine exists.  The ftime() routine is basically
        a sub-second accuracy clock.
 
+d_futimes (d_futimes.U):
+       This variable conditionally defines the HAS_FUTIMES symbol, which
+       indicates to the C program that the futimes() routine is available.
+
 d_Gconvert (d_gconvert.U):
        This variable holds what Gconvert is defined as to convert
-       floating point numbers into strings. It could be 'gconvert'
-       or a more complex macro emulating gconvert with gcvt() or sprintf.
-       Possible values are:
-       d_Gconvert='gconvert((x),(n),(t),(b))'
-       d_Gconvert='gcvt((x),(n),(b))'
-       d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+       floating point numbers into strings.  By default, Configure
+       sets this macro to use the first of gconvert, gcvt, or sprintf
+       that pass sprintf-%g-like behaviour 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 uselongdouble.cbu
+       call-back unit so that long doubles can be formatted without
+       loss of precision.
+
+d_gdbm_ndbm_h_uses_prototypes (i_ndbm.U):
+       This variable conditionally defines the NDBM_H_USES_PROTOTYPES symbol,
+       which indicates that the gdbm-ndbm.h include file uses real 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 ndbm.h include files.
+
+d_gdbmndbm_h_uses_prototypes (i_ndbm.U):
+       This variable conditionally defines the NDBM_H_USES_PROTOTYPES symbol,
+       which indicates that the gdbm/ndbm.h include file uses real 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 ndbm.h include files.
+
+d_getaddrinfo (d_getaddrinfo.U):
+       This variable conditionally defines the HAS_GETADDRINFO symbol,
+       which indicates to the C program that the getaddrinfo() function
+       is available.
 
 d_getcwd (d_getcwd.U):
        This variable conditionally defines the HAS_GETCWD symbol, which
@@ -710,6 +952,21 @@ d_getgrent (d_getgrent.U):
        indicates to the C program that the getgrent() routine is available
        for sequential access of the group database.
 
+d_getgrent_r (d_getgrent_r.U):
+       This variable conditionally defines the HAS_GETGRENT_R symbol,
+       which indicates to the C program that the getgrent_r()
+       routine is available.
+
+d_getgrgid_r (d_getgrgid_r.U):
+       This variable conditionally defines the HAS_GETGRGID_R symbol,
+       which indicates to the C program that the getgrgid_r()
+       routine is available.
+
+d_getgrnam_r (d_getgrnam_r.U):
+       This variable conditionally defines the HAS_GETGRNAM_R symbol,
+       which indicates to the C program that the getgrnam_r()
+       routine is available.
+
 d_getgrps (d_getgrps.U):
        This variable conditionally defines the HAS_GETGROUPS symbol, which
        indicates to the C program that the getgroups() routine is available
@@ -734,10 +991,25 @@ d_gethname (d_gethname.U):
        indicates to the C program that the gethostname() routine may be
        used to derive the host name.
 
+d_gethostbyaddr_r (d_gethostbyaddr_r.U):
+       This variable conditionally defines the HAS_GETHOSTBYADDR_R symbol,
+       which indicates to the C program that the gethostbyaddr_r()
+       routine is available.
+
+d_gethostbyname_r (d_gethostbyname_r.U):
+       This variable conditionally defines the HAS_GETHOSTBYNAME_R symbol,
+       which indicates to the C program that the gethostbyname_r()
+       routine is available.
+
+d_gethostent_r (d_gethostent_r.U):
+       This variable conditionally defines the HAS_GETHOSTENT_R symbol,
+       which indicates to the C program that the gethostent_r()
+       routine is available.
+
 d_gethostprotos (d_gethostprotos.U):
        This variable conditionally defines the HAS_GETHOST_PROTOS symbol,
        which indicates to the C program that <netdb.h> supplies
-       prototypes for the various gethost*() functions.  
+       prototypes for the various gethost*() functions.
        See also netdbtype.U for probing for various netdb types.
 
 d_getitimer (d_getitimer.U):
@@ -749,6 +1021,11 @@ d_getlogin (d_getlogin.U):
        indicates to the C program that the getlogin() routine is available
        to get the login name.
 
+d_getlogin_r (d_getlogin_r.U):
+       This variable conditionally defines the HAS_GETLOGIN_R symbol,
+       which indicates to the C program that the getlogin_r()
+       routine is available.
+
 d_getmnt (d_getmnt.U):
        This variable conditionally defines the HAS_GETMNT symbol, which
        indicates to the C program that the getmnt() routine is available
@@ -759,6 +1036,11 @@ d_getmntent (d_getmntent.U):
        indicates to the C program that the getmntent() routine is available
        to iterate through mounted files to get their mount info.
 
+d_getnameinfo (d_getnameinfo.U):
+       This variable conditionally defines the HAS_GETNAMEINFO symbol,
+       which indicates to the C program that the getnameinfo() function
+       is available.
+
 d_getnbyaddr (d_getnbyad.U):
        This variable conditionally defines the HAS_GETNETBYADDR symbol, which
        indicates to the C program that the getnetbyaddr() routine is available
@@ -773,10 +1055,25 @@ d_getnent (d_getnent.U):
        This variable conditionally defines HAS_GETNETENT if getnetent() is
        available to look up network names in some data base or another.
 
+d_getnetbyaddr_r (d_getnetbyaddr_r.U):
+       This variable conditionally defines the HAS_GETNETBYADDR_R symbol,
+       which indicates to the C program that the getnetbyaddr_r()
+       routine is available.
+
+d_getnetbyname_r (d_getnetbyname_r.U):
+       This variable conditionally defines the HAS_GETNETBYNAME_R symbol,
+       which indicates to the C program that the getnetbyname_r()
+       routine is available.
+
+d_getnetent_r (d_getnetent_r.U):
+       This variable conditionally defines the HAS_GETNETENT_R symbol,
+       which indicates to the C program that the getnetent_r()
+       routine is available.
+
 d_getnetprotos (d_getnetprotos.U):
        This variable conditionally defines the HAS_GETNET_PROTOS symbol,
        which indicates to the C program that <netdb.h> supplies
-       prototypes for the various getnet*() functions.  
+       prototypes for the various getnet*() functions.
        See also netdbtype.U for probing for various netdb types.
 
 d_getpagsz (d_getpagsz.U):
@@ -784,14 +1081,14 @@ d_getpagsz (d_getpagsz.U):
        is available to get the system page size.
 
 d_getpbyname (d_getprotby.U):
-       This variable conditionally defines the HAS_GETPROTOBYNAME 
-       symbol, which indicates to the C program that the 
+       This variable conditionally defines the HAS_GETPROTOBYNAME
+       symbol, which indicates to the C program that the
        getprotobyname() routine is available to look up protocols
        by their name.
 
 d_getpbynumber (d_getprotby.U):
-       This variable conditionally defines the HAS_GETPROTOBYNUMBER 
-       symbol, which indicates to the C program that the 
+       This variable conditionally defines the HAS_GETPROTOBYNUMBER
+       symbol, which indicates to the C program that the
        getprotobynumber() routine is available to look up protocols
        by their number.
 
@@ -804,15 +1101,15 @@ d_getpgid (d_getpgid.U):
        indicates to the C program that the getpgid(pid) function
        is available to get the process group id.
 
+d_getpgrp (d_getpgrp.U):
+       This variable conditionally defines HAS_GETPGRP if getpgrp() is
+       available to get the current process group.
+
 d_getpgrp2 (d_getpgrp2.U):
        This variable conditionally defines the HAS_GETPGRP2 symbol, which
        indicates to the C program that the getpgrp2() (as in DG/UX) routine
        is available to get the current process group.
 
-d_getpgrp (d_getpgrp.U):
-       This variable conditionally defines HAS_GETPGRP if getpgrp() is
-       available to get the current process group.
-
 d_getppid (d_getppid.U):
        This variable conditionally defines the HAS_GETPPID symbol, which
        indicates to the C program that the getppid() routine is available
@@ -822,10 +1119,25 @@ d_getprior (d_getprior.U):
        This variable conditionally defines HAS_GETPRIORITY if getpriority()
        is available to get a process's priority.
 
+d_getprotobyname_r (d_getprotobyname_r.U):
+       This variable conditionally defines the HAS_GETPROTOBYNAME_R symbol,
+       which indicates to the C program that the getprotobyname_r()
+       routine is available.
+
+d_getprotobynumber_r (d_getprotobynumber_r.U):
+       This variable conditionally defines the HAS_GETPROTOBYNUMBER_R symbol,
+       which indicates to the C program that the getprotobynumber_r()
+       routine is available.
+
+d_getprotoent_r (d_getprotoent_r.U):
+       This variable conditionally defines the HAS_GETPROTOENT_R symbol,
+       which indicates to the C program that the getprotoent_r()
+       routine is available.
+
 d_getprotoprotos (d_getprotoprotos.U):
        This variable conditionally defines the HAS_GETPROTO_PROTOS symbol,
        which indicates to the C program that <netdb.h> supplies
-       prototypes for the various getproto*() functions.  
+       prototypes for the various getproto*() functions.
        See also netdbtype.U for probing for various netdb types.
 
 d_getprpwnam (d_getprpwnam.U):
@@ -837,15 +1149,30 @@ d_getpwent (d_getpwent.U):
        indicates to the C program that the getpwent() routine is available
        for sequential access of the passwd database.
 
+d_getpwent_r (d_getpwent_r.U):
+       This variable conditionally defines the HAS_GETPWENT_R symbol,
+       which indicates to the C program that the getpwent_r()
+       routine is available.
+
+d_getpwnam_r (d_getpwnam_r.U):
+       This variable conditionally defines the HAS_GETPWNAM_R symbol,
+       which indicates to the C program that the getpwnam_r()
+       routine is available.
+
+d_getpwuid_r (d_getpwuid_r.U):
+       This variable conditionally defines the HAS_GETPWUID_R symbol,
+       which indicates to the C program that the getpwuid_r()
+       routine is available.
+
 d_getsbyname (d_getsrvby.U):
-       This variable conditionally defines the HAS_GETSERVBYNAME 
-       symbol, which indicates to the C program that the 
+       This variable conditionally defines the HAS_GETSERVBYNAME
+       symbol, which indicates to the C program that the
        getservbyname() routine is available to look up services
        by their name.
 
 d_getsbyport (d_getsrvby.U):
-       This variable conditionally defines the HAS_GETSERVBYPORT 
-       symbol, which indicates to the C program that the 
+       This variable conditionally defines the HAS_GETSERVBYPORT
+       symbol, which indicates to the C program that the
        getservbyport() routine is available to look up services
        by their port.
 
@@ -853,21 +1180,50 @@ d_getsent (d_getsent.U):
        This variable conditionally defines HAS_GETSERVENT if getservent() is
        available to look up network services in some data base or another.
 
+d_getservbyname_r (d_getservbyname_r.U):
+       This variable conditionally defines the HAS_GETSERVBYNAME_R symbol,
+       which indicates to the C program that the getservbyname_r()
+       routine is available.
+
+d_getservbyport_r (d_getservbyport_r.U):
+       This variable conditionally defines the HAS_GETSERVBYPORT_R symbol,
+       which indicates to the C program that the getservbyport_r()
+       routine is available.
+
+d_getservent_r (d_getservent_r.U):
+       This variable conditionally defines the HAS_GETSERVENT_R symbol,
+       which indicates to the C program that the getservent_r()
+       routine is available.
+
 d_getservprotos (d_getservprotos.U):
        This variable conditionally defines the HAS_GETSERV_PROTOS symbol,
        which indicates to the C program that <netdb.h> supplies
-       prototypes for the various getserv*() functions.  
+       prototypes for the various getserv*() functions.
        See also netdbtype.U for probing for various netdb types.
 
 d_getspnam (d_getspnam.U):
        This variable conditionally defines HAS_GETSPNAM if getspnam() is
        available to retrieve SysV shadow password entries by name.
 
+d_getspnam_r (d_getspnam_r.U):
+       This variable conditionally defines the HAS_GETSPNAM_R symbol,
+       which indicates to the C program that the getspnam_r()
+       routine is available.
+
 d_gettimeod (d_ftime.U):
        This variable conditionally defines the 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>.
 
+d_gmtime64 (d_timefuncs64.U):
+       This variable conditionally defines the HAS_GMTIME64 symbol, which
+       indicates to the C program that the gmtime64 () routine is available.
+
+d_gmtime_r (d_gmtime_r.U):
+       This variable conditionally defines the HAS_GMTIME_R symbol,
+       which indicates to the C program that the gmtime_r()
+       routine is available.
+
 d_gnulibc (d_gnulibc.U):
        Defined if we're dealing with the GNU C Library.
 
@@ -884,6 +1240,15 @@ d_htonl (d_htonl.U):
        This variable conditionally defines HAS_HTONL if htonl() and its
        friends are available to do network order byte swapping.
 
+d_ilogbl (d_ilogbl.U):
+       This variable conditionally defines the HAS_ILOGBL symbol, which
+       indicates to the C program that the ilogbl() routine is available.
+       If scalbnl is also present we can emulate frexpl.
+
+d_inc_version_list (inc_version_list.U):
+       This variable conditionally defines PERL_INC_VERSION_LIST.
+       It is set to undef when PERL_INC_VERSION_LIST is empty.
+
 d_index (d_strchr.U):
        This variable conditionally defines HAS_INDEX if index() and
        rindex() are available for string searching.
@@ -893,6 +1258,16 @@ d_inetaton (d_inetaton.U):
        indicates to the C program that the inet_aton() function is available
        to parse IP address "dotted-quad" strings.
 
+d_inetntop (d_inetntop.U):
+       This variable conditionally defines the HAS_INETNTOP symbol,
+       which indicates to the C program that the inet_ntop() function
+       is available.
+
+d_inetpton (d_inetpton.U):
+       This variable conditionally defines the HAS_INETPTON symbol,
+       which indicates to the C program that the inet_pton() function
+       is available.
+
 d_int64_t (d_int64_t.U):
        This symbol will be defined if the C compiler supports int64_t.
 
@@ -931,10 +1306,28 @@ d_ldbl_dig (d_ldbl_dig.U):
        header files provide LDBL_DIG, which is the number of significant
        digits in a long double precision number.
 
+d_libm_lib_version (d_libm_lib_version.U):
+       This variable conditionally defines the LIBM_LIB_VERSION symbol,
+       which indicates to the C program that math.h defines _LIB_VERSION
+       being available in libm
+
 d_link (d_link.U):
        This variable conditionally defines HAS_LINK if link() is
        available to create hard links.
 
+d_localtime64 (d_timefuncs64.U):
+       This variable conditionally defines the HAS_LOCALTIME64 symbol, which
+       indicates to the C program that the localtime64 () routine is available.
+
+d_localtime_r (d_localtime_r.U):
+       This variable conditionally defines the HAS_LOCALTIME_R symbol,
+       which indicates to the C program that the localtime_r()
+       routine is available.
+
+d_localtime_r_needs_tzset (d_localtime_r.U):
+       This variable conditionally defines the LOCALTIME_R_NEEDS_TZSET
+       symbol, which makes us call tzset before localtime_r()
+
 d_locconv (d_locconv.U):
        This variable conditionally defines HAS_LOCALECONV if localeconv() is
        available for numeric and monetary formatting conventions.
@@ -944,11 +1337,11 @@ d_lockf (d_lockf.U):
        available to do file locking.
 
 d_longdbl (d_longdbl.U):
-       This variable conditionally defines HAS_LONG_DOUBLE if 
+       This variable conditionally defines HAS_LONG_DOUBLE if
        the long double type is supported.
 
 d_longlong (d_longlong.U):
-       This variable conditionally defines HAS_LONG_LONG if 
+       This variable conditionally defines HAS_LONG_LONG if
        the long long type is supported.
 
 d_lseekproto (d_lseekproto.U):
@@ -965,6 +1358,14 @@ d_madvise (d_madvise.U):
        This variable conditionally defines HAS_MADVISE if madvise() is
        available to map a file into memory.
 
+d_malloc_good_size (d_malloc_size.U):
+       This symbol, if defined, indicates that the malloc_good_size
+       routine is available for use.
+
+d_malloc_size (d_malloc_size.U):
+       This symbol, if defined, indicates that the malloc_size
+       routine is available for use.
+
 d_mblen (d_mblen.U):
        This variable conditionally defines the HAS_MBLEN symbol, which
        indicates to the C program that the mblen() routine is available
@@ -1034,6 +1435,10 @@ d_mktime (d_mktime.U):
        This variable conditionally defines the HAS_MKTIME symbol, which
        indicates to the C program that the mktime() routine is available.
 
+d_mktime64 (d_timefuncs64.U):
+       This variable conditionally defines the HAS_MKTIME64 symbol, which
+       indicates to the C program that the mktime64 () routine is available.
+
 d_mmap (d_mmap.U):
        This variable conditionally defines HAS_MMAP if mmap() is
        available to map a file into memory.
@@ -1049,6 +1454,12 @@ d_modfl_pow32_bug (d_modfl.U):
        and 1.150000.  The bug has been seen in certain versions of glibc,
        release 2.2.2 is known to be okay.
 
+d_modflproto (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 *);
+
 d_mprotect (d_mprotect.U):
        This variable conditionally defines HAS_MPROTECT if mprotect() is
        available to modify the access protection of a memory mapped file.
@@ -1115,6 +1526,23 @@ d_mymalloc (mallocsrc.U):
        of the source want to take special action if MYMALLOC is used.
        This may include different sorts of profiling or error detection.
 
+d_ndbm (i_ndbm.U):
+       This variable conditionally defines the HAS_NDBM symbol, which
+       indicates that both the 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.
+
+d_ndbm_h_uses_prototypes (i_ndbm.U):
+       This variable conditionally defines the NDBM_H_USES_PROTOTYPES symbol,
+       which indicates that the ndbm.h include file uses real 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 ndbm.h include files.
+
 d_nice (d_nice.U):
        This variable conditionally defines the HAS_NICE symbol, which
        indicates to the C program that the nice() routine is available.
@@ -1127,9 +1555,9 @@ d_nv_preserves_uv (perlxv.U):
        This variable indicates whether a variable of type nvtype
        can preserve all the bits a variable of type uvtype.
 
-d_nv_preserves_uv_bits (perlxv.U):
-       This variable indicates how many of bits type uvtype
-       a variable nvtype can preserve.
+d_nv_zero_is_allbits_zero (perlxv.U):
+       This variable indicates whether a variable of type nvtype
+       stores 0.0 in memory as all bits zero.
 
 d_off64_t (d_off64_t.U):
        This symbol will be defined if the C compiler supports off64_t.
@@ -1189,6 +1617,15 @@ d_portable (d_portable.U):
        indicates to the C program that it should not assume that it is
        running on the machine it was compiled on.
 
+d_prctl (d_prctl.U):
+       This variable conditionally defines the HAS_PRCTL symbol, which
+       indicates to the C program that the prctl() routine is available.
+
+d_prctl_set_name (d_prctl.U):
+       This variable conditionally defines the HAS_PRCTL_SET_NAME symbol,
+       which indicates to the C program that the prctl() routine supports
+       the PR_SET_NAME option.
+
 d_PRId64 (quadfio.U):
        This variable conditionally defines the PERL_PRId64 symbol, which
        indiciates that stdio has a symbol to print 64-bit decimal numbers.
@@ -1227,6 +1664,10 @@ d_PRIi64 (quadfio.U):
        This variable conditionally defines the PERL_PRIi64 symbol, which
        indiciates that stdio has a symbol to print 64-bit decimal numbers.
 
+d_printf_format_null (d_attribut.U):
+       This variable conditionally defines PRINTF_FORMAT_NULL_OK, which
+       indicates the C compiler allows printf-like formats to be null.
+
 d_PRIo64 (quadfio.U):
        This variable conditionally defines the PERL_PRIo64 symbol, which
        indiciates that stdio has a symbol to print 64-bit octal numbers.
@@ -1250,11 +1691,20 @@ d_procselfexe (d_procselfexe.U):
        Defined if $procselfexe is symlink to the absolute
        pathname of the executing program.
 
+d_pseudofork (d_vfork.U):
+       This variable conditionally defines the HAS_PSEUDOFORK symbol,
+       which indicates that an emulation of the fork routine is available.
+
 d_pthread_atfork (d_pthread_atfork.U):
        This variable conditionally defines the HAS_PTHREAD_ATFORK symbol,
        which indicates to the C program that the pthread_atfork()
        routine is available.
 
+d_pthread_attr_setscope (d_pthread_attr_ss.U):
+       This variable conditionally defines HAS_PTHREAD_ATTR_SETSCOPE if
+       pthread_attr_setscope() is available to set the contention scope
+       attribute of a thread attribute object.
+
 d_pthread_yield (d_pthread_y.U):
        This variable conditionally defines the HAS_PTHREAD_YIELD
        symbol if the pthread_yield routine is available to yield
@@ -1300,10 +1750,25 @@ d_quad (quadtype.U):
        This variable, if defined, tells that there's a 64-bit integer type,
        quadtype.
 
+d_random_r (d_random_r.U):
+       This variable conditionally defines the HAS_RANDOM_R symbol,
+       which indicates to the C program that the random_r()
+       routine is available.
+
 d_readdir (d_readdir.U):
        This variable conditionally defines HAS_READDIR if readdir() is
        available to read directory entries.
 
+d_readdir64_r (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.
+
+d_readdir_r (d_readdir_r.U):
+       This variable conditionally defines the HAS_READDIR_R symbol,
+       which indicates to the C program that the readdir_r()
+       routine is available.
+
 d_readlink (d_readlink.U):
        This variable conditionally defines the HAS_READLINK symbol, which
        indicates to the C program that the readlink() routine is available
@@ -1351,6 +1816,11 @@ d_sbrkproto (d_sbrkproto.U):
        a prototype for the sbrk() function.  Otherwise, it is
        up to the program to supply one.
 
+d_scalbnl (d_scalbnl.U):
+       This variable conditionally defines the HAS_SCALBNL symbol, which
+       indicates to the C program that the scalbnl() routine is available.
+       If ilogbl is also present we can emulate frexpl.
+
 d_sched_yield (d_pthread_y.U):
        This variable conditionally defines the HAS_SCHED_YIELD
        symbol if the sched_yield routine is available to yield
@@ -1417,6 +1887,11 @@ d_setgrent (d_setgrent.U):
        indicates to the C program that the setgrent() routine is available
        for initializing sequential access to the group database.
 
+d_setgrent_r (d_setgrent_r.U):
+       This variable conditionally defines the HAS_SETGRENT_R symbol,
+       which indicates to the C program that the setgrent_r()
+       routine is available.
+
 d_setgrps (d_setgrps.U):
        This variable conditionally defines the HAS_SETGROUPS symbol, which
        indicates to the C program that the setgroups() routine is available
@@ -1426,6 +1901,11 @@ d_sethent (d_sethent.U):
        This variable conditionally defines HAS_SETHOSTENT if sethostent() is
        available.
 
+d_sethostent_r (d_sethostent_r.U):
+       This variable conditionally defines the HAS_SETHOSTENT_R symbol,
+       which indicates to the C program that the sethostent_r()
+       routine is available.
+
 d_setitimer (d_setitimer.U):
        This variable conditionally defines the HAS_SETITIMER symbol, which
        indicates to the C program that the setitimer() routine is available.
@@ -1440,10 +1920,20 @@ d_setlocale (d_setlocale.U):
        This variable conditionally defines HAS_SETLOCALE if setlocale() is
        available to handle locale-specific ctype implementations.
 
+d_setlocale_r (d_setlocale_r.U):
+       This variable conditionally defines the HAS_SETLOCALE_R symbol,
+       which indicates to the C program that the setlocale_r()
+       routine is available.
+
 d_setnent (d_setnent.U):
        This variable conditionally defines HAS_SETNETENT if setnetent() is
        available.
 
+d_setnetent_r (d_setnetent_r.U):
+       This variable conditionally defines the HAS_SETNETENT_R symbol,
+       which indicates to the C program that the setnetent_r()
+       routine is available.
+
 d_setpent (d_setpent.U):
        This variable conditionally defines HAS_SETPROTOENT if setprotoent() is
        available.
@@ -1452,15 +1942,15 @@ d_setpgid (d_setpgid.U):
        This variable conditionally defines the HAS_SETPGID symbol if the
        setpgid(pid, gpid) function is available to set process group ID.
 
+d_setpgrp (d_setpgrp.U):
+       This variable conditionally defines HAS_SETPGRP if setpgrp() is
+       available to set the current process group.
+
 d_setpgrp2 (d_setpgrp2.U):
        This variable conditionally defines the HAS_SETPGRP2 symbol, which
        indicates to the C program that the setpgrp2() (as in DG/UX) routine
        is available to set the current process group.
 
-d_setpgrp (d_setpgrp.U):
-       This variable conditionally defines HAS_SETPGRP if setpgrp() is
-       available to set the current process group.
-
 d_setprior (d_setprior.U):
        This variable conditionally defines HAS_SETPRIORITY if setpriority()
        is available to set a process's priority.
@@ -1470,11 +1960,21 @@ d_setproctitle (d_setproctitle.U):
        which indicates to the C program that the setproctitle() routine
        is available.
 
+d_setprotoent_r (d_setprotoent_r.U):
+       This variable conditionally defines the HAS_SETPROTOENT_R symbol,
+       which indicates to the C program that the setprotoent_r()
+       routine is available.
+
 d_setpwent (d_setpwent.U):
        This variable conditionally defines the HAS_SETPWENT symbol, which
        indicates to the C program that the setpwent() routine is available
        for initializing sequential access to the passwd database.
 
+d_setpwent_r (d_setpwent_r.U):
+       This variable conditionally defines the HAS_SETPWENT_R symbol,
+       which indicates to the C program that the setpwent_r()
+       routine is available.
+
 d_setregid (d_setregid.U):
        This variable conditionally defines HAS_SETREGID if setregid() is
        available to change the real and effective gid of the current
@@ -1509,6 +2009,11 @@ d_setsent (d_setsent.U):
        This variable conditionally defines HAS_SETSERVENT if setservent() is
        available.
 
+d_setservent_r (d_setservent_r.U):
+       This variable conditionally defines the HAS_SETSERVENT_R symbol,
+       which indicates to the C program that the setservent_r()
+       routine is available.
+
 d_setsid (d_setsid.U):
        This variable conditionally defines HAS_SETSID if setsid() is
        available to set the process group ID.
@@ -1531,7 +2036,7 @@ d_shmat (d_shmat.U):
        indicates to the C program that the shmat() routine is available.
 
 d_shmatprototype (d_shmat.U):
-       This variable conditionally defines the HAS_SHMAT_PROTOTYPE 
+       This variable conditionally defines the HAS_SHMAT_PROTOTYPE
        symbol, which indicates that sys/shm.h has a prototype for
        shmat.
 
@@ -1551,6 +2056,11 @@ d_sigaction (d_sigaction.U):
        This variable conditionally defines the HAS_SIGACTION symbol, which
        indicates that the Vr4 sigaction() routine is available.
 
+d_signbit (d_signbit.U):
+       This variable conditionally defines the HAS_SIGNBIT symbol, which
+       indicates to the C program that the signbit() routine is available
+       and safe to use with perl's intern NV type.
+
 d_sigprocmask (d_sigprocmask.U):
        This variable conditionally defines HAS_SIGPROCMASK
        if sigprocmask() is available to examine or change the signal mask
@@ -1561,6 +2071,26 @@ d_sigsetjmp (d_sigsetjmp.U):
        which indicates that the sigsetjmp() routine is available to
        call setjmp() and optionally save the process's signal mask.
 
+d_sin6_scope_id (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.
+
+d_sitearch (sitearch.U):
+       This variable conditionally defines 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.
+
+d_snprintf (d_snprintf.U):
+       This variable conditionally defines the HAS_SNPRINTF symbol, which
+       indicates to the C program that the snprintf () library function
+       is available.
+
+d_sockaddr_sa_len (d_socket.U):
+       This variable conditionally defines the HAS_SOCKADDR_SA_LEN symbol,
+       which indicates that a struct sockaddr structure has the sa_len
+       member.
+
 d_sockatmark (d_sockatmark.U):
        This variable conditionally defines the HAS_SOCKATMARK symbol, which
        indicates to the C program that the sockatmark() routine is available.
@@ -1586,10 +2116,26 @@ d_socks5_init (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.
 
+d_sprintf_returns_strlen (d_sprintf_len.U):
+       This variable defines whether sprintf returns the length of the string
+       (as per the ANSI spec). Some C libraries retain compatibility with
+       pre-ANSI C and return a pointer to the passed in buffer; for these
+       this variable will be undef.
+
 d_sqrtl (d_sqrtl.U):
        This variable conditionally defines the HAS_SQRTL symbol, which
        indicates to the C program that the sqrtl() routine is available.
 
+d_srand48_r (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.
+
+d_srandom_r (d_srandom_r.U):
+       This variable conditionally defines the HAS_SRANDOM_R symbol,
+       which indicates to the C program that the srandom_r()
+       routine is available.
+
 d_sresgproto (d_sresgproto.U):
        This variable conditionally defines the HAS_SETRESGID_PROTO symbol,
        which indicates to the C program that the system provides
@@ -1617,6 +2163,12 @@ d_statfs_s (d_statfs_s.U):
        This variable conditionally defines the HAS_STRUCT_STATFS symbol,
        which indicates that the struct statfs is supported.
 
+d_static_inline (d_static_inline.U):
+       This variable conditionally defines the 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.
+
 d_statvfs (d_statvfs.U):
        This variable conditionally defines the HAS_STATVFS symbol, which
        indicates to the C program that the statvfs() routine is available.
@@ -1675,10 +2227,23 @@ d_strerror (d_strerror.U):
        This variable conditionally defines HAS_STRERROR if strerror() is
        available to translate error numbers to strings.
 
+d_strerror_r (d_strerror_r.U):
+       This variable conditionally defines the HAS_STRERROR_R symbol,
+       which indicates to the C program that the strerror_r()
+       routine is available.
+
 d_strftime (d_strftime.U):
        This variable conditionally defines the HAS_STRFTIME symbol, which
        indicates to the C program that the strftime() routine is available.
 
+d_strlcat (d_strlcat.U):
+       This variable conditionally defines the HAS_STRLCAT symbol, which
+       indicates to the C program that the strlcat () routine is available.
+
+d_strlcpy (d_strlcpy.U):
+       This variable conditionally defines the HAS_STRLCPY symbol, which
+       indicates to the C program that the strlcpy () routine is available.
+
 d_strtod (d_strtod.U):
        This variable conditionally defines the HAS_STRTOD symbol, which
        indicates to the C program that the strtod() routine is available
@@ -1779,15 +2344,37 @@ d_time (d_time.U):
        that the time() routine exists.  The time() routine is normaly
        provided on UNIX systems.
 
+d_timegm (d_timegm.U):
+       This variable conditionally defines the HAS_TIMEGM symbol, which
+       indicates to the C program that the timegm () routine is available.
+
 d_times (d_times.U):
        This variable conditionally defines the HAS_TIMES symbol, which indicates
        that the times() routine exists.  The times() routine is normaly
        provided on UNIX systems. You may have to include <sys/times.h>.
 
+d_tm_tm_gmtoff (i_time.U):
+       This variable conditionally defines HAS_TM_TM_GMTOFF, which indicates
+       indicates to the C program that the struct tm has the tm_gmtoff field.
+
+d_tm_tm_zone (i_time.U):
+       This variable conditionally defines HAS_TM_TM_ZONE, which indicates
+       indicates to the C program that the struct tm has the tm_zone field.
+
+d_tmpnam_r (d_tmpnam_r.U):
+       This variable conditionally defines the HAS_TMPNAM_R symbol,
+       which indicates to the C program that the tmpnam_r()
+       routine is available.
+
 d_truncate (d_truncate.U):
        This variable conditionally defines HAS_TRUNCATE if truncate() is
        available to truncate files.
 
+d_ttyname_r (d_ttyname_r.U):
+       This variable conditionally defines the HAS_TTYNAME_R symbol,
+       which indicates to the C program that the ttyname_r()
+       routine is available.
+
 d_tzname (d_tzname.U):
        This variable conditionally defines HAS_TZNAME if tzname[] is
        available to access timezone names.
@@ -1818,6 +2405,10 @@ d_unordered (d_unordered.U):
        This variable conditionally defines the HAS_UNORDERED symbol, which
        indicates to the C program that the unordered() routine is available.
 
+d_unsetenv (d_unsetenv.U):
+       This variable conditionally defines the HAS_UNSETENV symbol, which
+       indicates to the C program that the unsetenv () routine is available.
+
 d_usleep (d_usleep.U):
        This variable conditionally defines HAS_USLEEP if usleep() is
        available to do high granularity sleeps.
@@ -1841,6 +2432,9 @@ d_vendorbin (vendorbin.U):
 d_vendorlib (vendorlib.U):
        This variable conditionally defines PERL_VENDORLIB.
 
+d_vendorscript (vendorscript.U):
+       This variable conditionally defines PERL_VENDORSCRIPT.
+
 d_vfork (d_vfork.U):
        This variable conditionally defines the HAS_VFORK symbol, which
        indicates the vfork() routine is available.
@@ -1870,6 +2464,11 @@ d_vprintf (d_vprintf.U):
        indicates to the C program that the vprintf() routine is available
        to printf with a pointer to an argument list.
 
+d_vsnprintf (d_snprintf.U):
+       This variable conditionally defines the HAS_VSNPRINTF symbol, which
+       indicates to the C program that the vsnprintf () library function
+       is available.
+
 d_wait4 (d_wait4.U):
        This variable conditionally defines the HAS_WAIT4 symbol, which
        indicates the wait4() routine is available.
@@ -1952,6 +2551,15 @@ drand01 (randfunc.U):
        normalize the result.
        In C programs, the macro 'Drand01' is mapped to drand01.
 
+drand48_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
+       is defined.
+
+dtrace (usedtrace.U):
+       This variable holds the location of the dtrace executable.
+
 dynamic_ext (Extensions.U):
        This variable holds a list of XS extension files we want to
        link dynamically into the package.  It is used by Makefile.
@@ -1979,7 +2587,43 @@ egrep (Loc.U):
 
 emacs (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
+
+endgrent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
+       is defined.
+
+endhostent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
+       is defined.
+
+endnetent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
+       is defined.
+
+endprotoent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
+       is defined.
+
+endpwent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
+       is defined.
+
+endservent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
+       is defined.
 
 eunicefix (Init.U):
        When running under Eunice this variable contains a command which will
@@ -1997,9 +2641,13 @@ expr (Loc.U):
 extensions (Extensions.U):
        This variable holds a list of all extension files (both XS and
        non-xs linked into the package.  It is propagated to Config.pm
-       and is typically used to test whether a particular extesion 
+       and is typically used to test whether a particular extesion
        is available.
 
+extern_C (Csym.U):
+       ANSI C requires 'extern' where C++ requires 'extern "C"'. This
+       variable can be used in Configure to do the right thing.
+
 extras (Extras.U):
        This variable holds a list of extra modules to install.
 
@@ -2016,7 +2664,7 @@ fflushNULL (fflushall.U):
 
 find (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 firstmakefile (Unix.U):
        This variable defines the first file searched by make.  On unix,
@@ -2026,13 +2674,13 @@ firstmakefile (Unix.U):
 
 flex (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 fpossize (fpossize.U):
        This variable contains the size of a fpostype in bytes.
 
 fpostype (fpostype.U):
-       This variable defines Fpos_t to be something like fpos_t, long, 
+       This variable defines Fpos_t to be something like fpos_t, long,
        uint, or whatever type is used to declare file positions in libc.
 
 freetype (mallocsrc.U):
@@ -2064,16 +2712,141 @@ full_sed (Loc_sed.U):
        can share this executable will have the same full pathname to
        'sed.'
 
+gccansipedantic (gccvers.U):
+       If GNU cc (gcc) is used, this variable will enable (if set) the
+       -ansi and -pedantic ccflags for building core files (through
+       cflags script). (See Porting/pumpkin.pod for full description).
+
 gccosandvers (gccvers.U):
-       If GNU cc (gcc) is used, this variable the operating system and
-       version used to compile the gcc.  It is set to '' if not gcc,
+       If 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.
 
 gccversion (gccvers.U):
-       If GNU cc (gcc) is used, this variable holds '1' or '2' to 
+       If GNU cc (gcc) is used, this variable holds '1' or '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.
 
+getgrent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
+       is defined.
+
+getgrgid_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
+       is defined.
+
+getgrnam_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
+       is defined.
+
+gethostbyaddr_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
+       is defined.
+
+gethostbyname_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
+       is defined.
+
+gethostent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
+       is defined.
+
+getlogin_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r
+       is defined.
+
+getnetbyaddr_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
+       is defined.
+
+getnetbyname_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
+       is defined.
+
+getnetent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
+       is defined.
+
+getprotobyname_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
+       is defined.
+
+getprotobynumber_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
+       is defined.
+
+getprotoent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
+       is defined.
+
+getpwent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r
+       is defined.
+
+getpwnam_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r
+       is defined.
+
+getpwuid_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r
+       is defined.
+
+getservbyname_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
+       is defined.
+
+getservbyport_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
+       is defined.
+
+getservent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
+       is defined.
+
+getspnam_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r
+       is defined.
+
 gidformat (gidf.U):
        This variable contains the format string used for printing a Gid_t.
 
@@ -2099,6 +2872,17 @@ gmake (Loc.U):
        full pathname (if any) of the gmake program.  After Configure runs,
        the value is reset to a plain "gmake" and is not useful.
 
+gmtime_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
+       is defined.
+
+gnulibc_version (d_gnulibc.U):
+       This variable contains the version number of the GNU C library.
+       It is usually something like '2.2.5'.  It is a plain '' if this
+       is not the GNU C library, or if the version is unknown.
+
 grep (Loc.U):
        This variable is used internally by Configure to determine the
        full pathname (if any) of the grep program.  After Configure runs,
@@ -2112,7 +2896,7 @@ groupcat (nis.U):
        command, in which case this variable is unset.
 
 groupstype (groupstype.U):
-       This variable defines Groups_t to be something like gid_t, int, 
+       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.
@@ -2141,6 +2925,27 @@ hostcat (nis.U):
        On some systems, such as os390, there may be no equivalent
        command, in which case this variable is unset.
 
+html1dir (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.
+
+html1direxp (html1dir.U):
+       This variable is the same as the html1dir variable, but is filename
+       expanded at configuration time, for convenient use in makefiles.
+
+html3dir (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.
+
+html3direxp (html3dir.U):
+       This variable is the same as the html3dir variable, but is filename
+       expanded at configuration time, for convenient use in makefiles.
+
 i16size (perlxv.U):
        This variable is the size of an I16 in bytes.
 
@@ -2169,11 +2974,20 @@ i_arpainet (i_arpainet.U):
        This variable conditionally defines the I_ARPA_INET symbol,
        and indicates whether a C program should include <arpa/inet.h>.
 
+i_assert (i_assert.U):
+       This variable conditionally defines the I_ASSERT symbol, which
+       indicates to the C program that <assert.h> exists and could be
+       included.
+
 i_bsdioctl (i_sysioctl.U):
        This variable conditionally defines the I_SYS_BSDIOCTL symbol, which
        indicates to the C program that <sys/bsdioctl.h> exists and should
        be included.
 
+i_crypt (i_crypt.U):
+       This variable conditionally defines the I_CRYPT symbol, and indicates
+       whether a C program should include <crypt.h>.
+
 i_db (i_db.U):
        This variable conditionally defines the I_DB symbol, and indicates
        whether a C program may include Berkeley's DB include file <db.h>.
@@ -2219,6 +3033,18 @@ i_gdbm (i_gdbm.U):
        indicates to the C program that <gdbm.h> exists and should
        be included.
 
+i_gdbm_ndbm (i_ndbm.U):
+       This variable conditionally defines the I_GDBM_NDBM symbol, which
+       indicates to the C program that <gdbm-ndbm.h> exists and should
+       be included.  This is the location of the ndbm.h compatibility file
+       in Debian 4.0.
+
+i_gdbmndbm (i_ndbm.U):
+       This variable conditionally defines the I_GDBMNDBM symbol, which
+       indicates to the C program that <gdbm/ndbm.h> exists and should
+       be included.  This was the location of the ndbm.h compatibility file
+       in RedHat 7.1.
+
 i_grp (i_grp.U):
        This variable conditionally defines the I_GRP symbol, and indicates
        whether a C program should include <grp.h>.
@@ -2256,6 +3082,10 @@ i_malloc (i_malloc.U):
        This variable conditionally defines the I_MALLOC symbol, and indicates
        whether a C program should include <malloc.h>.
 
+i_mallocmalloc (i_mallocmalloc.U):
+       This variable conditionally defines the I_MALLOCMALLOC symbol,
+       and indicates whether a C program should include <malloc/malloc.h>.
+
 i_math (i_math.U):
        This variable conditionally defines the I_MATH symbol, and indicates
        whether a C program may include <math.h>.
@@ -2403,6 +3233,10 @@ i_sysparam (i_sysparam.U):
        This variable conditionally defines the I_SYS_PARAM symbol, and indicates
        whether a C program should include <sys/param.h>.
 
+i_syspoll (i_syspoll.U):
+       This variable conditionally defines the I_SYS_POLL symbol, which
+       indicates to the C program that it should include <sys/poll.h>.
+
 i_sysresrc (i_sysresrc.U):
        This variable conditionally defines the I_SYS_RESOURCE symbol,
        and indicates whether a C program should include <sys/resource.h>.
@@ -2529,9 +3363,14 @@ inc_version_list (inc_version_list.U):
        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.
+
 inc_version_list_init (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, 
+       each item is enclosed in double quotes and separated by commas,
        suitable for use in the PERL_INC_VERSION_LIST initialization.
 
 incpath (usrinc.U):
@@ -2541,7 +3380,15 @@ incpath (usrinc.U):
 
 inews (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
+
+initialinstalllocation (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 initialised to the original value of binexp, and
+       then binexp is set to '.../', as the other binaries are found
+       relative to the perl binary.
 
 installarchlib (archlib.U):
        This variable is really the same as archlibexp but may differ on
@@ -2553,6 +3400,16 @@ installbin (bin.U):
        the user is explicitely prompted for it. This variable should always
        be used in your makefiles for maximum portability.
 
+installhtml1dir (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.
+
+installhtml3dir (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.
+
 installman1dir (man1dir.U):
        This variable is really the same as man1direxp, unless you are using
        AFS in which case it points to the read/write location whereas
@@ -2566,7 +3423,7 @@ installman3dir (man3dir.U):
        portability, you should only use this variable within your makefiles.
 
 installprefix (installprefix.U):
-       This variable holds the name of the directory below which 
+       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)
@@ -2597,11 +3454,40 @@ installsitebin (sitebin.U):
        a system running AFS, in which case they may differ slightly. You
        should always use this variable within your makefiles for portability.
 
+installsitehtml1dir (sitehtml1dir.U):
+       This variable is really the same as sitehtml1direxp, unless you are using
+       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.
+
+installsitehtml3dir (sitehtml3dir.U):
+       This variable is really the same as sitehtml3direxp, unless you are using
+       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.
+
 installsitelib (sitelib.U):
        This variable is really the same as sitelibexp but may differ on
        those systems using AFS. For extra portability, only this variable
        should be used in makefiles.
 
+installsiteman1dir (siteman1dir.U):
+       This variable is really the same as siteman1direxp, unless you are using
+       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.
+
+installsiteman3dir (siteman3dir.U):
+       This variable is really the same as siteman3direxp, unless you are using
+       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.
+
+installsitescript (sitescript.U):
+       This variable is usually the same as sitescriptexp, unless you are on
+       a system running AFS, in which case they may differ slightly. You
+       should always use this variable within your makefiles for portability.
+
 installstyle (installstyle.U):
        This variable describes the "style" of the perl installation.
        This is intended to be useful for tools that need to
@@ -2614,9 +3500,27 @@ installstyle (installstyle.U):
        directory dedicated to perl (e.g. /opt/perl), while the latter
        is useful if $prefix is shared by many packages, e.g. if
        $prefix=/usr/local.
-               This may later be extended to include other information, so
+
+       Unfortunately, while this "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 /opt/perl, but $siteprefix might be /usr/local.
+       (Perhaps, in retrospect, the "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 PREFIX on
+       the Makefile.PL command line), then there is no reason to
+       assume that the Configure-time $installstyle setting will be
+       relevant for that PREFIX.
+
+       This may later be extended to include other information, so
        be careful with pattern-matching on the results.
-               For compatibility with perl5.005 and earlier, the default
+
+       For compatibility with perl5.005 and earlier, the default
        setting is based on whether or not $prefix contains the string
        "perl".
 
@@ -2635,11 +3539,36 @@ installvendorbin (vendorbin.U):
        those systems using AFS. For extra portability, only this variable
        should be used in makefiles.
 
+installvendorhtml1dir (vendorhtml1dir.U):
+       This variable is really the same as vendorhtml1direxp but may differ on
+       those systems using AFS. For extra portability, only this variable
+       should be used in makefiles.
+
+installvendorhtml3dir (vendorhtml3dir.U):
+       This variable is really the same as vendorhtml3direxp but may differ on
+       those systems using AFS. For extra portability, only this variable
+       should be used in makefiles.
+
 installvendorlib (vendorlib.U):
        This variable is really the same as vendorlibexp but may differ on
        those systems using AFS. For extra portability, only this variable
        should be used in makefiles.
 
+installvendorman1dir (vendorman1dir.U):
+       This variable is really the same as vendorman1direxp but may differ on
+       those systems using AFS. For extra portability, only this variable
+       should be used in makefiles.
+
+installvendorman3dir (vendorman3dir.U):
+       This variable is really the same as vendorman3direxp but may differ on
+       those systems using AFS. For extra portability, only this variable
+       should be used in makefiles.
+
+installvendorscript (vendorscript.U):
+       This variable is really the same as vendorscriptexp but may differ on
+       those systems using AFS. For extra portability, only this variable
+       should be used in makefiles.
+
 intsize (intsize.U):
        This variable contains the value of the INTSIZE symbol, which
        indicates to the C program how many bytes there are in an int.
@@ -2651,7 +3580,7 @@ issymlink (issymlink.U):
 
 ivdformat (perlxvf.U):
        This variable contains the format string used for printing
-       a Perl IV as a signed decimal integer. 
+       a Perl IV as a signed decimal integer.
 
 ivsize (perlxv.U):
        This variable is the size of an IV in bytes.
@@ -2660,12 +3589,12 @@ ivtype (perlxv.U):
        This variable contains the C type used for Perl's IV.
 
 known_extensions (Extensions.U):
-       This variable holds a list of all XS extensions included in 
+       This variable holds a list of all XS extensions included in
        the package.
 
 ksh (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 ld (dlsrc.U):
        This variable indicates the program to be used to link
@@ -2717,7 +3646,7 @@ libpth (libpth.U):
 
 libs (libs.U):
        This variable holds the additional libraries we want to use.
-       It is up to the Makefile to deal with it.
+       It is up to the Makefile to deal with it.  The list can be empty.
 
 libsdirs (libs.U):
        This variable holds the directory names aka dirnames of the libraries
@@ -2747,11 +3676,11 @@ libswanted_uselargefiles (uselfs.U):
 
 line (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 lint (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 lkflags (ccflags.U):
        This variable contains any additional C partial linker flags desired by
@@ -2763,10 +3692,16 @@ ln (Loc.U):
        the value is reset to a plain "ln" and is not useful.
 
 lns (lns.U):
-       This variable holds the name of the command to make 
+       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 'ln -s' or 'ln'
 
+localtime_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
+       is defined.
+
 locincpth (ccflags.U):
        This variable contains a list of additional directories to be
        searched by the compiler.  The appropriate '-I' directives will
@@ -2795,11 +3730,11 @@ longsize (intsize.U):
 
 lp (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 lpr (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 ls (Loc.U):
        This variable is used internally by Configure to determine the
@@ -2807,22 +3742,38 @@ ls (Loc.U):
        the value is reset to a plain "ls" and is not useful.
 
 lseeksize (lseektype.U):
-       This variable defines lseektype to be something like off_t, long, 
+       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).
 
 lseektype (lseektype.U):
-       This variable defines lseektype to be something like off_t, long, 
+       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).
 
+mad (mad.U):
+       This variable indicates that the Misc Attribute Definition code is to
+       be compiled.
+
+madlyh (mad.U):
+       If the Misc Attribute Decoration is to be compiled, this variable is
+       set to the name of the extra header files to be used, else it is ''
+
+madlyobj (mad.U):
+       If the Misc Attribute Decoration is to be compiled, this variable is
+       set to the name of the extra object files to be used, else it is ''
+
+madlysrc (mad.U):
+       If the Misc Attribute Decoration is to be compiled, this variable is
+       set to the name of the extra C source files to be used, else it is ''
+
 mail (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 mailx (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 make (Loc.U):
        This variable is used internally by Configure to determine the
@@ -2834,9 +3785,12 @@ make_set_make (make.U):
        This variable contains the string to be included in Makefile.SH
        so that MAKE is set if needed, and not if not needed.
        Possible values are:
+
        make_set_make='#'               # If your make program handles this for you,
+
        make_set_make="MAKE=$make"      # if it doesn't.
-       I used a comment character so that we can distinguish a
+
+       This uses a comment character so that we can distinguish a
        'set' value (from a previous config.sh or Configure '-D' option)
        from an uncomputed value.
 
@@ -2885,15 +3839,18 @@ man3ext (man3dir.U):
        have: one of 'n', 'l', or '3'.  The Makefile must supply the '.'.
        See man3dir.
 
-Mcc (Loc.U):
-       This variable is used internally by Configure to determine the
-       full pathname (if any) of the Mcc program.  After Configure runs,
-       the value is reset to a plain "Mcc" and is not useful.
-
 mips_type (usrinc.U):
        This variable holds the environment type for the mips system.
        Possible values are "BSD 4.3" and "System V".
 
+mistrustnm (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 "compile", a test program will be compiled to try to
+       find any symbol that can't be located via nm lookup.  If mistrustnm is
+       "run", the test program will be run as well as being compiled.
+
 mkdir (Loc.U):
        This variable is used internally by Configure to determine the
        full pathname (if any) of the mkdir program.  After Configure runs,
@@ -2905,8 +3862,8 @@ mmaptype (d_mmap.U):
        It can be 'void *' or 'caddr_t'.
 
 modetype (modetype.U):
-       This variable defines modetype to be something like mode_t, 
-       int, unsigned short, or whatever type is used to declare file 
+       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.
 
 more (Loc.U):
@@ -2921,7 +3878,7 @@ multiarch (multiarch.U):
 
 mv (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 myarchname (archname.U):
        This variable holds the architecture name computed by Configure in
@@ -3005,6 +3962,15 @@ nroff (Loc.U):
        full pathname (if any) of the nroff program.  After Configure runs,
        the value is reset to a plain "nroff" and is not useful.
 
+nv_overflows_integers_at (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.
+
+nv_preserves_uv_bits (perlxv.U):
+       This variable indicates how many of bits type uvtype
+       a variable nvtype can preserve.
+
 nveformat (perlxvf.U):
        This variable contains the format string used for printing
        a Perl NV using %e-ish floating point format.
@@ -3110,14 +4076,45 @@ path_sep (Unix.U):
        This is an old synonym for p_ in Head.U, the character
        used to separate elements in the command shell search PATH.
 
+perl (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 "perl" and is not useful.
+
 perl5 (perl5.U):
        This variable contains the full path (if any) to a previously
        installed perl5.005 or later suitable for running the script
        to determine inc_version_list.
 
-perl (Loc.U):
-       This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+PERL_API_REVISION (patchlevel.h):
+       This number describes the earliest compatible PERL_REVISION of
+       Perl ("compatibility" here being defined as sufficient binary/API
+       compatibility to run XS code built with the older version).
+       Normally this does not change across maintenance releases.
+       Please read the comment in patchlevel.h.
+
+PERL_API_SUBVERSION (patchlevel.h):
+       This number describes the earliest compatible PERL_SUBVERSION of
+       Perl ("compatibility" here being defined as sufficient binary/API
+       compatibility to run XS code built with the older version).
+       Normally this does not change across maintenance releases.
+       Please read the comment in patchlevel.h.
+
+PERL_API_VERSION (patchlevel.h):
+       This number describes the earliest compatible PERL_VERSION of
+       Perl ("compatibility" here being defined as sufficient binary/API
+       compatibility to run XS code built with the older version).
+       Normally this does not change across maintenance releases.
+       Please read the comment in patchlevel.h.
+
+PERL_CONFIG_SH (Oldsyms.U):
+       This is set to 'true' in config.sh so that a shell script
+       sourcing config.sh can tell if it has been sourced already.
+
+PERL_PATCHLEVEL (Oldsyms.U):
+       This symbol reflects the patchlevel, if available. Will usually
+       come from the .patch file, which is available when the perl
+       source tree was fetched with rsync.
 
 perl_patchlevel (patchlevel.U):
        This is the Perl patch level, a numeric change identifier,
@@ -3131,6 +4128,16 @@ PERL_REVISION (Oldsyms.U):
        In a Perl version number such as 5.6.2, this is the 5.
        This value is manually set in patchlevel.h
 
+perl_static_inline (d_static_inline.U):
+       This variable defines the 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     (MSVC)
+       static _inline      (older MSVC)
+       static              (c89 compilers)
+
 PERL_SUBVERSION (Oldsyms.U):
        In a Perl version number such as 5.6.2, this is the 2.
        Values greater than 50 represent potentially unstable
@@ -3148,11 +4155,6 @@ perllibs (End.U):
        The list of libraries needed by Perl only (any libraries needed
        by extensions only will by dropped, if using dynamic loading).
 
-perlpath (perlpath.U):
-       This variable contains the eventual value of the PERLPATH symbol,
-       which contains the name of the perl interpreter to be used in
-       shell scripts and in the "eval 'exec'" idiom.
-
 pg (Loc.U):
        This variable is used internally by Configure to determine the
        full pathname (if any) of the pg program.  After Configure runs,
@@ -3165,7 +4167,7 @@ phostname (myhostname.U):
        there already.
 
 pidtype (pidtype.U):
-       This variable defines PIDTYPE to be something like pid_t, int, 
+       This variable defines PIDTYPE to be something like pid_t, int,
        ushort, or whatever type is used to declare process ids in the kernel.
 
 plibpth (libpth.U):
@@ -3173,28 +4175,13 @@ plibpth (libpth.U):
        Its value is prepend to libpth. This variable takes care of special
        machines, like the mips.  Usually, it should be empty.
 
-pm_apiversion (xs_apiversion.U):
-       This variable contains the version of the oldest perl
-       compatible with the present perl.  (That is, pure perl modules
-       written for $pm_apiversion will still work for the current
-       version).  perl.c:incpush() and lib/lib.pm will automatically
-       search in $sitelib for older directories across major versions
-       back to pm_apiversion.  This is only useful if you have a perl
-       library directory tree structured like the default one.  The
-       versioned site_perl library was introduced in 5.005, so that's
-       the default setting for this variable.  It's hard to imagine
-       it changing before Perl6.  It is included here for symmetry
-       with xs_apiveprsion -- the searching algorithms will
-       (presumably) be similar.
-       See the INSTALL file for how this works.
-
 pmake (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 pr (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 prefix (prefix.U):
        This variable holds the name of the directory below which the
@@ -3235,7 +4222,7 @@ quadkind (quadtype.U):
        1 = int, 2 = long, 3 = long long, 4 = int64_t.
 
 quadtype (quadtype.U):
-       This variable defines Quad_t to be something like long, int, 
+       This variable defines Quad_t to be something like long, int,
        long long, int64_t, or whatever type is used for 64-bit integers.
 
 randbits (randfunc.U):
@@ -3248,6 +4235,12 @@ randfunc (randfunc.U):
        the 'Drand01' macro is defined to generate uniformly distributed
        random numbers over the range [0., 1.[ (see drand01 and nrand).
 
+random_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r
+       is defined.
+
 randseedtype (randfunc.U):
        Indicates the type of the argument of the seedfunc.
 
@@ -3262,6 +4255,18 @@ rd_nodata (nblock_io.U):
        used, which is a shame because you cannot make the difference between
        no data and an EOF.. Sigh!
 
+readdir64_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
+       is defined.
+
+readdir_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r
+       is defined.
+
 revision (patchlevel.U):
        The value of revision comes from the patchlevel.h file.
        In a version number such as 5.6.1, this is the "5".
@@ -3272,9 +4277,13 @@ rm (Loc.U):
        full pathname (if any) of the rm program.  After Configure runs,
        the value is reset to a plain "rm" and is not useful.
 
+rm_try (Unix.U):
+       This is a cleanup variable for try test programs.
+       Internal Configure use only.
+
 rmail (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 run (Cross.U):
        This variable contains the command used by Configure
@@ -3321,12 +4330,62 @@ selectminbits (selectminbits.U):
 selecttype (selecttype.U):
        This variable holds the type used for the 2nd, 3rd, and 4th
        arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
-       is defined, and 'int *' otherwise.  This is only useful if you 
+       is defined, and 'int *' otherwise.  This is only useful if you
        have select(), naturally.
 
 sendmail (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
+
+setgrent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r
+       is defined.
+
+sethostent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
+       is defined.
+
+setlocale_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
+       is defined.
+
+setnetent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
+       is defined.
+
+setprotoent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
+       is defined.
+
+setpwent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r
+       is defined.
+
+setservent_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
+       is defined.
+
+sGMTIME_max (time_size.U):
+       This variable defines the maximum value of the time_t offset that
+       the system function gmtime () accepts
+
+sGMTIME_min (time_size.U):
+       This variable defines the minimum value of the time_t offset that
+       the system function gmtime () accepts
 
 sh (sh.U):
        This variable contains the full pathname of the shell used
@@ -3340,7 +4399,7 @@ sh (sh.U):
 
 shar (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 sharpbang (spitshell.U):
        This variable contains the string #! if this system supports that
@@ -3356,7 +4415,7 @@ shortsize (intsize.U):
 
 shrpenv (libperl.U):
        If the user builds a shared libperl.so, then we need to tell the
-       'perl' executable where it will be able to find the installed libperl.so. 
+       'perl' executable where it will be able to find the installed libperl.so.
        One way to do this on some systems is to set the environment variable
        LD_RUN_PATH to the directory that will be the final location of the
        shared libperl.so.  The makefile can use this with something like
@@ -3380,32 +4439,32 @@ sig_count (sig_name.U):
 
 sig_name (sig_name.U):
        This variable holds the signal names, space separated. The leading
-       SIG in signal name is removed.  A ZERO is prepended to the
-       list.  This is currently not used.
+       SIG in signal name is removed.  A ZERO is prepended to the list.
+       This is currently not used, sig_name_init is used instead.
 
 sig_name_init (sig_name.U):
        This variable holds the signal names, enclosed in double quotes and
-       separated by commas, suitable for use in the SIG_NAME definition 
-       below.  A "ZERO" is prepended to the list, and the list is 
+       separated by commas, suitable for use in the SIG_NAME definition
+       below.  A "ZERO" is prepended to the list, and the list is
        terminated with a plain 0.  The leading SIG in signal names
        is removed. See sig_num.
 
 sig_num (sig_name.U):
        This variable holds the signal numbers, space separated. A ZERO is
-       prepended to the list (corresponding to the fake SIGZERO), and 
-       the list is terminated with a 0.  Those numbers correspond to 
-       the value of the signal listed in the same place within the
-       sig_name list.
+       prepended to the list (corresponding to the fake 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.
 
 sig_num_init (sig_name.U):
        This variable holds the signal numbers, enclosed in double quotes and
-       separated by commas, suitable for use in the SIG_NUM definition 
-       below.  A "ZERO" is prepended to the list, and the list is 
+       separated by commas, suitable for use in the SIG_NUM definition
+       below.  A "ZERO" is prepended to the list, and the list is
        terminated with a plain 0.
 
 sig_size (sig_name.U):
        This variable contains the number of elements of the sig_name
-       and sig_num arrays, excluding the final NULL entry.
+       and sig_num arrays.
 
 signal_t (d_voidsig.U):
        This variable holds the type of the signal handler (void or int).
@@ -3440,6 +4499,36 @@ sitebinexp (sitebin.U):
        This is the same as the sitebin variable, but is filename expanded at
        configuration time, for use in your makefiles.
 
+sitehtml1dir (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
+       Makefile.SH to get the value of this into the proper command.
+       You must be prepared to do the ~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 Makefile.PL
+       or equivalent.  See INSTALL for details.
+
+sitehtml1direxp (sitehtml1dir.U):
+       This variable is the same as the sitehtml1dir variable, but is filename
+       expanded at configuration time, for convenient use in makefiles.
+
+sitehtml3dir (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
+       Makefile.SH to get the value of this into the proper command.
+       You must be prepared to do the ~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 Makefile.PL
+       or equivalent.  See INSTALL for details.
+
+sitehtml3direxp (sitehtml3dir.U):
+       This variable is the same as the sitehtml3dir variable, but is filename
+       expanded at configuration time, for convenient use in makefiles.
+
 sitelib (sitelib.U):
        This variable contains the eventual value of the SITELIB symbol,
        which is the name of the private library for this package.  It may
@@ -3460,6 +4549,36 @@ sitelibexp (sitelib.U):
        This variable is the ~name expanded version of sitelib, so that you
        may use it directly in Makefiles or shell scripts.
 
+siteman1dir (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
+       Makefile.SH to get the value of this into the proper command.
+       You must be prepared to do the ~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 Makefile.PL
+       or equivalent.  See INSTALL for details.
+
+siteman1direxp (siteman1dir.U):
+       This variable is the same as the siteman1dir variable, but is filename
+       expanded at configuration time, for convenient use in makefiles.
+
+siteman3dir (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
+       Makefile.SH to get the value of this into the proper command.
+       You must be prepared to do the ~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 Makefile.PL
+       or equivalent.  See INSTALL for details.
+
+siteman3direxp (siteman3dir.U):
+       This variable is the same as the siteman3dir variable, but is filename
+       expanded at configuration time, for convenient use in makefiles.
+
 siteprefix (siteprefix.U):
        This variable holds the full absolute path of the directory below
        which the user will install add-on packages.
@@ -3469,21 +4588,44 @@ siteprefixexp (siteprefix.U):
        This variable holds the full absolute path of the directory below
        which the user will install add-on packages.  Derived from siteprefix.
 
+sitescript (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 /usr/local/bin. Programs using
+       this variable must be prepared to deal with ~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 Makefile.PL
+       or equivalent.  See INSTALL for details.
+
+sitescriptexp (sitescript.U):
+       This is the same as the sitescript variable, but is filename expanded at
+       configuration time, for use in your makefiles.
+
 sizesize (sizesize.U):
        This variable contains the size of a sizetype in bytes.
 
 sizetype (sizetype.U):
-       This variable defines sizetype to be something like size_t, 
-       unsigned long, or whatever type is used to declare length 
+       This variable defines sizetype to be something like size_t,
+       unsigned long, or whatever type is used to declare length
        parameters for string functions.
 
 sleep (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
+
+sLOCALTIME_max (time_size.U):
+       This variable defines the maximum value of the time_t offset that
+       the system function localtime () accepts
+
+sLOCALTIME_min (time_size.U):
+       This variable defines the minimum value of the time_t offset that
+       the system function localtime () accepts
 
 smail (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 so (so.U):
        This variable holds the extension used to identify shared libraries
@@ -3570,18 +4712,30 @@ sPRIXU64 (quadfio.U):
        The 'U' in the name is to separate this from sPRIx64 so that even
        case-blind systems can see the difference.
 
+srand48_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
+       is defined.
+
+srandom_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
+       is defined.
+
 src (src.U):
-       This variable holds the path to the package source. It is up to
-       the Makefile to use this variable and set VPATH accordingly to
-       find the sources remotely.
+       This variable holds the (possibly relative) path of the package source.
+       It is up to the Makefile to use this variable and set VPATH accordingly
+       to find the sources remotely.  Use $pkgsrc to have an absolute path.
 
 sSCNfldbl (longdblfio.U):
        This variable, if defined, contains the string used by stdio to
        format long doubles (format 'f') for input.
 
 ssizetype (ssizetype.U):
-       This variable defines ssizetype to be something like ssize_t, 
-       long or int.  It is used by functions that return a count 
+       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).
 
@@ -3638,13 +4792,19 @@ stdio_stream_array (stdio_streams.U):
        This variable tells the name of the array holding the stdio streams.
        Usual values include _iob, __iob, and __sF.
 
+strerror_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
+       is defined.
+
 strings (i_string.U):
        This variable holds the full path of the string header that will be
        used. Typically /usr/include/string.h or /usr/include/strings.h.
 
 submit (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 subversion (patchlevel.U):
        The subversion level of this package.
@@ -3661,11 +4821,11 @@ sysman (sysman.U):
 
 tail (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 tar (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 targetarch (Cross.U):
        If cross-compiling, this variable contains the target architecture.
@@ -3673,11 +4833,11 @@ targetarch (Cross.U):
 
 tbl (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 tee (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 test (Loc.U):
        This variable is used internally by Configure to determine the
@@ -3692,6 +4852,12 @@ timetype (d_time.U):
        or time_t on BSD sites (in which case <sys/types.h> should be
        included). Anyway, the type Time_t should be used.
 
+tmpnam_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
+       is defined.
+
 to (Cross.U):
        This variable contains the command used by Configure
        to copy to from the target host.  Useful and available
@@ -3716,7 +4882,13 @@ trnl (trnl.U):
 
 troff (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
+
+ttyname_r_proto (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
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
+       is defined.
 
 u16size (perlxv.U):
        This variable is the size of an U16 in bytes.
@@ -3753,7 +4925,7 @@ uidsize (uidsize.U):
        This variable contains the size of a uidtype in bytes.
 
 uidtype (uidtype.U):
-       This variable defines Uid_t to be something like uid_t, int, 
+       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.
 
 uname (Loc.U):
@@ -3774,7 +4946,7 @@ uquadtype (quadtype.U):
 use5005threads (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.
+       threading implementation. Only valid up to 5.8.x.
 
 use64bitall (use64bits.U):
        This variable conditionally defines the USE_64_BIT_ALL symbol,
@@ -3798,10 +4970,23 @@ usecrosscompile (Cross.U):
        This variable conditionally defines the USE_CROSS_COMPILE symbol,
        and indicates that Perl has been cross-compiled.
 
+usedevel (Devel.U):
+       This variable indicates that Perl was configured with development
+       features enabled.  This should not be done for production builds.
+
 usedl (dlsrc.U):
        This variable indicates if the system supports dynamic
        loading of some sort.  See also dlsrc and dlobj.
 
+usedtrace (usedtrace.U):
+       This variable indicates whether we are compiling with dtrace
+       support. See also dtrace.
+
+usefaststdio (usefaststdio.U):
+       This variable conditionally defines the USE_FAST_STDIO symbol,
+       and indicates that Perl should be built to use 'fast stdio'.
+       Defaults to define in Perls 5.8 and earlier, to undef later.
+
 useithreads (usethreads.U):
        This variable conditionally defines the USE_ITHREADS symbol,
        and indicates that Perl should be built to use the interpreter-based
@@ -3816,6 +5001,10 @@ uselongdouble (uselongdbl.U):
        This variable conditionally defines the USE_LONG_DOUBLE symbol,
        and indicates that long doubles should be used when available.
 
+usemallocwrap (mallocsrc.U):
+       This variable contains y if we are wrapping malloc to prevent
+       integer overflow during size calculations.
+
 usemorebits (usemorebits.U):
        This variable conditionally defines the USE_MORE_BITS symbol,
        and indicates that explicit 64-bit interfaces and long doubles
@@ -3862,6 +5051,13 @@ usereentrant (usethreads.U):
        meaningful if usethreads is set and is very experimental, it is
        not even prompted for.
 
+userelocatableinc (bin.U):
+       This variable is set to true to indicate that perl should relocate
+       @INC entries at runtime based on the path to the perl binary.
+       Any @INC paths starting ".../" 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 "dir/../" pairs)
+
 usesfio (d_sfio.U):
        This variable is set to true when the user agrees to use sfio.
        It is set to false when sfio is not available or when the user
@@ -3870,8 +5066,13 @@ usesfio (d_sfio.U):
        d_sfio without running into a "WHOA THERE".
 
 useshrplib (libperl.U):
-       This variable is set to 'yes' if the user wishes
-       to build a shared libperl, and 'no' otherwise.
+       This variable is set to 'true' if the user wishes
+       to build a shared libperl, and 'false' otherwise.
+
+usesitecustomize (d_sitecustomize.U):
+       This variable is set to true when the user requires a mechanism that
+       allows the sysadmin to add entries to @INC at runtime.  This variable
+       being set, makes perl run '$sitelib/sitecustomize.pl' at startup.
 
 usesocks (usesocks.U):
        This variable conditionally defines the USE_SOCKS symbol,
@@ -3896,11 +5097,11 @@ usrinc (usrinc.U):
 
 uuname (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 uvoformat (perlxvf.U):
        This variable contains the format string used for printing
-       a Perl UV as an unsigned octal integer. 
+       a Perl UV as an unsigned octal integer.
 
 uvsize (perlxv.U):
        This variable is the size of a UV in bytes.
@@ -3910,7 +5111,7 @@ uvtype (perlxv.U):
 
 uvuformat (perlxvf.U):
        This variable contains the format string used for printing
-       a Perl UV as an unsigned decimal integer. 
+       a Perl UV as an unsigned decimal integer.
 
 uvxformat (perlxvf.U):
        This variable contains the format string used for printing
@@ -3920,13 +5121,18 @@ uvXUformat (perlxvf.U):
        This variable contains the format string used for printing
        a Perl UV as an unsigned hexadecimal integer in uppercase ABCDEF.
 
+vaproto (vaproto.U):
+       This variable conditionally defines CAN_VAPROTO on systems supporting
+       prototype declaration of functions with a variable number of
+       arguments. See also prototype.
+
 vendorarch (vendorarch.U):
        This variable contains the value of the PERL_VENDORARCH symbol.
-       It may have a ~ on the front. 
+       It may have a ~ 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 Makefile.PL INSTALLDIRS=vendor 
+       MakeMaker Makefile.PL INSTALLDIRS=vendor
        or equivalent.  See INSTALL for details.
 
 vendorarchexp (vendorarch.U):
@@ -3939,20 +5145,46 @@ vendorbin (vendorbin.U):
        The standard distribution will put nothing in this directory.
        Vendors who distribute perl may wish to place additional
        binaries in this directory with
-       MakeMaker Makefile.PL INSTALLDIRS=vendor 
+       MakeMaker Makefile.PL INSTALLDIRS=vendor
        or equivalent.  See INSTALL for details.
 
 vendorbinexp (vendorbin.U):
        This variable is the ~name expanded version of vendorbin, so that you
        may use it directly in Makefiles or shell scripts.
 
+vendorhtml1dir (vendorhtml1dir.U):
+       This variable contains the name of the directory for html
+       pages.  It may have a ~ 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 Makefile.PL INSTALLDIRS=vendor
+       or equivalent.  See INSTALL for details.
+
+vendorhtml1direxp (vendorhtml1dir.U):
+       This variable is the ~name expanded version of vendorhtml1dir, so that you
+       may use it directly in Makefiles or shell scripts.
+
+vendorhtml3dir (vendorhtml3dir.U):
+       This variable contains the name of the directory for html
+       library pages.  It may have a ~ 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 Makefile.PL INSTALLDIRS=vendor
+       or equivalent.  See INSTALL for details.
+
+vendorhtml3direxp (vendorhtml3dir.U):
+       This variable is the ~name expanded version of vendorhtml3dir, so that you
+       may use it directly in Makefiles or shell scripts.
+
 vendorlib (vendorlib.U):
        This variable contains the eventual value of the 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 Makefile.PL INSTALLDIRS=vendor 
+       MakeMaker Makefile.PL INSTALLDIRS=vendor
        or equivalent.  See INSTALL for details.
 
 vendorlib_stem (vendorlib.U):
@@ -3964,6 +5196,32 @@ vendorlibexp (vendorlib.U):
        This variable is the ~name expanded version of vendorlib, so that you
        may use it directly in Makefiles or shell scripts.
 
+vendorman1dir (vendorman1dir.U):
+       This variable contains the name of the directory for man1
+       pages.  It may have a ~ 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 Makefile.PL INSTALLDIRS=vendor
+       or equivalent.  See INSTALL for details.
+
+vendorman1direxp (vendorman1dir.U):
+       This variable is the ~name expanded version of vendorman1dir, so that you
+       may use it directly in Makefiles or shell scripts.
+
+vendorman3dir (vendorman3dir.U):
+       This variable contains the name of the directory for man3
+       pages.  It may have a ~ 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 Makefile.PL INSTALLDIRS=vendor
+       or equivalent.  See INSTALL for details.
+
+vendorman3direxp (vendorman3dir.U):
+       This variable is the ~name expanded version of vendorman3dir, so that you
+       may use it directly in Makefiles or shell scripts.
+
 vendorprefix (vendorprefix.U):
        This variable holds the full absolute path of the directory below
        which the vendor will install add-on packages.
@@ -3973,6 +5231,19 @@ vendorprefixexp (vendorprefix.U):
        This variable holds the full absolute path of the directory below
        which the vendor will install add-on packages.  Derived from vendorprefix.
 
+vendorscript (vendorscript.U):
+       This variable contains the eventual value of the VENDORSCRIPT symbol.
+       It may have a ~ 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 Makefile.PL INSTALLDIRS=vendor
+       or equivalent.  See INSTALL for details.
+
+vendorscriptexp (vendorscript.U):
+       This variable is the ~name expanded version of vendorscript, so that you
+       may use it directly in Makefiles or shell scripts.
+
 version (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
@@ -3982,12 +5253,12 @@ version (patchlevel.U):
 
 version_patchlevel_string (patchlevel.U):
        This is a string combining version, subversion and
-       perl_patchlevel (if perl_patchlevel is non-zero).  
-       It is typically something like 
+       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 myconfig.SH
-       and lib/Config.pm. 
+       and lib/Config.pm.
 
 versiononly (versiononly.U):
        If set, this symbol indicates that only the version-specific
@@ -4003,7 +5274,7 @@ versiononly (versiononly.U):
 
 vi (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 voidflags (voidflags.U):
        This variable contains the eventual value of the VOIDFLAGS symbol,
@@ -4015,23 +5286,6 @@ xlibpth (libpth.U):
        libraries on this platform, for example CPU-specific libraries
        (on multi-CPU platforms) may be listed here.
 
-xs_apiversion (xs_apiversion.U):
-       This variable contains the version of the oldest perl binary
-       compatible with the present perl.  perl.c:incpush() and
-       lib/lib.pm will automatically search in $sitearch for older
-       directories across major versions back to xs_apiversion.
-       This is only useful if you have a perl library directory tree
-       structured like the default one.
-       See INSTALL for how this works.
-       The versioned site_perl directory was introduced in 5.005,
-       so that is the lowest possible value.
-       Since this can depend on compile time options (such as
-       bincompat) it is set by Configure.  Other non-default sources
-       of potential incompatibility, such as multiplicity, threads,
-       debugging, 64bits, sfio, etc., are not checked for currently,
-       though in principle we could go snooping around in old
-       Config.pm files.
-
 yacc (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.
@@ -4042,7 +5296,7 @@ yaccflags (yacc.U):
 
 zcat (Loc.U):
        This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       The value is the empty string and is not useful.
 
 zip (Loc.U):
        This variable is used internally by Configure to determine the