This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Document better what the foo_r_proto are supposed to be.
[perl5.git] / Porting / Glossary
index 2b59210..f2d71b9 100644 (file)
@@ -5,13 +5,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.
@@ -118,6 +120,12 @@ archobjs (Unix.U):
        or other facilities.  For perl on OS/2, for example, this would
        include os2/os2.obj.
 
+asctime_r_proto (d_asctime_r.U):
+       This variable encodes the prototype of asctime_r.
+       It is zero if d_asctime_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
+       is defined.
+
 awk (Loc.U):
        This variable is used internally by Configure to determine the
        full pathname (if any) of the awk program.  After Configure runs,
@@ -136,10 +144,6 @@ bin (bin.U):
        is most often a local directory such as /usr/local/bin. Programs using
        this variable must be prepared to deal with ~name substitution.
 
-bincompat5005 (bincompat5005.U):
-       This variable contains y if this version of Perl should be
-       binary-compatible with Perl 5.005.
-
 binexp (bin.U):
        This is the same as the bin variable, but is filename expanded at
        configuration time, for use in your makefiles.
@@ -155,10 +159,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
@@ -329,6 +333,12 @@ cppsymbols (Cppsym.U):
        not in this list, see ccsymbols and cppccsymbols.
        The list is a space-separated list of symbol=value tokens.
 
+crypt_r_proto (d_crypt_r.U):
+       This variable encodes the prototype of crypt_r.
+       It is zero if d_crypt_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
+       is defined.
+
 cryptlib (d_crypt.U):
        This variable holds -lcrypt or the path to a libcrypt.a archive if
        the crypt() function is not defined in the standard C library. It is
@@ -339,6 +349,18 @@ csh (Loc.U):
        full pathname (if any) of the csh program.  After Configure runs,
        the value is reset to a plain "csh" and is not useful.
 
+ctermid_r_proto (d_ctermid_r.U):
+       This variable encodes the prototype of ctermid_r.
+       It is zero if d_ctermid_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
+       is defined.
+
+ctime_r_proto (d_ctime_r.U):
+       This variable encodes the prototype of ctime_r.
+       It is zero if d_ctime_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
+       is defined.
+
 d__fwalk (d__fwalk.U):
        This variable conditionally defines HAS__FWALK if _fwalk() is
        available to apply a function to all the file handles.
@@ -360,6 +382,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.
@@ -381,13 +408,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.
@@ -453,10 +473,25 @@ d_crypt (d_crypt.U):
        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
@@ -505,6 +540,11 @@ d_dosuid (d_dosuid.U):
        tells the C program that it should insert setuid emulation code
        on hosts which have setuid #! scripts disabled.
 
+d_drand48_r (d_drand48_r.U):
+       This variable conditionally defines the HAS_DRAND48_R symbol,
+       which indicates to the C program that the drand48_r()
+       routine is available.
+
 d_drand48proto (d_drand48proto.U):
        This variable conditionally defines the HAS_DRAND48_PROTO symbol,
        which indicates to the C program that the system provides
@@ -524,27 +564,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.
@@ -685,16 +755,23 @@ 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))'
-       If you are not content with these choices, use gconvert_preference
-       and gconvert_ld_preference, which if present are space-separated
-       lists of functions to try with calling convention of gcvt,
-       respectively for doubles and long doubles.
+       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
@@ -714,6 +791,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
@@ -738,6 +830,21 @@ d_gethname (d_gethname.U):
        indicates to the C program that the gethostname() routine may be
        used to derive the host name.
 
+d_gethostbyaddr_r (d_gethostbyaddr_r.U):
+       This variable conditionally defines the HAS_GETHOSTBYADDR_R symbol,
+       which indicates to the C program that the gethostbyaddr_r()
+       routine is available.
+
+d_gethostbyname_r (d_gethostbyname_r.U):
+       This variable conditionally defines the HAS_GETHOSTBYNAME_R symbol,
+       which indicates to the C program that the gethostbyname_r()
+       routine is available.
+
+d_gethostent_r (d_gethostent_r.U):
+       This variable conditionally defines the HAS_GETHOSTENT_R symbol,
+       which indicates to the C program that the gethostent_r()
+       routine is available.
+
 d_gethostprotos (d_gethostprotos.U):
        This variable conditionally defines the HAS_GETHOST_PROTOS symbol,
        which indicates to the C program that <netdb.h> supplies
