This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Sync after metaconfig backports. Some reorders were done
[perl5.git] / Porting / Glossary
index 6768105..b69d7b9 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'
@@ -12,8 +16,8 @@ _a (Unix.U):
 _exe (Unix.U):
        This variable defines the extension used for executable files.
        DJGPP, Cygwin and OS/2 use '.exe'.  Stratus VOS uses '.pm'.
-       No other operating systems require an extension for executable
-       files, so it is empty for all others.
+       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.
@@ -30,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 Perl configure and test process.
 
 alignbytes (alignbytes.U):
        This variable holds the number of bytes required to align a
@@ -38,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):
@@ -53,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.
@@ -61,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.
@@ -106,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
@@ -122,6 +128,9 @@ archobjs (Unix.U):
 
 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
@@ -141,10 +150,6 @@ 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.
-
 binexp (bin.U):
        This is the same as the bin variable, but is filename expanded at
        configuration time, for use in your makefiles.
@@ -160,10 +165,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
@@ -239,10 +244,6 @@ 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.
 
-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.
@@ -291,7 +292,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):
@@ -336,6 +337,9 @@ cppsymbols (Cppsym.U):
 
 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
@@ -349,9 +353,15 @@ csh (Loc.U):
 
 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
@@ -365,6 +375,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.
@@ -387,10 +402,42 @@ 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_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
@@ -400,13 +447,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.
@@ -420,10 +460,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.
@@ -454,6 +513,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.
@@ -467,6 +530,16 @@ 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
@@ -481,6 +554,10 @@ 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()
@@ -511,6 +588,11 @@ 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_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
@@ -622,6 +704,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.
@@ -752,6 +839,10 @@ 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.  By default, Configure
@@ -760,13 +851,14 @@ d_Gconvert (d_gconvert.U):
        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   
+       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       
+       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-
+
+       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
@@ -847,7 +939,7 @@ d_gethostent_r (d_gethostent_r.U):
 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):
@@ -906,7 +998,7 @@ d_getnetent_r (d_getnetent_r.U):
 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):
@@ -914,14 +1006,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.
 
@@ -934,15 +1026,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
@@ -970,7 +1062,7 @@ d_getprotoent_r (d_getprotoent_r.U):
 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):
@@ -998,14 +1090,14 @@ d_getpwuid_r (d_getpwuid_r.U):
        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.
 
@@ -1031,7 +1123,7 @@ d_getservent_r (d_getservent_r.U):
 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):
@@ -1069,6 +1161,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.
@@ -1116,6 +1217,11 @@ 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.
@@ -1125,6 +1231,10 @@ d_localtime_r (d_localtime_r.U):
        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.
@@ -1134,11 +1244,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):
@@ -1155,6 +1265,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
@@ -1239,6 +1357,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.
@@ -1317,6 +1441,10 @@ 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_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.
 
@@ -1413,6 +1541,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.
@@ -1436,11 +1568,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
@@ -1491,15 +1632,15 @@ d_random_r (d_random_r.U):
        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 (d_readdir.U):
-       This variable conditionally defines HAS_READDIR if readdir() is
-       available to read directory entries.
-
 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()
@@ -1552,6 +1693,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
@@ -1673,15 +1819,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.
@@ -1767,7 +1913,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.
 
@@ -1787,6 +1933,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
@@ -1797,6 +1948,16 @@ 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_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_sockatmark (d_sockatmark.U):
        This variable conditionally defines the HAS_SOCKATMARK symbol, which
        indicates to the C program that the sockatmark() routine is available.
@@ -1822,6 +1983,12 @@ 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.
@@ -1930,6 +2097,14 @@ 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
@@ -2087,6 +2262,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.
@@ -2110,6 +2289,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.
@@ -2139,6 +2321,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.
@@ -2223,6 +2410,9 @@ drand01 (randfunc.U):
 
 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.
 
 dynamic_ext (Extensions.U):
        This variable holds a list of XS extension files we want to
@@ -2255,21 +2445,39 @@ emacs (Loc.U):
 
 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
@@ -2287,7 +2495,7 @@ 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.
 
 extras (Extras.U):
@@ -2322,7 +2530,7 @@ 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):
@@ -2354,75 +2562,140 @@ 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.
@@ -2451,6 +2724,14 @@ gmake (Loc.U):
 
 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
