This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add probe for clearenv (), like #25733 for unsetenv ()
[perl5.git] / Porting / Glossary
index 8099ea2..12c7207 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.
@@ -24,6 +30,12 @@ afs (afs.U):
        with a hint value or command line option, but you'd better know
        what you are doing.
 
+afsroot (afs.U):
+       This variable is by default set to '/afs'. In the unlikely case
+       this is not the correct root, it is possible to override this with
+       a hint value or command line option.  This will be used in subsequent
+       tests for AFSness in the Perl configure and test process. 
+
 alignbytes (alignbytes.U):
        This variable holds the number of bytes required to align a
        double-- or a long double when applicable. Usual values are
@@ -45,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.
@@ -53,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.
@@ -112,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,
@@ -130,17 +150,14 @@ 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.
 
 bison (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 bison program.  After Configure runs,
+       the value is reset to a plain "bison" and is not useful.
 
 byacc (Loc.U):
        This variable is used internally by Configure to determine the
@@ -148,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
@@ -174,8 +191,8 @@ cat (Loc.U):
 cc (cc.U):
        This variable holds the name of a command to execute a C compiler which
        can resolve multiple global references that happen to have the same
-       name.  Usual values are 'cc', 'Mcc', 'cc -M', and 'gcc'.
-       Fervent ANSI compilers may be called 'c89'. AIX has xlc.
+       name.  Usual values are 'cc' and 'gcc'.
+       Fervent ANSI compilers may be called 'c89'.  AIX has xlc.
 
 cccdlflags (dlsrc.U):
        This variable contains any special flags that might need to be
@@ -197,12 +214,24 @@ ccflags_uselargefiles (uselfs.U):
        This variable contains the compiler flags needed by large file builds
        and added to ccflags by hints files.
 
+ccname (Checkcc.U):
+       This can set either by hints files or by Configure.  If using
+       gcc, this is gcc, and if not, usually equal to cc, unimpressive, no?
+       Some platforms, however, make good use of this by storing the
+       flavor of the C compiler being used here.  For example if using
+       the Sun WorkShop suite, ccname will be 'workshop'.
+
 ccsymbols (Cppsym.U):
        The variable contains the symbols defined by the C compiler alone.
        The symbols defined by cpp or by cc when it calls cpp are not in
        this list, see cppsymbols and cppccsymbols.
        The list is a space-separated list of symbol=value tokens.
 
+ccversion (Checkcc.U):
+       This can set either by hints files or by Configure.  If using
+       a (non-gcc) vendor cc, this variable may contain a version for
+       the compiler.
+
 cf_by (cf_who.U):
        Login name of the person who ran the Configure script and answered the
        questions. This is used to tag both config.sh and config_h.SH.
@@ -224,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.
@@ -245,10 +275,6 @@ compress (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
 
-CONFIGDOTSH (Oldsyms.U):
-       This is set to 'true' in config.sh so that a shell script
-       sourcing config.sh can tell if it has been sourced already.
-
 contains (contains.U):
        This variable holds the command to do a grep with a proper return
        status.  On most sane systems it is simply "grep".  On insane systems
@@ -270,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):
@@ -313,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
@@ -328,6 +355,22 @@ 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.
+
 d_access (d_access.U):
        This variable conditionally defines HAS_ACCESS if the access() system
        call is available to check for access permissions using real IDs.
@@ -336,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.
@@ -345,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.
@@ -353,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
@@ -366,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.
@@ -416,24 +494,56 @@ 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.
 
+d_cmsghdr_s (d_cmsghdr_s.U):
+       This variable conditionally defines the HAS_STRUCT_CMSGHDR symbol,
+       which indicates that the struct cmsghdr is supported.
+
 d_const (d_const.U):
        This variable conditionally defines the HASCONST symbol, which
        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
@@ -444,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
@@ -471,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
@@ -490,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.
@@ -519,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
@@ -533,6 +698,10 @@ d_fcntl (d_fcntl.U):
        This variable conditionally defines the HAS_FCNTL symbol, and indicates
        whether the fcntl() function exists
 
+d_fcntl_can_lock (d_fcntl_can_lock.U):
+       This variable conditionally defines the FCNTL_CAN_LOCK symbol
+       and indicates whether file locking with fcntl() works.
+
 d_fd_macros (d_fd_set.U):
        This variable contains the eventual value of the HAS_FD_MACROS symbol,
        which indicates if your C compiler knows about the macros which
@@ -553,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.
@@ -561,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.
 
@@ -598,6 +797,10 @@ d_fstatvfs (d_statvfs.U):
        This variable conditionally defines the HAS_FSTATVFS symbol, which
        indicates to the C program that the fstatvfs() routine is available.
 
+d_fsync (d_fsync.U):
+       This variable conditionally defines the HAS_FSYNC symbol, which
+       indicates to the C program that the fsync() routine is available.
+
 d_ftello (d_ftello.U):
        This variable conditionally defines the HAS_FTELLO symbol, which
        indicates to the C program that the ftello() routine is available.
@@ -609,12 +812,24 @@ d_ftime (d_ftime.U):
 
 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
@@ -634,6 +849,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
@@ -658,17 +888,41 @@ d_gethname (d_gethname.U):
        indicates to the C program that the gethostname() routine may be
        used to derive the host name.
 
+d_gethostbyaddr_r (d_gethostbyaddr_r.U):
+       This variable conditionally defines the HAS_GETHOSTBYADDR_R symbol,
+       which indicates to the C program that the gethostbyaddr_r()
+       routine is available.
+
+d_gethostbyname_r (d_gethostbyname_r.U):
+       This variable conditionally defines the HAS_GETHOSTBYNAME_R symbol,
+       which indicates to the C program that the gethostbyname_r()
+       routine is available.
+
+d_gethostent_r (d_gethostent_r.U):
+       This variable conditionally defines the HAS_GETHOSTENT_R symbol,
+       which indicates to the C program that the gethostent_r()
+       routine is available.
+
 d_gethostprotos (d_gethostprotos.U):
        This variable conditionally defines the HAS_GETHOST_PROTOS symbol,
        which indicates to the C program that <netdb.h> supplies
        prototypes for the various gethost*() functions.  
        See also netdbtype.U for probing for various netdb types.
 
+d_getitimer (d_getitimer.U):
+       This variable conditionally defines the HAS_GETITIMER symbol, which
+       indicates to the C program that the getitimer() routine is available.
+
 d_getlogin (d_getlogin.U):
        This variable conditionally defines the HAS_GETLOGIN symbol, which
        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
@@ -693,12 +947,31 @@ d_getnent (d_getnent.U):
        This variable conditionally defines HAS_GETNETENT if getnetent() is
        available to look up network names in some data base or another.
 
+d_getnetbyaddr_r (d_getnetbyaddr_r.U):
+       This variable conditionally defines the HAS_GETNETBYADDR_R symbol,
+       which indicates to the C program that the getnetbyaddr_r()
+       routine is available.
+
+d_getnetbyname_r (d_getnetbyname_r.U):
+       This variable conditionally defines the HAS_GETNETBYNAME_R symbol,
+       which indicates to the C program that the getnetbyname_r()
+       routine is available.
+
+d_getnetent_r (d_getnetent_r.U):
+       This variable conditionally defines the HAS_GETNETENT_R symbol,
+       which indicates to the C program that the getnetent_r()
+       routine is available.
+
 d_getnetprotos (d_getnetprotos.U):
        This variable conditionally defines the HAS_GETNET_PROTOS symbol,
        which indicates to the C program that <netdb.h> supplies
        prototypes for the various getnet*() functions.  
        See also netdbtype.U for probing for various netdb types.
 
+d_getpagsz (d_getpagsz.U):
+       This variable conditionally defines HAS_GETPAGESIZE if getpagesize()
+       is available to get the system page size.
+
 d_getpbyname (d_getprotby.U):
        This variable conditionally defines the HAS_GETPROTOBYNAME 
        symbol, which indicates to the C program that the 
@@ -738,6 +1011,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
@@ -753,6 +1041,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 
@@ -769,6 +1072,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
@@ -779,11 +1097,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.
 
@@ -800,9 +1128,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
@@ -820,6 +1149,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.
@@ -847,6 +1184,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.
@@ -877,6 +1219,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
@@ -954,6 +1304,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.
@@ -995,6 +1358,10 @@ d_msgget (d_msgget.U):
        This variable conditionally defines the HAS_MSGGET symbol, which
        indicates to the C program that the msgget() routine is available.
 
+d_msghdr_s (d_msghdr_s.U):
+       This variable conditionally defines the HAS_STRUCT_MSGHDR symbol,
+       which indicates that the struct msghdr is supported.
+
 d_msgrcv (d_msgrcv.U):
        This variable conditionally defines the HAS_MSGRCV symbol, which
        indicates to the C program that the msgrcv() routine is available.
@@ -1020,13 +1387,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.
@@ -1091,38 +1462,39 @@ d_PRId64 (quadfio.U):
        indiciates that stdio has a symbol to print 64-bit decimal numbers.
 
 d_PRIeldbl (longdblfio.U):
-       This variable conditionally defines the PERL_PRIfldlbl symbol, which
+       This variable conditionally defines the PERL_PRIfldbl symbol, which
        indiciates that stdio has a symbol to print long doubles.
 
-d_PRIEldbl (longdblfio.U):
-       This variable conditionally defines the PERL_PRIfldlbl symbol, which
+d_PRIEUldbl (longdblfio.U):
+       This variable conditionally defines the PERL_PRIfldbl symbol, which
        indiciates that stdio has a symbol to print long doubles.
+       The 'U' in the name is to separate this from d_PRIeldbl so that even
+       case-blind systems can see the difference.
 
 d_PRIfldbl (longdblfio.U):
-       This variable conditionally defines the PERL_PRIfldlbl symbol, which
+       This variable conditionally defines the PERL_PRIfldbl symbol, which
        indiciates that stdio has a symbol to print long doubles.
 
-d_PRIFldbl (longdblfio.U):
-       This variable conditionally defines the PERL_PRIfldlbl symbol, which
+d_PRIFUldbl (longdblfio.U):
+       This variable conditionally defines the PERL_PRIfldbl symbol, which
        indiciates that stdio has a symbol to print long doubles.
+       The 'U' in the name is to separate this from d_PRIfldbl so that even
+       case-blind systems can see the difference.
 
 d_PRIgldbl (longdblfio.U):
-       This variable conditionally defines the PERL_PRIfldlbl symbol, which
+       This variable conditionally defines the PERL_PRIfldbl symbol, which
        indiciates that stdio has a symbol to print long doubles.
 
-d_PRIGldbl (longdblfio.U):
-       This variable conditionally defines the PERL_PRIfldlbl symbol, which
+d_PRIGUldbl (longdblfio.U):
+       This variable conditionally defines the PERL_PRIfldbl symbol, which
        indiciates that stdio has a symbol to print long doubles.
+       The 'U' in the name is to separate this from d_PRIgldbl so that even
+       case-blind systems can see the difference.
 
 d_PRIi64 (quadfio.U):
        This variable conditionally defines the PERL_PRIi64 symbol, which
        indiciates that stdio has a symbol to print 64-bit decimal numbers.
 
-d_printf_exp_digits (d_printfed.U):
-       This symbol's value is either 2 or 3, corresponding to the
-       number of exponent digits produced by the system's sprintf %[FGfg]
-       formats when the modulus of the exponent is 99 or less.
-
 d_PRIo64 (quadfio.U):
        This variable conditionally defines the PERL_PRIo64 symbol, which
        indiciates that stdio has a symbol to print 64-bit octal numbers.
@@ -1136,9 +1508,25 @@ d_PRIx64 (quadfio.U):
        This variable conditionally defines the PERL_PRIx64 symbol, which
        indiciates that stdio has a symbol to print 64-bit hexadecimal numbers.
 
-d_PRIX64 (quadfio.U):
-       This variable conditionally defines the PERL_PRIX64 symbol, which
+d_PRIXU64 (quadfio.U):
+       This variable conditionally defines the PERL_PRIXU64 symbol, which
        indiciates that stdio has a symbol to print 64-bit hExADECimAl numbers.
+       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
@@ -1185,15 +1573,38 @@ 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
        to read the value of a symbolic link.
 
+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_recvmsg (d_recvmsg.U):
+       This variable conditionally defines the HAS_RECVMSG symbol, which
+       indicates to the C program that the recvmsg() routine is available.
+
 d_rename (d_rename.U):
        This variable conditionally defines the HAS_RENAME symbol, which
        indicates to the C program that the rename() routine is available
@@ -1209,17 +1620,30 @@ 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
        the memcpy() routine is available and can be used to compare relative
        magnitudes of chars with their high bits set.
 
+d_sbrkproto (d_sbrkproto.U):
+       This variable conditionally defines the HAS_SBRK_PROTO symbol,
+       which indicates to the C program that the system provides
+       a prototype for the sbrk() function.  Otherwise, it is
+       up to the program to supply one.
+
+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
@@ -1230,6 +1654,10 @@ d_scm_rights (d_socket.U):
        which indicates that the SCM_RIGHTS is available.  #ifdef is
        not enough because it may be an enum, glibc has been known to do this.
 
+d_SCNfldbl (longdblfio.U):
+       This variable conditionally defines the PERL_PRIfldbl symbol, which
+       indiciates that stdio has a symbol to scan long doubles.
+
 d_seekdir (d_readdir.U):
        This variable conditionally defines HAS_SEEKDIR if seekdir() is
        available.
@@ -1263,6 +1691,10 @@ d_semop (d_semop.U):
        This variable conditionally defines the HAS_SEMOP symbol, which
        indicates to the C program that the semop() routine is available.
 
+d_sendmsg (d_sendmsg.U):
+       This variable conditionally defines the HAS_SENDMSG symbol, which
+       indicates to the C program that the sendmsg() routine is available.
+
 d_setegid (d_setegid.U):
        This variable conditionally defines the HAS_SETEGID symbol, which
        indicates to the C program that the setegid() routine is available
@@ -1278,6 +1710,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
@@ -1287,6 +1724,15 @@ 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.
+
 d_setlinebuf (d_setlnbuf.U):
        This variable conditionally defines the HAS_SETLINEBUF symbol, which
        indicates to the C program that the setlinebuf() routine is available
@@ -1297,10 +1743,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.
@@ -1327,11 +1783,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
@@ -1366,6 +1832,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.
@@ -1408,11 +1879,26 @@ d_sigaction (d_sigaction.U):
        This variable conditionally defines the HAS_SIGACTION symbol, which
        indicates that the Vr4 sigaction() routine is available.
 
+d_sigprocmask (d_sigprocmask.U):
+       This variable conditionally defines HAS_SIGPROCMASK
+       if sigprocmask() is available to examine or change the signal mask
+       of the calling process.
+
 d_sigsetjmp (d_sigsetjmp.U):
        This variable conditionally defines the HAS_SIGSETJMP symbol,
        which indicates that the sigsetjmp() routine is available to
        call setjmp() and optionally save the process's signal mask.
 
+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.
@@ -1424,10 +1910,36 @@ d_sockpair (d_socket.U):
        This variable conditionally defines the HAS_SOCKETPAIR symbol, which
        indicates that the BSD socketpair() is supported.
 
+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_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
+       a prototype for the setresuid() function.  Otherwise, it is
+       up to the program to supply one.
+
 d_statblks (d_statblks.U):
        This variable conditionally defines USE_STAT_BLOCKS
        if this system has a stat structure declaring
@@ -1455,6 +1967,15 @@ d_stdio_ptr_lval (d_stdstdio.U):
        This variable conditionally defines STDIO_PTR_LVALUE if the
        FILE_ptr macro can be used as an lvalue.
 
+d_stdio_ptr_lval_nochange_cnt (d_stdstdio.U):
+       This symbol is defined if using the FILE_ptr macro as an lvalue
+       to increase the pointer by n leaves File_cnt(fp) unchanged.
+
+d_stdio_ptr_lval_sets_cnt (d_stdstdio.U):
+       This symbol is defined if using the FILE_ptr macro as an lvalue
+       to increase the pointer by n has the side effect of decreasing the
+       value of File_cnt(fp) by n.
+
 d_stdio_stream_array (stdio_streams.U):
        This variable tells whether there is an array holding
        the stdio streams.
@@ -1492,6 +2013,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
@@ -1510,6 +2048,10 @@ d_strtoll (d_strtoll.U):
        This variable conditionally defines the HAS_STRTOLL symbol, which
        indicates to the C program that the strtoll() routine is available.
 
+d_strtoq (d_strtoq.U):
+       This variable conditionally defines the HAS_STRTOQ symbol, which
+       indicates to the C program that the strtoq() routine is available.
+
 d_strtoul (d_strtoul.U):
        This variable conditionally defines the HAS_STRTOUL symbol, which
        indicates to the C program that the strtoul() routine is available
@@ -1540,6 +2082,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
@@ -1587,14 +2135,40 @@ 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.
 
+d_u32align (d_u32align.U):
+       This variable tells whether you must access character data
+       through U32-aligned pointers.
+
+d_ualarm (d_ualarm.U):
+       This variable conditionally defines the HAS_UALARM symbol, which
+       indicates to the C program that the ualarm() routine is available.
+
 d_umask (d_umask.U):
        This variable conditionally defines the HAS_UMASK symbol, which
        indicates to the C program that the umask() routine is available.
@@ -1609,6 +2183,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.
@@ -1622,6 +2214,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.
@@ -1669,6 +2264,10 @@ d_wctomb (d_wctomb.U):
        indicates to the C program that the wctomb() routine is available
        to convert a wide character to a multibyte.
 
+d_writev (d_writev.U):
+       This variable conditionally defines the HAS_WRITEV symbol, which
+       indicates to the C program that the writev() routine is available.
+
 d_xenix (Guess.U):
        This variable conditionally defines the symbol XENIX, which alerts
        the C program that it runs under Xenix.
@@ -1688,6 +2287,20 @@ db_prefixtype (i_db.U):
        in the <db.h> header file.  In older versions of DB, it was
        int, while in newer ones it is size_t.
 
+db_version_major (i_db.U):
+       This variable contains the major version number of
+       Berkeley DB found in the <db.h> header file.
+
+db_version_minor (i_db.U):
+       This variable contains the minor version number of
+       Berkeley DB found in the <db.h> header file.
+       For DB version 1 this is always 0.
+
+db_version_patch (i_db.U):
+       This variable contains the patch version number of
+       Berkeley DB found in the <db.h> header file.
+       For DB version 1 this is always 0.
+
 defvoidused (voidflags.U):
        This variable contains the default value of the VOIDUSED symbol (15).
 
@@ -1715,6 +2328,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.
@@ -1744,6 +2363,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
@@ -1763,6 +2418,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
@@ -1799,6 +2457,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
@@ -1818,16 +2482,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.
 
@@ -1848,6 +2637,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,
@@ -1890,11 +2695,26 @@ hostcat (nis.U):
        On some systems, such as os390, there may be no equivalent
        command, in which case this variable is unset.
 
-huge (models.U):
-       This variable contains a flag which will tell the C compiler and loader
-       to produce a program running with a huge memory model.  If the
-       huge model is not supported, contains the flag to produce large
-       model programs.  It is up to the Makefile to use this.
+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.
@@ -1929,6 +2749,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>.
@@ -1961,6 +2785,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
@@ -1970,10 +2802,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>.
@@ -1982,6 +2810,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>.
@@ -2300,6 +3132,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
@@ -2344,11 +3186,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
@@ -2361,9 +3232,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".
 
@@ -2382,15 +3271,45 @@ 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.
 
+issymlink (issymlink.U):
+       This variable holds the test command to test for a symbolic link
+       (if they are supported).  Typical values include 'test -h' and
+       'test -L'.
+
 ivdformat (perlxvf.U):
        This variable contains the format string used for printing
        a Perl IV as a signed decimal integer. 
@@ -2409,11 +3328,6 @@ ksh (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
 
-large (models.U):
-       This variable contains a flag which will tell the C compiler and loader
-       to produce a program running with a large memory model.  It is up to
-       the Makefile to use this.
-
 ld (dlsrc.U):
        This variable indicates the program to be used to link
        libraries for dynamic loading.  On some systems, it is 'ld'.
@@ -2464,7 +3378,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
@@ -2514,6 +3428,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
@@ -2581,9 +3501,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.
 
@@ -2637,16 +3560,18 @@ Mcc (Loc.U):
        full pathname (if any) of the Mcc program.  After Configure runs,
        the value is reset to a plain "Mcc" and is not useful.
 
-medium (models.U):
-       This variable contains a flag which will tell the C compiler and loader
-       to produce a program running with a medium memory model.  If the
-       medium model is not supported, contains the flag to produce large
-       model programs.  It is up to the Makefile to use this.
-
 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,
@@ -2657,11 +3582,6 @@ mmaptype (d_mmap.U):
        (and simultaneously the type of the first argument).
        It can be 'void *' or 'caddr_t'.
 
-models (models.U):
-       This variable contains the list of memory models supported by this
-       system.  Possible component values are none, split, unsplit, small,
-       medium, large, and huge.  The component values are space separated.
-
 modetype (modetype.U):
        This variable defines modetype to be something like mode_t, 
        int, unsigned short, or whatever type is used to declare file 
@@ -2708,6 +3628,15 @@ n (n.U):
        command to suppress newline.  Otherwise it is null.  Correct usage is
        $echo $n "prompt for a question: $c".
 
+need_va_copy (need_va_copy.U):
+       This symbol, if defined, indicates that the system stores
+       the variable argument list datatype, va_list, in a format
+       that cannot be copied by simple assignment, so that some
+       other means must be used when copying is required.
+       As such systems vary in their provision (or non-provision)
+       of copying mechanisms, handy.h defines a platform-
+       independent macro, Perl_va_copy(src, dst), to do the job.
+
 netdb_hlen_type (netdbtype.U):
        This variable holds the type used for the 2nd argument to
        gethostbyaddr().  Usually, this is int or size_t or unsigned.
@@ -2754,6 +3683,34 @@ 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.
+
+nvEUformat (perlxvf.U):
+       This variable contains the format string used for printing
+       a Perl NV using %E-ish floating point format.
+
+nvfformat (perlxvf.U):
+       This variable confains the format string used for printing
+       a Perl NV using %f-ish floating point format.
+
+nvFUformat (perlxvf.U):
+       This variable confains the format string used for printing
+       a Perl NV using %F-ish floating point format.
+
+nvgformat (perlxvf.U):
+       This variable contains the format string used for printing
+       a Perl NV using %g-ish floating point format.
+
+nvGUformat (perlxvf.U):
+       This variable contains the format string used for printing
+       a Perl NV using %G-ish floating point format.
+
 nvsize (perlxv.U):
        This variable is the size of an NV in bytes.
 
@@ -2844,6 +3801,14 @@ perl (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
 
+perl_patchlevel (patchlevel.U):
+       This is the Perl patch level, a numeric change identifier,
+       as defined by whichever source code maintenance system
+       is used to maintain the patches; currently Perforce.
+       It does not correlate with the Perl version numbers or
+       the maintenance versus development dichotomy except
+       by also being increasing.
+
 PERL_REVISION (Oldsyms.U):
        In a Perl version number such as 5.6.2, this is the 5.
        This value is manually set in patchlevel.h
@@ -2861,10 +3826,20 @@ PERL_VERSION (Oldsyms.U):
 perladmin (perladmin.U):
        Electronic mail address of the perl5 administrator.
 
+perllibs (End.U):
+       The list of libraries needed by Perl only (any libraries needed
+       by extensions only will by dropped, if using dynamic loading).
+
 perlpath (perlpath.U):
        This variable contains the eventual value of the PERLPATH symbol,
        which contains the name of the perl interpreter to be used in
-       shell scripts and in the "eval 'exec'" idiom.
+       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
@@ -2886,21 +3861,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.
@@ -2930,6 +3890,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.
@@ -2956,6 +3921,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.
 
@@ -2970,6 +3941,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".
@@ -2984,6 +3967,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
@@ -3030,6 +4019,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
@@ -3069,7 +4100,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):
@@ -3082,8 +4113,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
@@ -3094,10 +4125,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
@@ -3105,6 +4136,10 @@ sig_num_init (sig_name.U):
        below.  A "ZERO" is prepended to the list, and the list is 
        terminated with a plain 0.
 
+sig_size (sig_name.U):
+       This variable contains the number of elements of the sig_name
+       and sig_num arrays.
+
 signal_t (d_voidsig.U):
        This variable holds the type of the signal handler (void or int).
 
@@ -3138,6 +4173,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
@@ -3158,6 +4223,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.
@@ -3167,6 +4262,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.
 
@@ -3183,11 +4293,6 @@ smail (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
 
-small (models.U):
-       This variable contains a flag which will tell the C compiler and loader
-       to produce a program running with a small memory model.  It is up to
-       the Makefile to use this.
-
 so (so.U):
        This variable holds the extension used to identify shared libraries
        (also known as shared objects) on the system. Usually set to 'so'.
@@ -3217,12 +4322,6 @@ spitshell (spitshell.U):
        This variable contains the command necessary to spit out a runnable
        shell on this system.  It is either cat or a grep '-v' for # comments.
 
-split (models.U):
-       This variable contains a flag which will tell the C compiler and loader
-       to produce a program that will run in separate I and D space, for those
-       machines that support separation of instruction and data space.  It is
-       up to the Makefile to use this.
-
 sPRId64 (quadfio.U):
        This variable, if defined, contains the string used by stdio to
        format 64-bit decimal numbers (format 'd') for output.
@@ -3231,25 +4330,31 @@ sPRIeldbl (longdblfio.U):
        This variable, if defined, contains the string used by stdio to
        format long doubles (format 'e') for output.
 
-sPRIEldbl (longdblfio.U):
+sPRIEUldbl (longdblfio.U):
        This variable, if defined, contains the string used by stdio to
        format long doubles (format 'E') for output.
+       The 'U' in the name is to separate this from sPRIeldbl so that even
+       case-blind systems can see the difference.
 
 sPRIfldbl (longdblfio.U):
        This variable, if defined, contains the string used by stdio to
        format long doubles (format 'f') for output.
 
-sPRIFldbl (longdblfio.U):
+sPRIFUldbl (longdblfio.U):
        This variable, if defined, contains the string used by stdio to
        format long doubles (format 'F') for output.
+       The 'U' in the name is to separate this from sPRIfldbl so that even
+       case-blind systems can see the difference.
 
 sPRIgldbl (longdblfio.U):
        This variable, if defined, contains the string used by stdio to
        format long doubles (format 'g') for output.
 
-sPRIGldbl (longdblfio.U):
+sPRIGUldbl (longdblfio.U):
        This variable, if defined, contains the string used by stdio to
        format long doubles (format 'G') for output.
+       The 'U' in the name is to separate this from sPRIgldbl so that even
+       case-blind systems can see the difference.
 
 sPRIi64 (quadfio.U):
        This variable, if defined, contains the string used by stdio to
@@ -3267,15 +4372,33 @@ sPRIx64 (quadfio.U):
        This variable, if defined, contains the string used by stdio to
        format 64-bit hexadecimal numbers (format 'x') for output.
 
-sPRIX64 (quadfio.U):
+sPRIXU64 (quadfio.U):
        This variable, if defined, contains the string used by stdio to
        format 64-bit hExADECimAl numbers (format 'X') for output.
+       The 'U' in the name is to separate this from sPRIx64 so that even
+       case-blind systems can see the difference.
+
+srand48_r_proto (d_srand48_r.U):
+       This variable encodes the prototype of srand48_r.
+       It is zero if d_srand48_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
+       is defined.
+
+srandom_r_proto (d_srandom_r.U):
+       This variable encodes the prototype of srandom_r.
+       It is zero if d_srandom_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
+       is defined.
 
 src (src.U):
        This variable holds the path to the package source. It is up to
        the Makefile to use this variable and set VPATH accordingly to
        find the sources remotely.
 
+sSCNfldbl (longdblfio.U):
+       This variable, if defined, contains the string used by stdio to
+       format long doubles (format 'f') for input.
+
 ssizetype (ssizetype.U):
        This variable defines ssizetype to be something like ssize_t, 
        long or int.  It is used by functions that return a count 
@@ -3323,7 +4446,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):
@@ -3335,6 +4458,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.
@@ -3364,6 +4493,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.
@@ -3385,6 +4518,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,
@@ -3405,6 +4550,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.
 
@@ -3481,10 +4632,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
@@ -3499,6 +4659,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
@@ -3538,6 +4702,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
@@ -3546,8 +4724,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,
@@ -3590,7 +4768,11 @@ uvuformat (perlxvf.U):
 
 uvxformat (perlxvf.U):
        This variable contains the format string used for printing
-       a Perl UV as an unsigned hexadecimal integer. 
+       a Perl UV as an unsigned hexadecimal integer in lowercase abcdef.
+
+uvXUformat (perlxvf.U):
+       This variable contains the format string used for printing
+       a Perl UV as an unsigned hexadecimal integer in uppercase ABCDEF.
 
 vendorarch (vendorarch.U):
        This variable contains the value of the PERL_VENDORARCH symbol.
@@ -3618,6 +4800,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.
@@ -3636,6 +4844,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.
@@ -3645,6 +4879,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
@@ -3652,6 +4899,27 @@ 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.
+       This may be useful for making a test installation of a new
+       version without disturbing the existing installation.
+       Setting versiononly is equivalent to setting installperl's -v option.
+       In particular, the non-versioned scripts and programs such as
+       a2p, c2ph, h2xs, pod2*, and perldoc are not installed
+       (see INSTALL for a more complete list).  Nor are the man
+       pages installed.
+       Usually, this is undef.
+
 vi (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
@@ -3666,22 +4934,13 @@ 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.
+
+yaccflags (yacc.U):
+       This variable contains any additional yacc flags desired by the
+       user.  It is up to the Makefile to use this.
 
 zcat (Loc.U):
        This variable is defined but not used by Configure.