@@ -753,6 +860,11 @@ d_getlogin (d_getlogin.U):
        indicates to the C program that the getlogin() routine is available
        to get the login name.
 
+d_getlogin_r (d_getlogin_r.U):
+       This variable conditionally defines the HAS_GETLOGIN_R symbol,
+       which indicates to the C program that the getlogin_r()
+       routine is available.
+
 d_getmnt (d_getmnt.U):
        This variable conditionally defines the HAS_GETMNT symbol, which
        indicates to the C program that the getmnt() routine is available
@@ -777,6 +889,21 @@ d_getnent (d_getnent.U):
        This variable conditionally defines HAS_GETNETENT if getnetent() is
        available to look up network names in some data base or another.
 
+d_getnetbyaddr_r (d_getnetbyaddr_r.U):
+       This variable conditionally defines the HAS_GETNETBYADDR_R symbol,
+       which indicates to the C program that the getnetbyaddr_r()
+       routine is available.
+
+d_getnetbyname_r (d_getnetbyname_r.U):
+       This variable conditionally defines the HAS_GETNETBYNAME_R symbol,
+       which indicates to the C program that the getnetbyname_r()
+       routine is available.
+
+d_getnetent_r (d_getnetent_r.U):
+       This variable conditionally defines the HAS_GETNETENT_R symbol,
+       which indicates to the C program that the getnetent_r()
+       routine is available.
+
 d_getnetprotos (d_getnetprotos.U):
        This variable conditionally defines the HAS_GETNET_PROTOS symbol,
        which indicates to the C program that <netdb.h> supplies
@@ -826,6 +953,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
@@ -841,6 +983,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 
@@ -857,6 +1014,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
@@ -867,11 +1039,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.
 
@@ -939,6 +1121,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.
@@ -1131,10 +1318,6 @@ 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_off64_t (d_off64_t.U):
        This symbol will be defined if the C compiler supports off64_t.
 
@@ -1304,10 +1487,25 @@ d_quad (quadtype.U):
        This variable, if defined, tells that there's a 64-bit integer type,
        quadtype.
 
+d_random_r (d_random_r.U):
+       This variable conditionally defines the HAS_RANDOM_R symbol,
+       which indicates to the C program that the random_r()
+       routine is available.
+
+d_readdir64_r (d_readdir64_r.U):
+       This variable conditionally defines the HAS_READDIR64_R symbol,
+       which indicates to the C program that the readdir64_r()
+       routine is available.
+
 d_readdir (d_readdir.U):
        This variable conditionally defines HAS_READDIR if readdir() is
        available to read directory entries.
 
+d_readdir_r (d_readdir_r.U):
+       This variable conditionally defines the HAS_READDIR_R symbol,
+       which indicates to the C program that the readdir_r()
+       routine is available.
+
 d_readlink (d_readlink.U):
        This variable conditionally defines the HAS_READLINK symbol, which
        indicates to the C program that the readlink() routine is available
@@ -1421,6 +1619,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
@@ -1430,6 +1633,11 @@ d_sethent (d_sethent.U):
        This variable conditionally defines HAS_SETHOSTENT if sethostent() is
        available.
 
+d_sethostent_r (d_sethostent_r.U):
+       This variable conditionally defines the HAS_SETHOSTENT_R symbol,
+       which indicates to the C program that the sethostent_r()
+       routine is available.
+
 d_setitimer (d_setitimer.U):
        This variable conditionally defines the HAS_SETITIMER symbol, which
        indicates to the C program that the setitimer() routine is available.
@@ -1444,10 +1652,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.
@@ -1474,11 +1692,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
@@ -1513,6 +1741,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.
@@ -1594,6 +1827,16 @@ 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
@@ -1679,6 +1922,11 @@ 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.
@@ -1788,10 +2036,28 @@ d_times (d_times.U):
        that the times() routine exists.  The times() routine is normaly
        provided on UNIX systems. You may have to include <sys/times.h>.
 
