This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Restore a reference to $perlpath. Installation needs it
[perl5.git] / Porting / Glossary
index 1ceb4dd..9170c6c 100644 (file)
@@ -34,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
@@ -42,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):
@@ -112,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
@@ -142,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
@@ -150,6 +150,11 @@ 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.
 
+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
        configuration time, for use in your makefiles.
@@ -244,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
@@ -259,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,
@@ -273,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
@@ -288,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
@@ -296,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):
@@ -379,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.
@@ -388,6 +419,10 @@ 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()
@@ -401,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
@@ -427,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.
@@ -461,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.
@@ -474,6 +569,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
@@ -488,11 +593,19 @@ 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()
@@ -518,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
@@ -629,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.
@@ -759,6 +886,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
@@ -767,11 +898,11 @@ 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-
@@ -780,6 +911,29 @@ d_Gconvert (d_gconvert.U):
        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
        indicates to the C program that the getcwd() routine is available
@@ -855,7 +1009,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):
@@ -882,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
@@ -914,7 +1073,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):
@@ -922,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.
 
@@ -942,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
@@ -978,7 +1137,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):
@@ -1006,14 +1165,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.
 
@@ -1039,7 +1198,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):
@@ -1056,6 +1215,10 @@ d_gettimeod (d_ftime.U):
        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()
@@ -1077,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.
@@ -1086,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.
 
@@ -1124,15 +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.
@@ -1142,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):
@@ -1163,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
@@ -1232,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.
@@ -1247,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.
@@ -1313,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.
@@ -1325,6 +1555,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.
 
@@ -1383,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.
@@ -1421,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.
@@ -1444,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
@@ -1499,15 +1755,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()
@@ -1560,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
@@ -1681,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.
@@ -1775,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.
 
@@ -1795,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
@@ -1805,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.
@@ -1830,6 +2116,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.
@@ -1871,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.
@@ -1938,6 +2236,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
@@ -2038,6 +2344,10 @@ 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
@@ -2095,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.
@@ -2118,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.
@@ -2147,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.
@@ -2235,6 +2557,9 @@ drand48_r_proto (d_drand48_r.U):
        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.
@@ -2262,7 +2587,7 @@ 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.
@@ -2316,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.
 
@@ -2335,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,
@@ -2345,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):
@@ -2383,13 +2712,18 @@ 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.
 
@@ -2562,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.
@@ -2591,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.
 
@@ -2619,6 +2974,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
@@ -2673,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>.
@@ -2710,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>.
@@ -2857,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>.
@@ -2983,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):
@@ -2995,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
@@ -3007,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
@@ -3020,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)
@@ -3051,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
@@ -3069,6 +3501,22 @@ installstyle (installstyle.U):
        is useful if $prefix is shared by many packages, e.g. if
        $prefix=/usr/local.
 
+       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.
 
@@ -3091,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.
@@ -3107,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.
@@ -3116,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
@@ -3203,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
@@ -3219,7 +3692,7 @@ 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'
 
@@ -3257,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
@@ -3269,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
@@ -3296,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.
 
@@ -3347,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,
@@ -3367,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):
@@ -3383,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
@@ -3467,6 +3962,11 @@ 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.
@@ -3576,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,
@@ -3597,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
@@ -3637,7 +4178,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):
@@ -3645,28 +4186,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
@@ -3707,7 +4233,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):
@@ -3762,9 +4288,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
@@ -3811,12 +4341,12 @@ 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.
@@ -3860,6 +4390,14 @@ setservent_r_proto (d_setservent_r.U):
        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
        on this system to execute Bourne shell scripts.  Usually, this will be
@@ -3872,7 +4410,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
@@ -3888,7 +4426,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
@@ -3912,32 +4450,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).
@@ -3972,6 +4510,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
@@ -3992,6 +4560,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.
@@ -4001,21 +4599,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
@@ -4115,17 +4736,17 @@ srandom_r_proto (d_srandom_r.U):
        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).
 
@@ -4194,7 +4815,7 @@ strings (i_string.U):
 
 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.
@@ -4211,11 +4832,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.
@@ -4223,11 +4844,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
@@ -4272,7 +4893,7 @@ 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.
@@ -4315,7 +4936,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):
@@ -4336,7 +4957,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,
@@ -4360,10 +4981,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
@@ -4378,6 +5012,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
@@ -4424,6 +5062,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
@@ -4432,8 +5077,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,
@@ -4458,11 +5108,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.
@@ -4472,7 +5122,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
@@ -4482,13 +5132,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):
@@ -4501,20 +5156,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):
@@ -4526,6 +5207,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.
@@ -4535,6 +5242,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
@@ -4544,12 +5264,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
@@ -4565,7 +5285,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,
@@ -4577,23 +5297,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
-       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.
@@ -4604,7 +5307,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