This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Gisle points out that it's ok to ignore the return value of newSVrv.
[perl5.git] / Porting / Glossary
index d903a74..bcd3a97 100644 (file)
@@ -1,3 +1,7 @@
+
+!!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
+This file is built by metaconfig.
+
 This file contains a description of all the shell variables whose value is
 determined by the Configure script.  Variables intended for use in C
 programs (e.g. I_UNISTD) are already described in config_h.SH.  [`configpm'
@@ -5,13 +9,15 @@ generates pod documentation for Config.pm from this file--please try to keep
 the formatting regular.]
 
 _a (Unix.U):
-       This variable defines the extension used for ordinary libraries.
+       This variable defines the extension used for ordinary library files.
        For unix, it is '.a'.  The '.' is included.  Other possible
        values include '.lib'.
 
 _exe (Unix.U):
        This variable defines the extension used for executable files.
-       For unix it is empty.  Other possible values include '.exe'.
+       DJGPP, Cygwin and OS/2 use '.exe'.  Stratus VOS uses '.pm'.
+       On operating systems which do not require a specific extension
+       for executable files, this variable is empty.
 
 _o (Unix.U):
        This variable defines the extension used for object files.
@@ -51,7 +57,8 @@ api_revision (patchlevel.U):
        such as '5.6.1', api_revision is the '5'.
        Prior to 5.5.640, the format was a floating point number,
        like 5.00563.
-               perl.c:incpush() and lib/lib.pm will automatically search in
+
+       perl.c:incpush() and lib/lib.pm will automatically search in
        $sitelib/.. for older directories back to the limit specified
        by these api_ variables.  This is only useful if you have a
        perl library directory tree structured like the default one.
@@ -59,7 +66,8 @@ api_revision (patchlevel.U):
        directory was introduced in 5.005, so that is the lowest
        possible value.  The version list appropriate for the current
        system is determined in inc_version_list.U.
-               XXX To do:  Since compatibility can depend on compile time
+
+       XXX To do:  Since compatibility can depend on compile time
        options (such as bincompat, longlong, etc.) it should
        (perhaps) be set by Configure, but currently it isn't.
        Currently, we read a hard-wired value from patchlevel.h.
@@ -118,6 +126,12 @@ archobjs (Unix.U):
        or other facilities.  For perl on OS/2, for example, this would
        include os2/os2.obj.
 
+asctime_r_proto (d_asctime_r.U):
+       This variable encodes the prototype of asctime_r.
+       It is zero if d_asctime_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
+       is defined.
+
 awk (Loc.U):
        This variable is used internally by Configure to determine the
        full pathname (if any) of the awk program.  After Configure runs,
@@ -136,10 +150,6 @@ bin (bin.U):
        is most often a local directory such as /usr/local/bin. Programs using
        this variable must be prepared to deal with ~name substitution.
 
-bincompat5005 (bincompat5005.U):
-       This variable contains y if this version of Perl should be
-       binary-compatible with Perl 5.005.
-
 binexp (bin.U):
        This is the same as the bin variable, but is filename expanded at
        configuration time, for use in your makefiles.
@@ -155,10 +165,10 @@ byacc (Loc.U):
        the value is reset to a plain "byacc" and is not useful.
 
 byteorder (byteorder.U):
-       This variable holds the byte order. In the following, larger digits
-       indicate more significance.  The variable byteorder is either 4321
-       on a big-endian machine, or 1234 on a little-endian, or 87654321
-       on a Cray ... or 3412 with weird order !
+       This variable holds the byte order in a UV. In the following,
+       larger digits indicate more significance.  The variable byteorder
+       is either 4321 on a big-endian machine, or 1234 on a little-endian,
+       or 87654321 on a Cray ... or 3412 with weird order !
 
 c (n.U):
        This variable contains the \c string if that is what causes the echo
@@ -243,8 +253,9 @@ chgrp (Loc.U):
        The value is a plain '' and is not useful.
 
 chmod (Loc.U):
-       This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       This variable is used internally by Configure to determine the
+       full pathname (if any) of the chmod program.  After Configure runs,
+       the value is reset to a plain "chmod" and is not useful.
 
 chown (Loc.U):
        This variable is defined but not used by Configure.
@@ -285,7 +296,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):
@@ -328,10 +339,11 @@ cppsymbols (Cppsym.U):
        not in this list, see ccsymbols and cppccsymbols.
        The list is a space-separated list of symbol=value tokens.
 
-crosscompile (crosscompile.U):
-       This variable conditionally defines the CROSSCOMPILE symbol
-       which signifies that the build process is be a cross-compilation.
-       This is normally set by hints files or from Configure command line.
+crypt_r_proto (d_crypt_r.U):
+       This variable encodes the prototype of crypt_r.
+       It is zero if d_crypt_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
+       is defined.
 
 cryptlib (d_crypt.U):
        This variable holds -lcrypt or the path to a libcrypt.a archive if
@@ -343,6 +355,18 @@ csh (Loc.U):
        full pathname (if any) of the csh program.  After Configure runs,
        the value is reset to a plain "csh" and is not useful.
 
+ctermid_r_proto (d_ctermid_r.U):
+       This variable encodes the prototype of ctermid_r.
+       It is zero if d_ctermid_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
+       is defined.
+
+ctime_r_proto (d_ctime_r.U):
+       This variable encodes the prototype of ctime_r.
+       It is zero if d_ctime_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
+       is defined.
+
 d__fwalk (d__fwalk.U):
        This variable conditionally defines HAS__FWALK if _fwalk() is
        available to apply a function to all the file handles.
@@ -355,6 +379,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.
@@ -364,6 +393,11 @@ 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_asctime_r (d_asctime_r.U):
+       This variable conditionally defines the HAS_ASCTIME_R symbol,
+       which indicates to the C program that the asctime_r()
+       routine is available.
+
 d_atolf (atolf.U):
        This variable conditionally defines the HAS_ATOLF symbol, which
        indicates to the C program that the atolf() routine is available.
@@ -372,10 +406,42 @@ d_atoll (atoll.U):
        This variable conditionally defines the HAS_ATOLL symbol, which
        indicates to the C program that the atoll() routine is available.
 
-d_attribut (d_attribut.U):
-       This variable conditionally defines HASATTRIBUTE, which
-       indicates the C compiler can check for function attributes,
-       such as printf formats.
+d_attribute_format (d_attribut_format.U):
+       This variable conditionally defines HASATTRIBUTE_FORMAT, which
+       indicates the C compiler can check for printf-like formats.
+
+d_attribute_malloc (d_attribute_malloc.U):
+       This variable conditionally defines HASATTRIBUTE_MALLOC, which
+       indicates the C compiler can understand functions as having
+       malloc-like semantics.
+
+d_attribute_nonnull (d_attribute_nonnull.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_attribute_noreturn.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_attribute_pure.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_attribute_unused.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_attribute_warn_unused_result.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
@@ -385,13 +451,6 @@ d_bcopy (d_bcopy.U):
        This variable conditionally defines the HAS_BCOPY symbol if
        the bcopy() routine is available to copy strings.
 
-d_bincompat5005 (bincompat5005.U):
-       This variable conditionally defines BINCOMPAT5005 so that embed.h
-       can take special action if this version of Perl should be
-       binary-compatible with Perl 5.005.  This is impossible for builds
-       that use features like threads and multiplicity it is always $undef
-       for those versions.
-
 d_bsd (Guess.U):
        This symbol conditionally defines the symbol BSD when running on a
        BSD system.
@@ -435,6 +494,14 @@ d_chsize (d_chsize.U):
        indicates to the C program that the chsize() routine is available
        to truncate files.  You might need a -lx to get this routine.
 
+d_class (d_class.U):
+       This variable conditionally defines the HAS_CLASS symbol, which
+       indicates to the C program that the class() routine is available.
+
+d_clearenv (d_clearenv.U):
+       This variable conditionally defines the HAS_CLEARENV symbol, which
+       indicates to the C program that the clearenv () routine is available.
+
 d_closedir (d_closedir.U):
        This variable conditionally defines HAS_CLOSEDIR if closedir() is
        available.
@@ -448,15 +515,35 @@ 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_crypt (d_crypt.U):
        This variable conditionally defines the CRYPT symbol, which
        indicates to the C program that the crypt() routine is available
        to encrypt passwords and the like.
 
+d_crypt_r (d_crypt_r.U):
+       This variable conditionally defines the HAS_CRYPT_R symbol,
+       which indicates to the C program that the crypt_r()
+       routine is available.
+
 d_csh (d_csh.U):
        This variable conditionally defines the CSH symbol, which
        indicates to the C program that the C-shell exists.
 
+d_ctermid_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_ctime_r (d_ctime_r.U):
+       This variable conditionally defines the HAS_CTIME_R symbol,
+       which indicates to the C program that the ctime_r()
+       routine is available.
+
 d_cuserid (d_cuserid.U):
        This variable conditionally defines the HAS_CUSERID symbol, which
        indicates to the C program that the cuserid() routine is available
@@ -467,10 +554,21 @@ d_dbl_dig (d_dbl_dig.U):
        header files provide DBL_DIG, which is the number of significant
        digits in a double precision number.
 
+d_dbminitproto (d_dbminitproto.U):
+       This variable conditionally defines the HAS_DBMINIT_PROTO symbol,
+       which indicates to the C program that the system provides
+       a prototype for the dbminit() function.  Otherwise, it is
+       up to the program to supply one.
+
 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_dirfd (d_dirfd.U):
+       This variable conditionally defines the HAS_DIRFD constant,
+       which indicates to the C program that dirfd() is available
+       to return the file descriptor of a directory stream.
+
 d_dirnamlen (i_dirent.U):
        This variable conditionally defines DIRNAMLEN, which indicates
        to the C program that the length of directory entry names is
@@ -494,6 +592,11 @@ d_dosuid (d_dosuid.U):
        tells the C program that it should insert setuid emulation code
        on hosts which have setuid #! scripts disabled.
 
+d_drand48_r (d_drand48_r.U):
+       This variable conditionally defines the HAS_DRAND48_R symbol,
+       which indicates to the C program that the drand48_r()
+       routine is available.
+
 d_drand48proto (d_drand48proto.U):
        This variable conditionally defines the HAS_DRAND48_PROTO symbol,
        which indicates to the C program that the system provides
@@ -513,27 +616,57 @@ d_endgrent (d_endgrent.U):
        indicates to the C program that the endgrent() routine is available
        for sequential access of the group database.
 
+d_endgrent_r (d_endgrent_r.U):
+       This variable conditionally defines the HAS_ENDGRENT_R symbol,
+       which indicates to the C program that the endgrent_r()
+       routine is available.
+
 d_endhent (d_endhent.U):
        This variable conditionally defines HAS_ENDHOSTENT if endhostent() is
        available to close whatever was being used for host queries.
 
+d_endhostent_r (d_endhostent_r.U):
+       This variable conditionally defines the HAS_ENDHOSTENT_R symbol,
+       which indicates to the C program that the endhostent_r()
+       routine is available.
+
 d_endnent (d_endnent.U):
        This variable conditionally defines HAS_ENDNETENT if endnetent() is
        available to close whatever was being used for network queries.
 
+d_endnetent_r (d_endnetent_r.U):
+       This variable conditionally defines the HAS_ENDNETENT_R symbol,
+       which indicates to the C program that the endnetent_r()
+       routine is available.
+
 d_endpent (d_endpent.U):
        This variable conditionally defines HAS_ENDPROTOENT if endprotoent() is
        available to close whatever was being used for protocol queries.
 
+d_endprotoent_r (d_endprotoent_r.U):
+       This variable conditionally defines the HAS_ENDPROTOENT_R symbol,
+       which indicates to the C program that the endprotoent_r()
+       routine is available.
+
 d_endpwent (d_endpwent.U):
        This variable conditionally defines the HAS_ENDPWENT symbol, which
        indicates to the C program that the endpwent() routine is available
        for sequential access of the passwd database.
 
+d_endpwent_r (d_endpwent_r.U):
+       This variable conditionally defines the HAS_ENDPWENT_R symbol,
+       which indicates to the C program that the endpwent_r()
+       routine is available.
+
 d_endsent (d_endsent.U):
        This variable conditionally defines HAS_ENDSERVENT if endservent() is
        available to close whatever was being used for service queries.
 
+d_endservent_r (d_endservent_r.U):
+       This variable conditionally defines the HAS_ENDSERVENT_R symbol,
+       which indicates to the C program that the endservent_r()
+       routine is available.
+
 d_eofnblk (nblock_io.U):
        This variable conditionally defines EOF_NONBLOCK if EOF can be seen
        when reading from a non-blocking I/O source.
@@ -542,6 +675,15 @@ 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.
+
 d_fchmod (d_fchmod.U):
        This variable conditionally defines the HAS_FCHMOD symbol, which
        indicates to the C program that the fchmod() routine is available
@@ -580,6 +722,14 @@ d_fgetpos (d_fgetpos.U):
        This variable conditionally defines HAS_FGETPOS if fgetpos() is
        available to get the file position indicator.
 
+d_finite (d_finite.U):
+       This variable conditionally defines the HAS_FINITE symbol, which
+       indicates to the C program that the finite() routine is available.
+
+d_finitel (d_finitel.U):
+       This variable conditionally defines the HAS_FINITEL symbol, which
+       indicates to the C program that the finitel() routine is available.
+
 d_flexfnam (d_flexfnam.U):
        This variable conditionally defines the FLEXFILENAMES symbol, which
        indicates that the system supports filenames longer than 14 characters.
@@ -588,16 +738,38 @@ d_flock (d_flock.U):
        This variable conditionally defines HAS_FLOCK if flock() is
        available to do file locking.
 
+d_flockproto (d_flockproto.U):
+       This variable conditionally defines the HAS_FLOCK_PROTO symbol,
+       which indicates to the C program that the system provides
+       a prototype for the flock() function.  Otherwise, it is
+       up to the program to supply one.
+
 d_fork (d_fork.U):
        This variable conditionally defines the HAS_FORK symbol, which
        indicates to the C program that the fork() routine is available.
 
+d_fp_class (d_fp_class.U):
+       This variable conditionally defines the HAS_FP_CLASS symbol, which
+       indicates to the C program that the fp_class() routine is available.
+
 d_fpathconf (d_pathconf.U):
        This variable conditionally defines the HAS_FPATHCONF symbol, which
        indicates to the C program that the pathconf() routine is available
        to determine file-system related limits and options associated
        with a given open file descriptor.
 
+d_fpclass (d_fpclass.U):
+       This variable conditionally defines the HAS_FPCLASS symbol, which
+       indicates to the C program that the fpclass() routine is available.
+
+d_fpclassify (d_fpclassify.U):
+       This variable conditionally defines the HAS_FPCLASSIFY symbol, which
+       indicates to the C program that the fpclassify() routine is available.
+
+d_fpclassl (d_fpclassl.U):
+       This variable conditionally defines the HAS_FPCLASSL symbol, which
+       indicates to the C program that the fpclassl() routine is available.
+
 d_fpos64_t (d_fpos64_t.U):
        This symbol will be defined if the C compiler supports fpos64_t.
 
@@ -638,14 +810,30 @@ d_ftime (d_ftime.U):
        that the ftime() routine exists.  The ftime() routine is basically
        a sub-second accuracy clock.
 
+d_futimes (f_futimes.U):
+       This variable conditionally defines the HAS_FUTIMES symbol, which
+       indicates to the C program that the futimes() routine is available.
+
 d_Gconvert (d_gconvert.U):
        This variable holds what Gconvert is defined as to convert
-       floating point numbers into strings. It could be 'gconvert'
-       or a more complex macro emulating gconvert with gcvt() or sprintf.
-       Possible values are:
-       d_Gconvert='gconvert((x),(n),(t),(b))'
-       d_Gconvert='gcvt((x),(n),(b))'
-       d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+       floating point numbers into strings.  By default, Configure
+       sets this macro to use the first of gconvert, gcvt, or sprintf
+       that pass sprintf-%g-like behaviour tests.  If perl is using
+       long doubles, the macro uses the first of the following
+       functions that pass Configure's tests: qgcvt, sprintf (if
+       Configure knows how to make sprintf format long doubles--see
+       sPRIgldbl), gconvert, gcvt, and sprintf (casting to double).  
+       The gconvert_preference and gconvert_ld_preference variables   
+       can be used to alter Configure's preferences, for doubles and
+       long doubles, respectively.  If present, they contain a       
+       space-separated list of one or more of the above function       
+       names in the order they should be tried.
+
+       d_Gconvert may be set to override Configure with a platform-
+       specific function.  If this function expects a double, a
+       different value may need to be set by the uselongdouble.cbu
+       call-back unit so that long doubles can be formatted without
+       loss of precision.
 
 d_getcwd (d_getcwd.U):
        This variable conditionally defines the HAS_GETCWD symbol, which
@@ -665,6 +853,21 @@ d_getgrent (d_getgrent.U):
        indicates to the C program that the getgrent() routine is available
        for sequential access of the group database.
 
+d_getgrent_r (d_getgrent_r.U):
+       This variable conditionally defines the HAS_GETGRENT_R symbol,
+       which indicates to the C program that the getgrent_r()
+       routine is available.
+
+d_getgrgid_r (d_getgrgid_r.U):
+       This variable conditionally defines the HAS_GETGRGID_R symbol,
+       which indicates to the C program that the getgrgid_r()
+       routine is available.
+
+d_getgrnam_r (d_getgrnam_r.U):
+       This variable conditionally defines the HAS_GETGRNAM_R symbol,
+       which indicates to the C program that the getgrnam_r()
+       routine is available.
+
 d_getgrps (d_getgrps.U):
        This variable conditionally defines the HAS_GETGROUPS symbol, which
        indicates to the C program that the getgroups() routine is available
@@ -689,6 +892,21 @@ d_gethname (d_gethname.U):
        indicates to the C program that the gethostname() routine may be
        used to derive the host name.
 
+d_gethostbyaddr_r (d_gethostbyaddr_r.U):
+       This variable conditionally defines the HAS_GETHOSTBYADDR_R symbol,
+       which indicates to the C program that the gethostbyaddr_r()
+       routine is available.
+
+d_gethostbyname_r (d_gethostbyname_r.U):
+       This variable conditionally defines the HAS_GETHOSTBYNAME_R symbol,
+       which indicates to the C program that the gethostbyname_r()
+       routine is available.
+
+d_gethostent_r (d_gethostent_r.U):
+       This variable conditionally defines the HAS_GETHOSTENT_R symbol,
+       which indicates to the C program that the gethostent_r()
+       routine is available.
+
 d_gethostprotos (d_gethostprotos.U):
        This variable conditionally defines the HAS_GETHOST_PROTOS symbol,
        which indicates to the C program that <netdb.h> supplies
@@ -704,6 +922,11 @@ d_getlogin (d_getlogin.U):
        indicates to the C program that the getlogin() routine is available
        to get the login name.
 
+d_getlogin_r (d_getlogin_r.U):
+       This variable conditionally defines the HAS_GETLOGIN_R symbol,
+       which indicates to the C program that the getlogin_r()
+       routine is available.
+
 d_getmnt (d_getmnt.U):
        This variable conditionally defines the HAS_GETMNT symbol, which
        indicates to the C program that the getmnt() routine is available
@@ -728,6 +951,21 @@ d_getnent (d_getnent.U):
        This variable conditionally defines HAS_GETNETENT if getnetent() is
        available to look up network names in some data base or another.
 
+d_getnetbyaddr_r (d_getnetbyaddr_r.U):
+       This variable conditionally defines the HAS_GETNETBYADDR_R symbol,
+       which indicates to the C program that the getnetbyaddr_r()
+       routine is available.
+
+d_getnetbyname_r (d_getnetbyname_r.U):
+       This variable conditionally defines the HAS_GETNETBYNAME_R symbol,
+       which indicates to the C program that the getnetbyname_r()
+       routine is available.
+
+d_getnetent_r (d_getnetent_r.U):
+       This variable conditionally defines the HAS_GETNETENT_R symbol,
+       which indicates to the C program that the getnetent_r()
+       routine is available.
+
 d_getnetprotos (d_getnetprotos.U):
        This variable conditionally defines the HAS_GETNET_PROTOS symbol,
        which indicates to the C program that <netdb.h> supplies
@@ -777,6 +1015,21 @@ d_getprior (d_getprior.U):
        This variable conditionally defines HAS_GETPRIORITY if getpriority()
        is available to get a process's priority.
 
+d_getprotobyname_r (d_getprotobyname_r.U):
+       This variable conditionally defines the HAS_GETPROTOBYNAME_R symbol,
+       which indicates to the C program that the getprotobyname_r()
+       routine is available.
+
+d_getprotobynumber_r (d_getprotobynumber_r.U):
+       This variable conditionally defines the HAS_GETPROTOBYNUMBER_R symbol,
+       which indicates to the C program that the getprotobynumber_r()
+       routine is available.
+
+d_getprotoent_r (d_getprotoent_r.U):
+       This variable conditionally defines the HAS_GETPROTOENT_R symbol,
+       which indicates to the C program that the getprotoent_r()
+       routine is available.
+
 d_getprotoprotos (d_getprotoprotos.U):
        This variable conditionally defines the HAS_GETPROTO_PROTOS symbol,
        which indicates to the C program that <netdb.h> supplies
@@ -792,6 +1045,21 @@ d_getpwent (d_getpwent.U):
        indicates to the C program that the getpwent() routine is available
        for sequential access of the passwd database.
 
+d_getpwent_r (d_getpwent_r.U):
+       This variable conditionally defines the HAS_GETPWENT_R symbol,
+       which indicates to the C program that the getpwent_r()
+       routine is available.
+
+d_getpwnam_r (d_getpwnam_r.U):
+       This variable conditionally defines the HAS_GETPWNAM_R symbol,
+       which indicates to the C program that the getpwnam_r()
+       routine is available.
+
+d_getpwuid_r (d_getpwuid_r.U):
+       This variable conditionally defines the HAS_GETPWUID_R symbol,
+       which indicates to the C program that the getpwuid_r()
+       routine is available.
+
 d_getsbyname (d_getsrvby.U):
        This variable conditionally defines the HAS_GETSERVBYNAME 
        symbol, which indicates to the C program that the 
@@ -808,6 +1076,21 @@ d_getsent (d_getsent.U):
        This variable conditionally defines HAS_GETSERVENT if getservent() is
        available to look up network services in some data base or another.
 
+d_getservbyname_r (d_getservbyname_r.U):
+       This variable conditionally defines the HAS_GETSERVBYNAME_R symbol,
+       which indicates to the C program that the getservbyname_r()
+       routine is available.
+
+d_getservbyport_r (d_getservbyport_r.U):
+       This variable conditionally defines the HAS_GETSERVBYPORT_R symbol,
+       which indicates to the C program that the getservbyport_r()
+       routine is available.
+
+d_getservent_r (d_getservent_r.U):
+       This variable conditionally defines the HAS_GETSERVENT_R symbol,
+       which indicates to the C program that the getservent_r()
+       routine is available.
+
 d_getservprotos (d_getservprotos.U):
        This variable conditionally defines the HAS_GETSERV_PROTOS symbol,
        which indicates to the C program that <netdb.h> supplies
@@ -818,11 +1101,21 @@ d_getspnam (d_getspnam.U):
        This variable conditionally defines HAS_GETSPNAM if getspnam() is
        available to retrieve SysV shadow password entries by name.
 
+d_getspnam_r (d_getspnam_r.U):
+       This variable conditionally defines the HAS_GETSPNAM_R symbol,
+       which indicates to the C program that the getspnam_r()
+       routine is available.
+
 d_gettimeod (d_ftime.U):
        This variable conditionally defines the HAS_GETTIMEOFDAY symbol, which
        indicates that the gettimeofday() system call exists (to obtain a
        sub-second accuracy clock). You should probably include <sys/resource.h>.
 
+d_gmtime_r (d_gmtime_r.U):
+       This variable conditionally defines the HAS_GMTIME_R symbol,
+       which indicates to the C program that the gmtime_r()
+       routine is available.
+
 d_gnulibc (d_gnulibc.U):
        Defined if we're dealing with the GNU C Library.
 
@@ -839,9 +1132,10 @@ 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_iconv (d_iconv.U):
-       This variable conditionally defines the HAS_ICONV symbol, which
-       indicates to the C program that the iconv() routine is available.
+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_index (d_strchr.U):
        This variable conditionally defines HAS_INDEX if index() and
@@ -859,6 +1153,14 @@ d_isascii (d_isascii.U):
        This variable conditionally defines the HAS_ISASCII constant,
        which indicates to the C program that isascii() is available.
 
+d_isfinite (d_isfinite.U):
+       This variable conditionally defines the HAS_ISFINITE symbol, which
+       indicates to the C program that the isfinite() routine is available.
+
+d_isinf (d_isinf.U):
+       This variable conditionally defines the HAS_ISINF symbol, which
+       indicates to the C program that the isinf() routine is available.
+
 d_isnan (d_isnan.U):
        This variable conditionally defines the HAS_ISNAN symbol, which
        indicates to the C program that the isnan() routine is available.
@@ -886,6 +1188,11 @@ d_link (d_link.U):
        This variable conditionally defines HAS_LINK if link() is
        available to create hard links.
 
+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_locconv (d_locconv.U):
        This variable conditionally defines HAS_LOCALECONV if localeconv() is
        available for numeric and monetary formatting conventions.
@@ -916,6 +1223,14 @@ d_madvise (d_madvise.U):
        This variable conditionally defines HAS_MADVISE if madvise() is
        available to map a file into memory.
 
+d_malloc_size (d_malloc_size.U):
+       This symbol, if defined, indicates that the malloc_size
+       routine is available for use.
+
+d_malloc_good_size (d_malloc_good_size.U):
+       This symbol, if defined, indicates that the malloc_good_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
@@ -993,6 +1308,19 @@ d_modfl (d_modfl.U):
        This variable conditionally defines the HAS_MODFL symbol, which
        indicates to the C program that the modfl() routine is available.
 
+d_modfl_pow32_bug (d_modfl.U):
+       This variable conditionally defines the HAS_MODFL_POW32_BUG symbol,
+       which indicates that modfl() is broken for long doubles >= pow(2, 32).
+       For example from 4294967303.150000 one would get 4294967302.000000
+       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.
@@ -1063,13 +1391,17 @@ 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.
 
+d_nl_langinfo (d_nl_langinfo.U):
+       This variable conditionally defines the HAS_NL_LANGINFO symbol, which
+       indicates to the C program that the nl_langinfo() routine is available.
+
 d_nv_preserves_uv (perlxv.U):
        This variable indicates whether a variable of type nvtype
        can preserve all the bits a variable of type uvtype.
 
-d_nv_preserves_uv_bits (perlxv.U):
-       This variable indicates how many of bits type uvtype
-       a variable nvtype can preserve.
+d_nv_zero_is_allbits_zero (perlxv.U):
+       This variable indicates whether a variable of type nvtype
+       stores 0.0 in memory as all bits zero.
 
 d_off64_t (d_off64_t.U):
        This symbol will be defined if the C compiler supports off64_t.
@@ -1186,6 +1518,20 @@ d_PRIXU64 (quadfio.U):
        The 'U' in the name is to separate this from d_PRIx64 so that even
        case-blind systems can see the difference.
 
+d_procselfexe (d_procselfexe.U):
+       Defined if $procselfexe is symlink to the absolute
+       pathname of the executing program.
+
+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
@@ -1231,10 +1577,25 @@ d_quad (quadtype.U):
        This variable, if defined, tells that there's a 64-bit integer type,
        quadtype.
 
+d_random_r (d_random_r.U):
+       This variable conditionally defines the HAS_RANDOM_R symbol,
+       which indicates to the C program that the random_r()
+       routine is available.
+
+d_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()
+       routine is available.
+
 d_readlink (d_readlink.U):
        This variable conditionally defines the HAS_READLINK symbol, which
        indicates to the C program that the readlink() routine is available
@@ -1244,10 +1605,6 @@ d_readv (d_readv.U):
        This variable conditionally defines the HAS_READV symbol, which
        indicates to the C program that the readv() routine is available.
 
-d_realpath (d_realpath.U):
-       This variable conditionally defines the HAS_REALPATH symbol, which
-       indicates to the C program that the realpath() routine is available.
-
 d_recvmsg (d_recvmsg.U):
        This variable conditionally defines the HAS_RECVMSG symbol, which
        indicates to the C program that the recvmsg() routine is available.
@@ -1267,11 +1624,13 @@ d_rmdir (d_rmdir.U):
 
 d_safebcpy (d_safebcpy.U):
        This variable conditionally defines the HAS_SAFE_BCOPY symbol if
-       the bcopy() routine can do overlapping copies.
+       the bcopy() routine can do overlapping copies.  Normally, you
+       should probably use memmove().
 
 d_safemcpy (d_safemcpy.U):
        This variable conditionally defines the HAS_SAFE_MEMCPY symbol if
        the memcpy() routine can do overlapping copies.
+       For overlapping copies, memmove() should be used, if available.
 
 d_sanemcmp (d_sanemcmp.U):
        This variable conditionally defines the HAS_SANE_MEMCMP symbol if
@@ -1284,6 +1643,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
@@ -1350,6 +1714,11 @@ d_setgrent (d_setgrent.U):
        indicates to the C program that the setgrent() routine is available
        for initializing sequential access to the group database.
 
+d_setgrent_r (d_setgrent_r.U):
+       This variable conditionally defines the HAS_SETGRENT_R symbol,
+       which indicates to the C program that the setgrent_r()
+       routine is available.
+
 d_setgrps (d_setgrps.U):
        This variable conditionally defines the HAS_SETGROUPS symbol, which
        indicates to the C program that the setgroups() routine is available
@@ -1359,6 +1728,11 @@ d_sethent (d_sethent.U):
        This variable conditionally defines HAS_SETHOSTENT if sethostent() is
        available.
 
+d_sethostent_r (d_sethostent_r.U):
+       This variable conditionally defines the HAS_SETHOSTENT_R symbol,
+       which indicates to the C program that the sethostent_r()
+       routine is available.
+
 d_setitimer (d_setitimer.U):
        This variable conditionally defines the HAS_SETITIMER symbol, which
        indicates to the C program that the setitimer() routine is available.
@@ -1373,10 +1747,20 @@ d_setlocale (d_setlocale.U):
        This variable conditionally defines HAS_SETLOCALE if setlocale() is
        available to handle locale-specific ctype implementations.
 
+d_setlocale_r (d_setlocale_r.U):
+       This variable conditionally defines the HAS_SETLOCALE_R symbol,
+       which indicates to the C program that the setlocale_r()
+       routine is available.
+
 d_setnent (d_setnent.U):
        This variable conditionally defines HAS_SETNETENT if setnetent() is
        available.
 
+d_setnetent_r (d_setnetent_r.U):
+       This variable conditionally defines the HAS_SETNETENT_R symbol,
+       which indicates to the C program that the setnetent_r()
+       routine is available.
+
 d_setpent (d_setpent.U):
        This variable conditionally defines HAS_SETPROTOENT if setprotoent() is
        available.
@@ -1403,11 +1787,21 @@ d_setproctitle (d_setproctitle.U):
        which indicates to the C program that the setproctitle() routine
        is available.
 
+d_setprotoent_r (d_setprotoent_r.U):
+       This variable conditionally defines the HAS_SETPROTOENT_R symbol,
+       which indicates to the C program that the setprotoent_r()
+       routine is available.
+
 d_setpwent (d_setpwent.U):
        This variable conditionally defines the HAS_SETPWENT symbol, which
        indicates to the C program that the setpwent() routine is available
        for initializing sequential access to the passwd database.
 
+d_setpwent_r (d_setpwent_r.U):
+       This variable conditionally defines the HAS_SETPWENT_R symbol,
+       which indicates to the C program that the setpwent_r()
+       routine is available.
+
 d_setregid (d_setregid.U):
        This variable conditionally defines HAS_SETREGID if setregid() is
        available to change the real and effective gid of the current
@@ -1442,6 +1836,11 @@ d_setsent (d_setsent.U):
        This variable conditionally defines HAS_SETSERVENT if setservent() is
        available.
 
+d_setservent_r (d_setservent_r.U):
+       This variable conditionally defines the HAS_SETSERVENT_R symbol,
+       which indicates to the C program that the setservent_r()
+       routine is available.
+
 d_setsid (d_setsid.U):
        This variable conditionally defines HAS_SETSID if setsid() is
        available to set the process group ID.
@@ -1498,6 +1897,12 @@ 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.
 
+d_sockatmarkproto (d_sockatmarkproto.U):
+       This variable conditionally defines the HAS_SOCKATMARK_PROTO symbol,
+       which indicates to the C program that the system provides
+       a prototype for the sockatmark() function.  Otherwise, it is
+       up to the program to supply one.
+
 d_socket (d_socket.U):
        This variable conditionally defines HAS_SOCKET, which indicates
        that the BSD socket interface is supported.
@@ -1513,10 +1918,32 @@ 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_returns_strlen.U):
+       This variable defines whether sprintf returns the length of the string
+       (as per the ANSI spec). Some C libraries retain compatibility with
+       pre-ANSI C and return a pointer to the passed in buffer; for these
+       this variable will be undef.
+
 d_sqrtl (d_sqrtl.U):
        This variable conditionally defines the HAS_SQRTL symbol, which
        indicates to the C program that the sqrtl() routine is available.
 
+d_srand48_r (d_srand48_r.U):
+       This variable conditionally defines the HAS_SRAND48_R symbol,
+       which indicates to the C program that the srand48_r()
+       routine is available.
+
+d_srandom_r (d_srandom_r.U):
+       This variable conditionally defines the HAS_SRANDOM_R symbol,
+       which indicates to the C program that the srandom_r()
+       routine is available.
+
+d_sresgproto (d_sresgproto.U):
+       This variable conditionally defines the HAS_SETRESGID_PROTO symbol,
+       which indicates to the C program that the system provides
+       a prototype for the setresgid() function.  Otherwise, it is
+       up to the program to supply one.
+
 d_sresuproto (d_sresuproto.U):
        This variable conditionally defines the HAS_SETRESUID_PROTO symbol,
        which indicates to the C program that the system provides
@@ -1596,10 +2023,23 @@ d_strerror (d_strerror.U):
        This variable conditionally defines HAS_STRERROR if strerror() is
        available to translate error numbers to strings.
 
+d_strerror_r (d_strerror_r.U):
+       This variable conditionally defines the HAS_STRERROR_R symbol,
+       which indicates to the C program that the strerror_r()
+       routine is available.
+
 d_strftime (d_strftime.U):
        This variable conditionally defines the HAS_STRFTIME symbol, which
        indicates to the C program that the strftime() routine is available.
 
+d_strlcat (d_strlcat.U):
+       This variable conditionally defines the HAS_STRLCAT symbol, which
+       indicates to the C program that the strlcat () routine is available.
+
+d_strlcpy (d_strlcpy.U):
+       This variable conditionally defines the HAS_STRLCPY symbol, which
+       indicates to the C program that the strlcpy () routine is available.
+
 d_strtod (d_strtod.U):
        This variable conditionally defines the HAS_STRTOD symbol, which
        indicates to the C program that the strtod() routine is available
@@ -1652,6 +2092,12 @@ d_syscall (d_syscall.U):
        This variable conditionally defines HAS_SYSCALL if syscall() is
        available call arbitrary system calls.
 
+d_syscallproto (d_syscallproto.U):
+       This variable conditionally defines the HAS_SYSCALL_PROTO symbol,
+       which indicates to the C program that the system provides
+       a prototype for the syscall() function.  Otherwise, it is
+       up to the program to supply one.
+
 d_sysconf (d_sysconf.U):
        This variable conditionally defines the HAS_SYSCONF symbol, which
        indicates to the C program that the sysconf() routine is available
@@ -1699,10 +2145,28 @@ d_times (d_times.U):
        that the times() routine exists.  The times() routine is normaly
        provided on UNIX systems. You may have to include <sys/times.h>.
 
+d_tm_tm_gmtoff (i_time.U):
+       This variable conditionally defines HAS_TM_TM_GMTOFF, which indicates
+       indicates to the C program that the struct tm has the tm_gmtoff field.
+
+d_tm_tm_zone (i_time.U):
+       This variable conditionally defines HAS_TM_TM_ZONE, which indicates
+       indicates to the C program that the struct tm has the tm_zone field.
+
+d_tmpnam_r (d_tmpnam_r.U):
+       This variable conditionally defines the HAS_TMPNAM_R symbol,
+       which indicates to the C program that the tmpnam_r()
+       routine is available.
+
 d_truncate (d_truncate.U):
        This variable conditionally defines HAS_TRUNCATE if truncate() is
        available to truncate files.
 
+d_ttyname_r (d_ttyname_r.U):
+       This variable conditionally defines the HAS_TTYNAME_R symbol,
+       which indicates to the C program that the ttyname_r()
+       routine is available.
+
 d_tzname (d_tzname.U):
        This variable conditionally defines HAS_TZNAME if tzname[] is
        available to access timezone names.
@@ -1729,10 +2193,24 @@ d_union_semun (d_union_semun.U):
        This variable conditionally defines HAS_UNION_SEMUN if the
        union semun is defined by including <sys/sem.h>.
 
+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.
 
+d_usleepproto (d_usleepproto.U):
+       This variable conditionally defines the HAS_USLEEP_PROTO symbol,
+       which indicates to the C program that the system provides
+       a prototype for the usleep() function.  Otherwise, it is
+       up to the program to supply one.
+
 d_ustat (d_ustat.U):
        This variable conditionally defines HAS_USTAT if ustat() is
        available to query file system statistics by dev_t.
@@ -1746,6 +2224,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.
@@ -1857,6 +2338,12 @@ drand01 (randfunc.U):
        normalize the result.
        In C programs, the macro 'Drand01' is mapped to drand01.
 
+drand48_r_proto (d_drand48_r.U):
+       This variable encodes the prototype of drand48_r.
+       It is zero if d_drand48_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
+       is defined.
+
 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.
@@ -1886,6 +2373,42 @@ emacs (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
 
+endgrent_r_proto (d_endgrent_r.U):
+       This variable encodes the prototype of endgrent_r.
+       It is zero if d_endgrent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
+       is defined.
+
+endhostent_r_proto (d_endhostent_r.U):
+       This variable encodes the prototype of endhostent_r.
+       It is zero if d_endhostent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
+       is defined.
+
+endnetent_r_proto (d_endnetent_r.U):
+       This variable encodes the prototype of endnetent_r.
+       It is zero if d_endnetent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
+       is defined.
+
+endprotoent_r_proto (d_endprotoent_r.U):
+       This variable encodes the prototype of endprotoent_r.
+       It is zero if d_endprotoent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
+       is defined.
+
+endpwent_r_proto (d_endpwent_r.U):
+       This variable encodes the prototype of endpwent_r.
+       It is zero if d_endpwent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
+       is defined.
+
+endservent_r_proto (d_endservent_r.U):
+       This variable encodes the prototype of endservent_r.
+       It is zero if d_endservent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
+       is defined.
+
 eunicefix (Init.U):
        When running under Eunice this variable contains a command which will
        convert a shell script to the proper form of text file for it to be
@@ -1905,6 +2428,9 @@ extensions (Extensions.U):
        and is typically used to test whether a particular extesion 
        is available.
 
+extras (Extras.U):
+       This variable holds a list of extra modules to install.
+
 fflushall (fflushall.U):
        This symbol, if defined, tells that to flush
        all pending stdio output one must loop through all
@@ -1941,6 +2467,12 @@ freetype (mallocsrc.U):
        This variable contains the return type of free().  It is usually
        void, but occasionally int.
 
+from (Cross.U):
+       This variable contains the command used by Configure
+       to copy files from the target host.  Useful and available
+       only during Perl build.
+       The string ':' if not cross-compiling.
+
 full_ar (Loc_ar.U):
        This variable contains the full pathname to 'ar', whether or
        not the user has specified 'portability'.  This is only used
@@ -1960,16 +2492,141 @@ full_sed (Loc_sed.U):
        can share this executable will have the same full pathname to
        'sed.'
 
+gccansipedantic (gccvers.U):
+       If GNU cc (gcc) is used, this variable will enable (if set) the
+       -ansi and -pedantic ccflags for building core files (through
+       cflags script). (See Porting/pumpkin.pod for full description).
+
 gccosandvers (gccvers.U):
-       If GNU cc (gcc) is used, this variable the operating system and
-       version used to compile the gcc.  It is set to '' if not gcc,
+       If GNU cc (gcc) is used, this variable holds the operating system
+       and version used to compile gcc.  It is set to '' if not gcc,
        or if nothing useful can be parsed as the os version.
 
 gccversion (gccvers.U):
-       If GNU cc (gcc) is used, this variable holds '1' or '2' to 
+       If GNU cc (gcc) is used, this variable holds '1' or '2' to
        indicate whether the compiler is version 1 or 2.  This is used in
        setting some of the default cflags.  It is set to '' if not gcc.
 
+getgrent_r_proto (d_getgrent_r.U):
+       This variable encodes the prototype of getgrent_r.
+       It is zero if d_getgrent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
+       is defined.
+
+getgrgid_r_proto (d_getgrgid_r.U):
+       This variable encodes the prototype of getgrgid_r.
+       It is zero if d_getgrgid_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
+       is defined.
+
+getgrnam_r_proto (d_getgrnam_r.U):
+       This variable encodes the prototype of getgrnam_r.
+       It is zero if d_getgrnam_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
+       is defined.
+
+gethostbyaddr_r_proto (d_gethostbyaddr_r.U):
+       This variable encodes the prototype of gethostbyaddr_r.
+       It is zero if d_gethostbyaddr_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
+       is defined.
+
+gethostbyname_r_proto (d_gethostbyname_r.U):
+       This variable encodes the prototype of gethostbyname_r.
+       It is zero if d_gethostbyname_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
+       is defined.
+
+gethostent_r_proto (d_gethostent_r.U):
+       This variable encodes the prototype of gethostent_r.
+       It is zero if d_gethostent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
+       is defined.
+
+getlogin_r_proto (d_getlogin_r.U):
+       This variable encodes the prototype of getlogin_r.
+       It is zero if d_getlogin_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r
+       is defined.
+
+getnetbyaddr_r_proto (d_getnetbyaddr_r.U):
+       This variable encodes the prototype of getnetbyaddr_r.
+       It is zero if d_getnetbyaddr_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
+       is defined.
+
+getnetbyname_r_proto (d_getnetbyname_r.U):
+       This variable encodes the prototype of getnetbyname_r.
+       It is zero if d_getnetbyname_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
+       is defined.
+
+getnetent_r_proto (d_getnetent_r.U):
+       This variable encodes the prototype of getnetent_r.
+       It is zero if d_getnetent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
+       is defined.
+
+getprotobyname_r_proto (d_getprotobyname_r.U):
+       This variable encodes the prototype of getprotobyname_r.
+       It is zero if d_getprotobyname_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
+       is defined.
+
+getprotobynumber_r_proto (d_getprotobynumber_r.U):
+       This variable encodes the prototype of getprotobynumber_r.
+       It is zero if d_getprotobynumber_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
+       is defined.
+
+getprotoent_r_proto (d_getprotoent_r.U):
+       This variable encodes the prototype of getprotoent_r.
+       It is zero if d_getprotoent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
+       is defined.
+
+getpwent_r_proto (d_getpwent_r.U):
+       This variable encodes the prototype of getpwent_r.
+       It is zero if d_getpwent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r
+       is defined.
+
+getpwnam_r_proto (d_getpwnam_r.U):
+       This variable encodes the prototype of getpwnam_r.
+       It is zero if d_getpwnam_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r
+       is defined.
+
+getpwuid_r_proto (d_getpwuid_r.U):
+       This variable encodes the prototype of getpwuid_r.
+       It is zero if d_getpwuid_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r
+       is defined.
+
+getservbyname_r_proto (d_getservbyname_r.U):
+       This variable encodes the prototype of getservbyname_r.
+       It is zero if d_getservbyname_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
+       is defined.
+
+getservbyport_r_proto (d_getservbyport_r.U):
+       This variable encodes the prototype of getservbyport_r.
+       It is zero if d_getservbyport_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
+       is defined.
+
+getservent_r_proto (d_getservent_r.U):
+       This variable encodes the prototype of getservent_r.
+       It is zero if d_getservent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
+       is defined.
+
+getspnam_r_proto (d_getspnam_r.U):
+       This variable encodes the prototype of getspnam_r.
+       It is zero if d_getspnam_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r
+       is defined.
+
 gidformat (gidf.U):
        This variable contains the format string used for printing a Gid_t.
 
@@ -1990,6 +2647,22 @@ glibpth (libpth.U):
        find libraries.  It may contain directories that do not exist on
        this platform, libpth is the cleaned-up version.
 
+gmake (Loc.U):
+       This variable is used internally by Configure to determine the
+       full pathname (if any) of the gmake program.  After Configure runs,
+       the value is reset to a plain "gmake" and is not useful.
+
+gmtime_r_proto (d_gmtime_r.U):
+       This variable encodes the prototype of gmtime_r.
+       It is zero if d_gmtime_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
+       is defined.
+
+gnulibc_version (d_gnulibc.U):
+       This variable contains the version number of the GNU C library.
+       It is usually something like '2.2.5'.  It is a plain '' if this
+       is not the GNU C library, or if the version is unknown.
+
 grep (Loc.U):
        This variable is used internally by Configure to determine the
        full pathname (if any) of the grep program.  After Configure runs,
@@ -2032,6 +2705,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.
 
@@ -2065,6 +2759,10 @@ i_bsdioctl (i_sysioctl.U):
        indicates to the C program that <sys/bsdioctl.h> exists and should
        be included.
 
+i_crypt (i_crypt.U):
+       This variable conditionally defines the I_CRYPT symbol, and indicates
+       whether a C program should include <crypt.h>.
+
 i_db (i_db.U):
        This variable conditionally defines the I_DB symbol, and indicates
        whether a C program may include Berkeley's DB include file <db.h>.
@@ -2097,6 +2795,14 @@ i_float (i_float.U):
        whether a C program may include <float.h> to get symbols like DBL_MAX
        or DBL_MIN, i.e. machine dependent floating point values.
 
+i_fp (i_fp.U):
+       This variable conditionally defines the I_FP symbol, and indicates
+       whether a C program should include <fp.h>.
+
+i_fp_class (i_fp_class.U):
+       This variable conditionally defines the I_FP_CLASS symbol, and indicates
+       whether a C program should include <fp_class.h>.
+
 i_gdbm (i_gdbm.U):
        This variable conditionally defines the I_GDBM symbol, which
        indicates to the C program that <gdbm.h> exists and should
@@ -2106,10 +2812,6 @@ i_grp (i_grp.U):
        This variable conditionally defines the I_GRP symbol, and indicates
        whether a C program should include <grp.h>.
 
-i_iconv (i_iconv.U):
-       This variable conditionally defines the I_ICONV symbol, and indicates
-       whether a C program should include <iconv.h>.
-
 i_ieeefp (i_ieeefp.U):
        This variable conditionally defines the I_IEEEFP symbol, and indicates
        whether a C program should include <ieeefp.h>.
@@ -2118,6 +2820,10 @@ i_inttypes (i_inttypes.U):
        This variable conditionally defines the I_INTTYPES symbol,
        and indicates whether a C program should include <inttypes.h>.
 
+i_langinfo (i_langinfo.U):
+       This variable conditionally defines the I_LANGINFO symbol,
+       and indicates whether a C program should include <langinfo.h>.
+
 i_libutil (i_libutil.U):
        This variable conditionally defines the I_LIBUTIL symbol, and indicates
        whether a C program should include <libutil.h>.
@@ -2436,6 +3142,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
@@ -2480,11 +3196,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
@@ -2497,9 +3242,27 @@ installstyle (installstyle.U):
        directory dedicated to perl (e.g. /opt/perl), while the latter
        is useful if $prefix is shared by many packages, e.g. if
        $prefix=/usr/local.
-               This may later be extended to include other information, so
+
+       Unfortunately, while this "style" variable is used to set
+       defaults for all three directory hierarchies (core, vendor, and
+       site), there is no guarantee that the same style is actually
+       appropriate for all those directories.  For example, $prefix
+       might be /opt/perl, but $siteprefix might be /usr/local.
+       (Perhaps, in retrospect, the "lib" style should never have been
+       supported, but it did seem like a nice idea at the time.)
+
+       The situation is even less clear for tools such as MakeMaker
+       that can be used to install additional modules into
+       non-standard places.  For example, if a user intends to install
+       a module into a private directory (perhaps by setting PREFIX on
+       the Makefile.PL command line), then there is no reason to
+       assume that the Configure-time $installstyle setting will be
+       relevant for that PREFIX.
+
+       This may later be extended to include other information, so
        be careful with pattern-matching on the results.
-               For compatibility with perl5.005 and earlier, the default
+
+       For compatibility with perl5.005 and earlier, the default
        setting is based on whether or not $prefix contains the string
        "perl".
 
@@ -2518,11 +3281,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.
@@ -2600,7 +3388,7 @@ libpth (libpth.U):
 
 libs (libs.U):
        This variable holds the additional libraries we want to use.
-       It is up to the Makefile to deal with it.
+       It is up to the Makefile to deal with it.  The list can be empty.
 
 libsdirs (libs.U):
        This variable holds the directory names aka dirnames of the libraries
@@ -2650,6 +3438,12 @@ lns (lns.U):
        symbolic links (if they are supported).  It can be used
        in the Makefile. It is either 'ln -s' or 'ln'
 
+localtime_r_proto (d_localtime_r.U):
+       This variable encodes the prototype of localtime_r.
+       It is zero if d_localtime_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
+       is defined.
+
 locincpth (ccflags.U):
        This variable contains a list of additional directories to be
        searched by the compiler.  The appropriate '-I' directives will
@@ -2717,9 +3511,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 to distinguish a
        'set' value (from a previous config.sh or Configure '-D' option)
        from an uncomputed value.
 
@@ -2777,6 +3574,14 @@ mips_type (usrinc.U):
        This variable holds the environment type for the mips system.
        Possible values are "BSD 4.3" and "System V".
 
+mistrustnm (Csym.U):
+       This variable can be used to establish a fallthrough for the cases
+       where nm fails to find a symbol.  If usenm is false or usenm is true
+       and mistrustnm is false, this variable has no effect.  If usenm is true
+       and mistrustnm is "compile", a test program will be compiled to try to
+       find any symbol that can't be located via nm lookup.  If mistrustnm is
+       "run", the test program will be run as well as being compiled.
+
 mkdir (Loc.U):
        This variable is used internally by Configure to determine the
        full pathname (if any) of the mkdir program.  After Configure runs,
@@ -2888,6 +3693,10 @@ 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_preserves_uv_bits (perlxv.U):
+       This variable indicates how many of bits type uvtype
+       a variable nvtype can preserve.
+
 nveformat (perlxvf.U):
        This variable contains the format string used for printing
        a Perl NV using %e-ish floating point format.
@@ -3034,7 +3843,13 @@ perllibs (End.U):
 perlpath (perlpath.U):
        This variable contains the eventual value of the PERLPATH symbol,
        which contains the name of the perl interpreter to be used in
-       shell scripts and in the "eval 'exec'" idiom.
+       shell scripts and in the "eval 'exec'" idiom.  This variable is
+       not necessarily the pathname of the file containing the perl
+       interpreter; you must append the executable extension (_exe) if
+       it is not already present.  Note that Perl code that runs during
+       the Perl build process cannot reference this variable, as Perl
+       may not have been installed, or even if installed, may be a
+       different version of Perl.
 
 pg (Loc.U):
        This variable is used internally by Configure to determine the
@@ -3056,21 +3871,6 @@ plibpth (libpth.U):
        Its value is prepend to libpth. This variable takes care of special
        machines, like the mips.  Usually, it should be empty.
 
-pm_apiversion (xs_apiversion.U):
-       This variable contains the version of the oldest perl
-       compatible with the present perl.  (That is, pure perl modules
-       written for $pm_apiversion will still work for the current
-       version).  perl.c:incpush() and lib/lib.pm will automatically
-       search in $sitelib for older directories across major versions
-       back to pm_apiversion.  This is only useful if you have a perl
-       library directory tree structured like the default one.  The
-       versioned site_perl library was introduced in 5.005, so that's
-       the default setting for this variable.  It's hard to imagine
-       it changing before Perl6.  It is included here for symmetry
-       with xs_apiveprsion -- the searching algorithms will
-       (presumably) be similar.
-       See the INSTALL file for how this works.
-
 pmake (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
@@ -3100,6 +3900,11 @@ privlibexp (privlib.U):
        This variable is the ~name expanded version of privlib, so that you
        may use it directly in Makefiles or shell scripts.
 
+procselfexe (d_procselfexe.U):
+       If d_procselfexe is defined, $procselfexe is the filename
+       of the symbolic link pointing to the absolute pathname of
+       the executing program.
+
 prototype (prototype.U):
        This variable holds the eventual value of CAN_PROTOTYPE, which
        indicates the C compiler can handle funciton prototypes.
@@ -3126,6 +3931,12 @@ randfunc (randfunc.U):
        the 'Drand01' macro is defined to generate uniformly distributed
        random numbers over the range [0., 1.[ (see drand01 and nrand).
 
+random_r_proto (d_random_r.U):
+       This variable encodes the prototype of random_r.
+       It is zero if d_random_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r
+       is defined.
+
 randseedtype (randfunc.U):
        Indicates the type of the argument of the seedfunc.
 
@@ -3140,6 +3951,18 @@ rd_nodata (nblock_io.U):
        used, which is a shame because you cannot make the difference between
        no data and an EOF.. Sigh!
 
+readdir64_r_proto (d_readdir64_r.U):
+       This variable encodes the prototype of readdir64_r.
+       It is zero if d_readdir64_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
+       is defined.
+
+readdir_r_proto (d_readdir_r.U):
+       This variable encodes the prototype of readdir_r.
+       It is zero if d_readdir_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r
+       is defined.
+
 revision (patchlevel.U):
        The value of revision comes from the patchlevel.h file.
        In a version number such as 5.6.1, this is the "5".
@@ -3154,6 +3977,12 @@ rmail (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
 
+run (Cross.U):
+       This variable contains the command used by Configure
+       to copy and execute a cross-compiled executable in the
+       target host.  Useful and available only during Perl build.
+       Empty string '' if not cross-compiling.
+
 runnm (usenm.U):
        This variable contains 'true' or 'false' depending whether the
        nm extraction should be performed or not, according to the value
@@ -3200,6 +4029,48 @@ sendmail (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
 
+setgrent_r_proto (d_setgrent_r.U):
+       This variable encodes the prototype of setgrent_r.
+       It is zero if d_setgrent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r
+       is defined.
+
+sethostent_r_proto (d_sethostent_r.U):
+       This variable encodes the prototype of sethostent_r.
+       It is zero if d_sethostent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
+       is defined.
+
+setlocale_r_proto (d_setlocale_r.U):
+       This variable encodes the prototype of setlocale_r.
+       It is zero if d_setlocale_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
+       is defined.
+
+setnetent_r_proto (d_setnetent_r.U):
+       This variable encodes the prototype of setnetent_r.
+       It is zero if d_setnetent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
+       is defined.
+
+setprotoent_r_proto (d_setprotoent_r.U):
+       This variable encodes the prototype of setprotoent_r.
+       It is zero if d_setprotoent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
+       is defined.
+
+setpwent_r_proto (d_setpwent_r.U):
+       This variable encodes the prototype of setpwent_r.
+       It is zero if d_setpwent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r
+       is defined.
+
+setservent_r_proto (d_setservent_r.U):
+       This variable encodes the prototype of setservent_r.
+       It is zero if d_setservent_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
+       is defined.
+
 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
@@ -3239,7 +4110,7 @@ shrpenv (libperl.U):
        shrpenv=''
        See the main perl Makefile.SH for actual working usage.
        Alternatively, we might be able to use a command line option such
-       as -R $archlibexp/CORE (Solaris, NetBSD) or -Wl,-rpath
+       as -R $archlibexp/CORE (Solaris) or -Wl,-rpath
        $archlibexp/CORE (Linux).
 
 shsharp (spitshell.U):
@@ -3252,8 +4123,8 @@ 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
@@ -3264,10 +4135,10 @@ sig_name_init (sig_name.U):
 
 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
@@ -3277,7 +4148,7 @@ sig_num_init (sig_name.U):
 
 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).
@@ -3312,6 +4183,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
@@ -3332,6 +4233,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.
@@ -3341,6 +4272,21 @@ 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.
 
@@ -3442,6 +4388,18 @@ sPRIXU64 (quadfio.U):
        The 'U' in the name is to separate this from sPRIx64 so that even
        case-blind systems can see the difference.
 
+srand48_r_proto (d_srand48_r.U):
+       This variable encodes the prototype of srand48_r.
+       It is zero if d_srand48_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
+       is defined.
+
+srandom_r_proto (d_srandom_r.U):
+       This variable encodes the prototype of srandom_r.
+       It is zero if d_srandom_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
+       is defined.
+
 src (src.U):
        This variable holds the path to the package source. It is up to
        the Makefile to use this variable and set VPATH accordingly to
@@ -3498,7 +4456,7 @@ stdio_cnt (d_stdstdio.U):
 
 stdio_filbuf (d_stdstdio.U):
        This variable defines how, given a FILE pointer, fp, to tell
-       stdio to refill it's internal buffers (?).  This will
+       stdio to refill its internal buffers (?).  This will
        be used to define the macro FILE_filbuf(fp).
 
 stdio_ptr (d_stdstdio.U):
@@ -3510,6 +4468,12 @@ stdio_stream_array (stdio_streams.U):
        This variable tells the name of the array holding the stdio streams.
        Usual values include _iob, __iob, and __sF.
 
+strerror_r_proto (d_strerror_r.U):
+       This variable encodes the prototype of strerror_r.
+       It is zero if d_strerror_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
+       is defined.
+
 strings (i_string.U):
        This variable holds the full path of the string header that will be
        used. Typically /usr/include/string.h or /usr/include/strings.h.
@@ -3539,6 +4503,10 @@ tar (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
 
+targetarch (Cross.U):
+       If cross-compiling, this variable contains the target architecture.
+       If not, this will be empty.
+
 tbl (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
@@ -3560,6 +4528,18 @@ timetype (d_time.U):
        or time_t on BSD sites (in which case <sys/types.h> should be
        included). Anyway, the type Time_t should be used.
 
+tmpnam_r_proto (d_tmpnam_r.U):
+       This variable encodes the prototype of tmpnam_r.
+       It is zero if d_tmpnam_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
+       is defined.
+
+to (Cross.U):
+       This variable contains the command used by Configure
+       to copy to from the target host.  Useful and available
+       only during Perl build.
+       The string ':' if not cross-compiling.
+
 touch (Loc.U):
        This variable is used internally by Configure to determine the
        full pathname (if any) of the touch program.  After Configure runs,
@@ -3580,6 +4560,12 @@ troff (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
 
+ttyname_r_proto (d_ttyname_r.U):
+       This variable encodes the prototype of ttyname_r.
+       It is zero if d_ttyname_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
+       is defined.
+
 u16size (perlxv.U):
        This variable is the size of an U16 in bytes.
 
@@ -3656,10 +4642,19 @@ use64bitint (use64bits.U):
        This may mean using for example "long longs", while your memory
        may still be limited to 2 gigabytes.
 
+usecrosscompile (Cross.U):
+       This variable conditionally defines the USE_CROSS_COMPILE symbol,
+       and indicates that Perl has been cross-compiled.
+
 usedl (dlsrc.U):
        This variable indicates if the system supports dynamic
        loading of some sort.  See also dlsrc and dlobj.
 
+usefaststdio (usefaststdio.U):
+       This variable conditionally defines the USE_FAST_STDIO symbol,
+       and indicates that Perl should be built to use 'fast stdio'.
+       Defaults to define in Perls 5.8 and earlier, to undef later.
+
 useithreads (usethreads.U):
        This variable conditionally defines the USE_ITHREADS symbol,
        and indicates that Perl should be built to use the interpreter-based
@@ -3674,6 +4669,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
@@ -3713,6 +4712,20 @@ useposix (Extensions.U):
        for hints files to indicate that POSIX will not compile
        on a particular system.
 
+usereentrant (usethreads.U):
+       This variable conditionally defines the USE_REENTRANT_API symbol,
+       which indicates that the thread code may try to use the various
+       _r versions of library functions.  This is only potentially
+       meaningful if usethreads is set and is very experimental, it is
+       not even prompted for.
+
+userelocatableinc (XXX.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
@@ -3721,8 +4734,8 @@ 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.
 
 usesocks (usesocks.U):
        This variable conditionally defines the USE_SOCKS symbol,
@@ -3797,6 +4810,32 @@ 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.
@@ -3815,6 +4854,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.
@@ -3824,6 +4889,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
@@ -3831,6 +4909,15 @@ version (patchlevel.U):
        This is suitable for use as a directory name, and hence is
        filesystem dependent.
 
+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 
+       '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. 
+
 versiononly (versiononly.U):
        If set, this symbol indicates that only the version-specific
        components of a perl installation should be installed.
@@ -3857,23 +4944,6 @@ xlibpth (libpth.U):
        libraries on this platform, for example CPU-specific libraries
        (on multi-CPU platforms) may be listed here.
 
-xs_apiversion (xs_apiversion.U):
-       This variable contains the version of the oldest perl binary
-       compatible with the present perl.  perl.c:incpush() and
-       lib/lib.pm will automatically search in $sitearch for older
-       directories across major versions back to xs_apiversion.
-       This is only useful if you have a perl library directory tree
-       structured like the default one.
-       See INSTALL for how this works.
-       The versioned site_perl directory was introduced in 5.005,
-       so that is the lowest possible value.
-       Since this can depend on compile time options (such as
-       bincompat) it is set by Configure.  Other non-default sources
-       of potential incompatibility, such as multiplicity, threads,
-       debugging, 64bits, sfio, etc., are not checked for currently,
-       though in principle we could go snooping around in old
-       Config.pm files.
-
 yacc (yacc.U):
        This variable holds the name of the compiler compiler we
        want to use in the Makefile. It can be yacc, byacc, or bison -y.