+d_tm_tm_gmtoff (i_time.U):
+       This variable conditionally defines HAS_TM_TM_GMTOFF, which indicates
+       indicates to the C program that the struct tm has the tm_gmtoff field.
+
+d_tm_tm_zone (i_time.U):
+       This variable conditionally defines HAS_TM_TM_ZONE, which indicates
+       indicates to the C program that the struct tm has the tm_zone field.
+
+d_tmpnam_r (d_tmpnam_r.U):
+       This variable conditionally defines the HAS_TMPNAM_R symbol,
+       which indicates to the C program that the tmpnam_r()
+       routine is available.
+
 d_truncate (d_truncate.U):
        This variable conditionally defines HAS_TRUNCATE if truncate() is
        available to truncate files.
 
+d_ttyname_r (d_ttyname_r.U):
+       This variable conditionally defines the HAS_TTYNAME_R symbol,
+       which indicates to the C program that the ttyname_r()
+       routine is available.
+
 d_tzname (d_tzname.U):
        This variable conditionally defines HAS_TZNAME if tzname[] is
        available to access timezone names.
@@ -1956,6 +2222,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.
@@ -1985,6 +2257,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
@@ -2078,6 +2386,126 @@ gccversion (gccvers.U):
        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.
 
@@ -2103,6 +2531,12 @@ gmake (Loc.U):
        full pathname (if any) of the gmake program.  After Configure runs,
        the value is reset to a plain "gmake" and is not useful.
 
+gmtime_r_proto (d_gmtime_r.U):
+       This variable encodes the prototype of gmtime_r.
+       It is zero if d_gmtime_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
+       is defined.
+
 grep (Loc.U):
        This variable is used internally by Configure to determine the
        full pathname (if any) of the grep program.  After Configure runs,
@@ -2178,6 +2612,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>.
@@ -2721,7 +3159,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
@@ -2771,6 +3209,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
@@ -3009,6 +3453,10 @@ nroff (Loc.U):
        full pathname (if any) of the nroff program.  After Configure runs,
        the value is reset to a plain "nroff" and is not useful.
 
+nv_preserves_uv_bits (perlxv.U):
+       This variable indicates how many of bits type uvtype
+       a variable nvtype can preserve.
+
 nveformat (perlxvf.U):
        This variable contains the format string used for printing
        a Perl NV using %e-ish floating point format.
@@ -3252,6 +3700,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.
 
@@ -3266,6 +3720,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".
@@ -3332,6 +3798,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
@@ -3574,6 +4082,18 @@ sPRIXU64 (quadfio.U):
        The 'U' in the name is to separate this from sPRIx64 so that even
        case-blind systems can see the difference.
 
+srand48_r_proto (d_srand48_r.U):
+       This variable encodes the prototype of srand48_r.
+       It is zero if d_srand48_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
+       is defined.
+
+srandom_r_proto (d_srandom_r.U):
+       This variable encodes the prototype of srandom_r.
+       It is zero if d_srandom_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
+       is defined.
+
 src (src.U):
        This variable holds the path to the package source. It is up to
        the Makefile to use this variable and set VPATH accordingly to
@@ -3642,6 +4162,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.
@@ -3696,6 +4222,12 @@ timetype (d_time.U):
        or time_t on BSD sites (in which case <sys/types.h> should be
        included). Anyway, the type Time_t should be used.
 
+tmpnam_r_proto (d_tmpnam_r.U):
+       This variable encodes the prototype of tmpnam_r.
+       It is zero if d_tmpnam_r is undef, and one of the
+       REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
+       is defined.
+
 to (Cross.U):
        This variable contains the command used by Configure
        to copy to from the target host.  Useful and available
@@ -3722,6 +4254,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.
 
@@ -4029,8 +4567,8 @@ xs_apiversion (xs_apiversion.U):
        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
+       Since this can depend on compile time options
+       it is set by Configure.  Other non-default sources
        of potential incompatibility, such as multiplicity, threads,
        debugging, 64bits, sfio, etc., are not checked for currently,
        though in principle we could go snooping around in old