@@ -2465,7 +2746,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.
@@ -2494,6 +2775,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.
 
@@ -2522,6 +2824,11 @@ 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
@@ -2886,9 +3193,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):
@@ -2900,6 +3212,14 @@ inews (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' 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
        those systems using AFS. For extra portability, only this variable
@@ -2910,6 +3230,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
@@ -2923,7 +3253,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)
@@ -2954,11 +3284,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
@@ -2971,9 +3330,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".
 
@@ -2992,11 +3369,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.
@@ -3008,7 +3410,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.
@@ -3017,7 +3419,7 @@ 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):
@@ -3120,12 +3522,15 @@ 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
@@ -3167,15 +3572,31 @@ 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.
@@ -3186,20 +3607,20 @@ mailx (Loc.U):
 
 make (Loc.U):
        This variable is used internally by Configure to determine the
-       full pathname (if any) of the make program.  Both the directory
-       and the command name can vary from system to system; while most
-       systems call the command 'make', other values include 'gmake' and
-       'gnumake'.  After Configure runs, the value is reset to a plain
-       "make" and is not useful.
+       full pathname (if any) of the make program.  After Configure runs,
+       the value is reset to a plain "make" and is not useful.
 
 make_set_make (make.U):
        Some versions of 'make' set the variable MAKE.  Others do not.
        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 to distinguish a
        'set' value (from a previous config.sh or Configure '-D' option)
        from an uncomputed value.
 
@@ -3257,6 +3678,14 @@ 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,
@@ -3268,8 +3697,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):
@@ -3477,14 +3906,44 @@ 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 defined but not used by Configure.
+       The value is a plain '' 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,
@@ -3518,7 +3977,13 @@ perllibs (End.U):
 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.
+       shell scripts and in the "eval 'exec'" idiom.  This variable is
+       not necessarily the pathname of the file containing the perl
+       interpreter; you must append the executable extension (_exe) if
+       it is not already present.  Note that Perl code that runs during
+       the Perl build process cannot reference this variable, as Perl
+       may not have been installed, or even if installed, may be a
+       different version of Perl.
 
 pg (Loc.U):
        This variable is used internally by Configure to determine the
@@ -3532,7 +3997,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):
@@ -3540,21 +4005,6 @@ 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.
@@ -3602,7 +4052,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):
@@ -3617,6 +4067,9 @@ randfunc (randfunc.U):
 
 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.
@@ -3634,9 +4087,15 @@ rd_nodata (nblock_io.U):
 
 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.
@@ -3648,6 +4107,10 @@ 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.
@@ -3697,7 +4160,7 @@ 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):
@@ -3706,24 +4169,45 @@ sendmail (Loc.U):
 
 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.
 
 sh (sh.U):
        This variable contains the full pathname of the shell used
@@ -3753,7 +4237,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
@@ -3777,32 +4261,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).
@@ -3837,6 +4321,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
@@ -3857,6 +4371,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.
@@ -3866,12 +4410,27 @@ 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):
@@ -3969,9 +4528,15 @@ sPRIXU64 (quadfio.U):
 
 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
@@ -3983,8 +4548,8 @@ sSCNfldbl (longdblfio.U):
        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).
 
@@ -4043,6 +4608,9 @@ stdio_stream_array (stdio_streams.U):
 
 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
@@ -4100,6 +4668,9 @@ timetype (d_time.U):
 
 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
@@ -4129,6 +4700,9 @@ troff (Loc.U):
 
 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.
@@ -4165,7 +4739,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):
@@ -4186,7 +4760,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,
@@ -4214,6 +4788,11 @@ usedl (dlsrc.U):
        This variable indicates if the system supports dynamic
        loading of some sort.  See also dlsrc and dlobj.
 
+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
@@ -4228,6 +4807,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
@@ -4274,6 +4857,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
@@ -4282,8 +4872,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,
@@ -4312,7 +4907,7 @@ uuname (Loc.U):
 
 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.
@@ -4322,7 +4917,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
@@ -4334,11 +4929,11 @@ uvXUformat (perlxvf.U):
 
 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):
@@ -4351,20 +4946,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):
@@ -4376,6 +4997,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.
@@ -4385,6 +5032,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
@@ -4394,12 +5054,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
@@ -4427,23 +5087,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.