This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Math-BigInt to CPAN version 1.999816
[perl5.git] / Porting / Glossary
index 0fbac11..e285e52 100644 (file)
@@ -41,10 +41,6 @@ alignbytes (alignbytes.U):
        double-- or a long double when applicable. Usual values are
        2, 4 and 8.  The default is eight, for safety.
 
-ansi2knr (ansi2knr.U):
-       This variable is set if the user needs to run ansi2knr.
-       Currently, this is not supported, so we just abort.
-
 aphostname (d_gethname.U):
        This variable contains the command which can be used to compute the
        host name. The command is fully qualified by its absolute path, to make
@@ -397,6 +393,10 @@ 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_accept4 (d_accept4.U):
+       This variable conditionally defines HAS_ACCEPT4 if accept4() is
+       available to accept socket connections.
+
 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.
@@ -405,6 +405,10 @@ 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_acosh (d_acosh.U):
+       This variable conditionally defines the HAS_ACOSH symbol, which
+       indicates to the C program that the acosh() 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.
@@ -428,6 +432,14 @@ d_asctime_r (d_asctime_r.U):
        which indicates to the C program that the asctime_r()
        routine is available.
 
+d_asinh (d_asinh.U):
+       This variable conditionally defines the HAS_ASINH symbol, which
+       indicates to the C program that the asinh() routine is available.
+
+d_atanh (d_atanh.U):
+       This variable conditionally defines the HAS_ATANH symbol, which
+       indicates to the C program that the atanh() 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.
@@ -478,13 +490,10 @@ d_attribute_warn_unused_result (d_attribut.U):
        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
-       the bcmp() routine is available to compare strings.
-
-d_bcopy (d_bcopy.U):
-       This variable conditionally defines the HAS_BCOPY symbol if
-       the bcopy() routine is available to copy strings.
+d_backtrace (d_backtrace.U):
+       This variable conditionally defines the HAS_BACKTRACE symbol, which
+       indicates to the C program that the backtrace() routine is available
+       to get a stack trace.
 
 d_bsd (Guess.U):
        This symbol conditionally defines the symbol BSD when running on a
@@ -499,6 +508,11 @@ d_bsdsetpgrp (d_setpgrp.U):
        setpgrp needs two arguments whereas USG one needs none.
        See also d_setpgid for a POSIX interface.
 
+d_builtin_add_overflow (d_builtin_overflow.U):
+       This variable conditionally defines HAS_BUILTIN_ADD_OVERFLOW, which
+       indicates that the compiler supports __builtin_add_overflow(x,y,&z)
+       for safely adding x and y into z while checking for overflow.
+
 d_builtin_choose_expr (d_builtin.U):
        This conditionally defines HAS_BUILTIN_CHOOSE_EXPR, which
        indicates that the compiler supports __builtin_choose_expr(x,y,z).
@@ -513,9 +527,15 @@ d_builtin_expect (d_builtin.U):
        __builtin_expect to provide the compiler with branch prediction
        information.
 
-d_bzero (d_bzero.U):
-       This variable conditionally defines the HAS_BZERO symbol if
-       the bzero() routine is available to set memory to 0.
+d_builtin_mul_overflow (d_builtin_overflow.U):
+       This variable conditionally defines HAS_BUILTIN_MUL_OVERFLOW, which
+       indicates that the compiler supports __builtin_mul_overflow(x,y,&z)
+       for safely multiplying x and y into z while checking for overflow.
+
+d_builtin_sub_overflow (d_builtin_overflow.U):
+       This variable conditionally defines HAS_BUILTIN_SUB_OVERFLOW, which
+       indicates that the compiler supports __builtin_sub_overflow(x,y,&z)
+       for safely subtracting y from x into z while checking for overflow.
 
 d_c99_variadic_macros (d_c99_variadic.U):
        This variable conditionally defines the HAS_C99_VARIADIC_MACROS
@@ -530,10 +550,10 @@ d_castneg (d_castneg.U):
        This variable conditionally defines CASTNEG, which indicates
        whether the C compiler can cast negative float to unsigned.
 
-d_charvspr (d_vprintf.U):
-       This variable conditionally defines CHARVSPRINTF if this system
-       has vsprintf returning type (char*).  The trend seems to be to
-       declare it as "int vsprintf()".
+d_cbrt (d_cbrt.U):
+       This variable conditionally defines the HAS_CBRT symbol, which
+       indicates to the C program that the cbrt() (cube root) function
+       is available.
 
 d_chown (d_chown.U):
        This variable conditionally defines the HAS_CHOWN symbol, which
@@ -564,10 +584,9 @@ 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_copysign (d_copysign.U):
+       This variable conditionally defines the HAS_COPYSIGN symbol, which
+       indicates to the C program that the copysign() routine is available.
 
 d_copysignl (d_copysignl.U):
        This variable conditionally defines the HAS_COPYSIGNL symbol, which
@@ -616,11 +635,6 @@ d_cuserid (d_cuserid.U):
        indicates to the C program that the cuserid() routine is available
        to get character login names.
 
-d_dbl_dig (d_dbl_dig.U):
-       This variable conditionally defines d_dbl_dig if this system's
-       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
@@ -650,6 +664,11 @@ d_dirnamlen (i_dirent.U):
        to the C program that the length of directory entry names is
        provided by a d_namelen field.
 
+d_dladdr (d_dladdr.U):
+       This variable conditionally defines the HAS_DLADDR symbol, which
+       indicates to the C program that the dladdr() routine is available
+       to get a stack trace.
+
 d_dlerror (d_dlerror.U):
        This variable conditionally defines the HAS_DLERROR symbol, which
        indicates to the C program that the dlerror() routine is available.
@@ -668,6 +687,38 @@ d_dosuid (d_dosuid.U):
        tells the C program that it should insert setuid emulation code
        on hosts which have setuid #! scripts disabled.
 
+d_double_has_inf (longdblfio.U):
+       This variable conditionally defines the symbol DOUBLE_HAS_INF
+       which indicates that the double type has an infinity.
+
+d_double_has_nan (longdblfio.U):
+       This variable conditionally defines the symbol DOUBLE_HAS_NAN
+       which indicates that the double type has a not-a-number.
+
+d_double_has_negative_zero (longdblfio.U):
+       This variable conditionally defines the symbol DOUBLE_HAS_NEGATIVE_ZERO
+       which indicates that the double type has a negative zero.
+
+d_double_has_subnormals (longdblfio.U):
+       This variable conditionally defines the symbol DOUBLE_HAS_SUBNORMALS
+       which indicates that the double type has subnormals (denormals).
+
+d_double_style_cray (longdblfio.U):
+       This variable conditionally defines the symbol DOUBLE_STYLE_CRAY
+       which indicates that the double is the 64-bit CRAY mainframe format.
+
+d_double_style_ibm (longdblfio.U):
+       This variable conditionally defines the symbol DOUBLE_STYLE_IBM,
+       which indicates that the double is the 64-bit IBM mainframe format.
+
+d_double_style_ieee (longdblfio.U):
+       This variable conditionally defines the symbol DOUBLE_STYLE_IEEE,
+       which indicates that the double is the 64-bit IEEE 754.
+
+d_double_style_vax (longdblfio.U):
+       This variable conditionally defines the symbol DOUBLE_STYLE_VAX,
+       which indicates that the double is the 64-bit VAX format D or G.
+
 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()
@@ -683,6 +734,15 @@ d_dup2 (d_dup2.U):
        This variable conditionally defines HAS_DUP2 if dup2() is
        available to duplicate file descriptors.
 
+d_dup3 (d_dup3.U):
+       This variable conditionally defines HAS_DUP3 if dup3() is
+       available to duplicate file descriptors.
+
+d_duplocale (d_newlocale.U):
+       This variable conditionally defines the HAS_DUPLOCALE symbol, which
+       indicates to the C program that the duplocale() routine is available
+       to duplicate a locale object.
+
 d_eaccess (d_eaccess.U):
        This variable conditionally defines the HAS_EACCESS symbol, which
        indicates to the C program that the eaccess() routine is available.
@@ -747,10 +807,26 @@ 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.
 
+d_erf (d_erf.U):
+       This variable conditionally defines the HAS_ERF symbol, which
+       indicates to the C program that the erf() routine is available.
+
+d_erfc (d_erfc.U):
+       This variable conditionally defines the HAS_ERFC symbol, which
+       indicates to the C program that the erfc() routine is available.
+
 d_eunice (Guess.U):
        This variable conditionally defines the symbols EUNICE and VAX, which
        alerts the C program that it must deal with idiosyncrasies of VMS.
 
+d_exp2 (d_exp2.U):
+       This variable conditionally defines the HAS_EXP2 symbol, which
+       indicates to the C program that the exp2() routine is available.
+
+d_expm1 (d_expm1.U):
+       This variable conditionally defines the HAS_EXPM1 symbol, which
+       indicates to the C program that the expm1() routine is available.
+
 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
@@ -765,6 +841,10 @@ d_fchmod (d_fchmod.U):
        indicates to the C program that the fchmod() routine is available
        to change mode of opened files.
 
+d_fchmodat (d_fsat.U):
+       This variable conditionally defines the HAS_FCHMODAT symbol, which
+       indicates the POSIX fchmodat() function is available.
+
 d_fchown (d_fchown.U):
        This variable conditionally defines the HAS_FCHOWN symbol, which
        indicates to the C program that the fchown() routine is available
@@ -787,6 +867,14 @@ d_fd_set (d_fd_set.U):
        This variable contains the eventual value of the HAS_FD_SET symbol,
        which indicates if your C compiler knows about the fd_set typedef.
 
+d_fdclose (d_fdclose.U):
+       This variable conditionally defines the HAS_FDCLOSE symbol, which
+       indicates to the C program that the fdclose() routine is available.
+
+d_fdim (d_fdim.U):
+       This variable conditionally defines the HAS_FDIM symbol, which
+       indicates to the C program that the fdim() routine is available.
+
 d_fds_bits (d_fd_set.U):
        This variable contains the eventual value of the HAS_FDS_BITS symbol,
        which indicates if your fd_set typedef contains the fds_bits member.
@@ -794,6 +882,10 @@ d_fds_bits (d_fd_set.U):
        a half-fast job and neglected to provide the macros to manipulate
        an fd_set, HAS_FDS_BITS will let us know how to fix the gaffe.
 
+d_fegetround (d_fegetround.U):
+       This variable conditionally defines HAS_FEGETROUND if fegetround() is
+       available to get the floating point rounding mode.
+
 d_fgetpos (d_fgetpos.U):
        This variable conditionally defines HAS_FGETPOS if fgetpos() is
        available to get the file position indicator.
@@ -820,6 +912,18 @@ d_flockproto (d_flockproto.U):
        a prototype for the flock() function.  Otherwise, it is
        up to the program to supply one.
 
+d_fma (d_fma.U):
+       This variable conditionally defines the HAS_FMA symbol, which
+       indicates to the C program that the fma() routine is available.
+
+d_fmax (d_fmax.U):
+       This variable conditionally defines the HAS_FMAX symbol, which
+       indicates to the C program that the fmax() routine is available.
+
+d_fmin (d_fmin.U):
+       This variable conditionally defines the HAS_FMIN symbol, which
+       indicates to the C program that the fmin() routine is available.
+
 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.
@@ -828,6 +932,14 @@ 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_fp_classify (d_fpclassify.U):
+       This variable conditionally defines the HAS_FP_CLASSIFY symbol, which
+       indicates to the C program that the fp_classify() routine is available.
+
+d_fp_classl (d_fp_classl.U):
+       This variable conditionally defines the HAS_FP_CLASSL symbol, which
+       indicates to the C program that the fp_classl() 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
@@ -846,9 +958,18 @@ 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_fpgetround (d_fpgetround.U):
+       This variable conditionally defines HAS_FPGETROUND if fpgetround()
+       is available to get the floating point rounding mode.
+
 d_fpos64_t (d_fpos64_t.U):
        This symbol will be defined if the C compiler supports fpos64_t.
 
+d_freelocale (d_newlocale.U):
+       This variable conditionally defines the HAS_FREELOCALE symbol, which
+       indicates to the C program that the freelocale() routine is available
+       to deallocates the resources associated with a locale object.
+
 d_frexpl (d_frexpl.U):
        This variable conditionally defines the HAS_FREXPL symbol, which
        indicates to the C program that the frexpl() routine is available.
@@ -890,11 +1011,17 @@ d_futimes (d_futimes.U):
        This variable conditionally defines the HAS_FUTIMES symbol, which
        indicates to the C program that the futimes() routine is available.
 
+d_gai_strerror (d_gai_strerror.U):
+       This variable conditionally defines the HAS_GAI_STRERROR symbol
+       if the gai_strerror() routine is available and can be used to
+       translate error codes returned by getaddrinfo() into human
+       readable strings.
+
 d_Gconvert (d_gconvert.U):
        This variable holds what Gconvert is defined as to convert
        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
+       that pass sprintf-%g-like behavior 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
@@ -1240,19 +1367,25 @@ 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_hypot (d_hypot.U):
+       This variable conditionally defines HAS_HYPOT if hypot is available
+       for numerically stable hypotenuse function.
+
+d_ilogb (d_ilogb.U):
+       This variable conditionally defines the HAS_ILOGB symbol, which
+       indicates to the C program that the ilogb() routine is available
+       for extracting the exponent of double x as a signed integer.
+
 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.
+       indicates to the C program that the ilogbl() routine is available
+       for extracting the exponent of long double x as a signed integer.
        If scalbnl is also present we can emulate frexpl.
 
 d_inc_version_list (inc_version_list.U):
        This variable conditionally defines PERL_INC_VERSION_LIST.
        It is set to undef when PERL_INC_VERSION_LIST is empty.
 
-d_index (d_strchr.U):
-       This variable conditionally defines HAS_INDEX if index() and
-       rindex() are available for string searching.
-
 d_inetaton (d_inetaton.U):
        This variable conditionally defines the HAS_INET_ATON symbol, which
        indicates to the C program that the inet_aton() function is available
@@ -1299,10 +1432,22 @@ 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_isfinitel (d_isfinitel.U):
+       This variable conditionally defines the HAS_ISFINITEL symbol, which
+       indicates to the C program that the isfinitel() 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_isinfl (d_isinfl.U):
+       This variable conditionally defines the HAS_ISINFL symbol, which
+       indicates to the C program that the isinfl() routine is available.
+
+d_isless (d_isless.U):
+       This variable conditionally defines the HAS_ISLESS symbol, which
+       indicates to the C program that the isless() 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.
@@ -1311,11 +1456,28 @@ d_isnanl (d_isnanl.U):
        This variable conditionally defines the HAS_ISNANL symbol, which
        indicates to the C program that the isnanl() routine is available.
 
+d_isnormal (d_isnormal.U):
+       This variable conditionally defines the HAS_ISNORMAL symbol, which
+       indicates to the C program that the isnormal() routine is available.
+
+d_j0 (d_j0.U):
+       This variable conditionally defines the HAS_J0 symbol, which
+       indicates to the C program that the j0() routine is available.
+
+d_j0l (d_j0.U):
+       This variable conditionally defines the HAS_J0L symbol, which
+       indicates to the C program that the j0l() routine is available.
+
 d_killpg (d_killpg.U):
        This variable conditionally defines the HAS_KILLPG symbol, which
        indicates to the C program that the killpg() routine is available
        to kill process groups.
 
+d_lc_monetary_2008 (d_lc_monetary_2008.U):
+       This variable conditionally defines HAS_LC_MONETARY_2008 if libc
+       has the international currency locale rules from POSIX
+       1003.1-2008.
+
 d_lchown (d_lchown.U):
        This variable conditionally defines the HAS_LCHOWN symbol, which
        indicates to the C program that the lchown() routine is available
@@ -1326,15 +1488,65 @@ d_ldbl_dig (d_ldbl_dig.U):
        header files provide LDBL_DIG, which is the number of significant
        digits in a long double precision number.
 
+d_ldexpl (d_longdbl.U):
+       This variable conditionally defines the HAS_LDEXPL symbol, which
+       indicates to the C program that the ldexpl() routine is available.
+
+d_lgamma (d_lgamma.U):
+       This variable conditionally defines the HAS_LGAMMA symbol, which
+       indicates to the C program that the lgamma() routine is available
+       for the log gamma function.  See also d_tgamma and d_lgamma_r.
+
+d_lgamma_r (d_lgamma_r.U):
+       This variable conditionally defines the HAS_LGAMMA_R symbol, which
+       indicates to the C program that the lgamma_r() routine is available
+       for the log gamma function, without using the global signgam variable.
+
 d_libm_lib_version (d_libm_lib_version.U):
        This variable conditionally defines the LIBM_LIB_VERSION symbol,
        which indicates to the C program that math.h defines _LIB_VERSION
        being available in libm
 
+d_libname_unique (so.U):
+       This variable is defined if the target system insists on unique
+       basenames for shared library files. This is currently true on Android,
+       false everywhere else we know of.
+       Defaults to 'undef'.
+
 d_link (d_link.U):
        This variable conditionally defines HAS_LINK if link() is
        available to create hard links.
 
+d_linkat (d_fsat.U):
+       This variable conditionally defines the HAS_LINKAT symbol, which
+       indicates the POSIX linkat() function is available.
+
+d_llrint (d_llrint.U):
+       This variable conditionally defines the HAS_LLRINT symbol, which
+       indicates to the C program that the llrint() routine is available
+       to return the long long value closest to a double (according
+       to the current rounding mode).
+
+d_llrintl (d_llrintl.U):
+       This variable conditionally defines the HAS_LLRINTL symbol, which
+       indicates to the C program that the llrintl() routine is available
+       to return the long long value closest to a long double (according
+       to the current rounding mode).
+
+d_llround (d_llround.U):
+       This variable conditionally defines the HAS_LLROUND symbol, which
+       indicates to the C program that the llround() routine is available
+       to return the long long value nearest to x.
+
+d_llroundl (d_llroundl.U):
+       This variable conditionally defines the HAS_LLROUNDL symbol, which
+       indicates to the C program that the llroundl() routine is available
+       to return the long long value nearest to x away from zero.
+
+d_localeconv_l (d_localeconv_l.U):
+       This variable conditionally defines the HAS_LOCALECONV_L symbol, which
+       indicates to the C program that the localeconv_l() routine is available.
+
 d_localtime64 (d_timefuncs64.U):
        This variable conditionally defines the HAS_LOCALTIME64 symbol, which
        indicates to the C program that the localtime64 () routine is available.
@@ -1356,6 +1568,45 @@ d_lockf (d_lockf.U):
        This variable conditionally defines HAS_LOCKF if lockf() is
        available to do file locking.
 
+d_log1p (d_log1p.U):
+       This variable conditionally defines the HAS_LOG1P symbol, which
+       indicates to the C program that the logp1() routine is available
+       to compute log(1 + x) for values of x close to zero.
+
+d_log2 (d_log2.U):
+       This variable conditionally defines the HAS_LOG2 symbol, which
+       indicates to the C program that the log2() routine is available
+       to compute log base two.
+
+d_logb (d_logb.U):
+       This variable conditionally defines the HAS_LOGB symbol, which
+       indicates to the C program that the logb() routine is available
+       to extract the exponent of x.
+
+d_long_double_style_ieee (d_longdbl.U):
+       This variable conditionally defines LONG_DOUBLE_STYLE_IEEE
+       if the long double is any of the IEEE 754 style long doubles:
+       LONG_DOUBLE_STYLE_IEEE_STD, LONG_DOUBLE_STYLE_IEEE_EXTENDED,
+       LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE.
+
+d_long_double_style_ieee_doubledouble (d_longdbl.U):
+       This variable conditionally defines LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE
+       if the long double is the 128-bit IEEE 754 double-double.
+
+d_long_double_style_ieee_extended (d_longdbl.U):
+       This variable conditionally defines LONG_DOUBLE_STYLE_IEEE_EXTENDED
+       if the long double is the 80-bit IEEE 754 extended precision.
+       Note that despite the 'extended' this is less than the 'std',
+       since thisis an extension of the double precision.
+
+d_long_double_style_ieee_std (d_longdbl.U):
+       This variable conditionally defines LONG_DOUBLE_STYLE_IEEE_STD
+       if the long double is the 128-bit IEEE 754.
+
+d_long_double_style_vax (d_longdbl.U):
+       This variable conditionally defines LONG_DOUBLE_STYLE_VAX
+       if the long double is the 128-bit VAX format H.
+
 d_longdbl (d_longdbl.U):
        This variable conditionally defines HAS_LONG_DOUBLE if
        the long double type is supported.
@@ -1364,6 +1615,28 @@ d_longlong (d_longlong.U):
        This variable conditionally defines HAS_LONG_LONG if
        the long long type is supported.
 
+d_lrint (d_lrint.U):
+       This variable conditionally defines the HAS_LRINT symbol, which
+       indicates to the C program that the lrint() routine is available
+       to return the integral value closest to a double (according
+       to the current rounding mode).
+
+d_lrintl (d_lrintl.U):
+       This variable conditionally defines the HAS_LRINTL symbol, which
+       indicates to the C program that the lrintl() routine is available
+       to return the integral value closest to a long double (according
+       to the current rounding mode).
+
+d_lround (d_lround.U):
+       This variable conditionally defines the HAS_LROUND symbol, which
+       indicates to the C program that the lround() routine is available
+       to return the integral value nearest to x.
+
+d_lroundl (d_lroundl.U):
+       This variable conditionally defines the HAS_LROUNDL symbol, which
+       indicates to the C program that the lroundl() routine is available
+       to return the integral value nearest to x away from zero.
+
 d_lseekproto (d_lseekproto.U):
        This variable conditionally defines the HAS_LSEEK_PROTO symbol,
        which indicates to the C program that the system provides
@@ -1391,6 +1664,16 @@ d_mblen (d_mblen.U):
        indicates to the C program that the mblen() routine is available
        to find the number of bytes in a multibye character.
 
+d_mbrlen (d_mbrlen.U):
+       This variable conditionally defines the HAS_MBRLEN symbol if the
+       mbrlen() routine is available to be used to get the length of
+       multi-byte character strings.
+
+d_mbrtowc (d_mbrtowc.U):
+       This variable conditionally defines the HAS_MBRTOWC symbol if the
+       mbrtowc() routine is available to be used to convert a multi-byte
+       character into a wide character.
+
 d_mbstowcs (d_mbstowcs.U):
        This variable conditionally defines the HAS_MBSTOWCS symbol, which
        indicates to the C program that the mbstowcs() routine is available
@@ -1401,30 +1684,17 @@ d_mbtowc (d_mbtowc.U):
        indicates to the C program that the mbtowc() routine is available
        to convert multibyte to a wide character.
 
-d_memchr (d_memchr.U):
-       This variable conditionally defines the HAS_MEMCHR symbol, which
-       indicates to the C program that the memchr() routine is available
-       to locate characters within a C string.
+d_memmem (d_memmem.U):
+       This variable conditionally defines the HAS_MEMMEM symbol, which
+       indicates to the C program that the memmem() routine is available
+       to return a pointer to the start of the first occurance of a
+       substring in a memory area (or NULL if not found).
 
-d_memcmp (d_memcmp.U):
-       This variable conditionally defines the HAS_MEMCMP symbol, which
-       indicates to the C program that the memcmp() routine is available
-       to compare blocks of memory.
-
-d_memcpy (d_memcpy.U):
-       This variable conditionally defines the HAS_MEMCPY symbol, which
-       indicates to the C program that the memcpy() routine is available
-       to copy blocks of memory.
-
-d_memmove (d_memmove.U):
-       This variable conditionally defines the HAS_MEMMOVE symbol, which
-       indicates to the C program that the memmove() routine is available
-       to copy potentially overlapping blocks of memory.
-
-d_memset (d_memset.U):
-       This variable conditionally defines the HAS_MEMSET symbol, which
-       indicates to the C program that the memset() routine is available
-       to set blocks of memory.
+d_memrchr (d_memrchr.U):
+       This variable conditionally defines the HAS_MEMRCHR symbol, which
+       indicates to the C program that the memrchr() routine is available
+       to return a pointer to the last occurrence of a byte in a memory
+       area (or NULL if not found).
 
 d_mkdir (d_mkdir.U):
        This variable conditionally defines the HAS_MKDIR symbol, which
@@ -1440,6 +1710,11 @@ d_mkfifo (d_mkfifo.U):
        This variable conditionally defines the HAS_MKFIFO symbol, which
        indicates to the C program that the mkfifo() routine is available.
 
+d_mkostemp (d_mkostemp.U):
+       This variable conditionally defines HAS_MKOSTEMP if mkostemp() is
+       available to exclusively create and open a uniquely named (with a
+       suffix) temporary file.
+
 d_mkstemp (d_mkstemp.U):
        This variable conditionally defines the HAS_MKSTEMP symbol, which
        indicates to the C program that the mkstemp() routine is available
@@ -1467,13 +1742,6 @@ 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
@@ -1546,6 +1814,14 @@ d_mymalloc (mallocsrc.U):
        of the source want to take special action if MYMALLOC is used.
        This may include different sorts of profiling or error detection.
 
+d_nan (d_nan.U):
+       This variable conditionally defines HAS_NAN if nan() is
+       available to generate NaN.
+
+d_nanosleep (d_nanosleep.U):
+       This variable conditionally defines HAS_NANOSLEEP
+       if nanosleep() is available to sleep with 1E-9 sec accuracy.
+
 d_ndbm (i_ndbm.U):
        This variable conditionally defines the HAS_NDBM symbol, which
        indicates that both the ndbm.h include file and an appropriate ndbm
@@ -1563,6 +1839,26 @@ d_ndbm_h_uses_prototypes (i_ndbm.U):
        undefined. Consult the different d_*ndbm_h_uses_prototypes variables
        to get the same information for alternative ndbm.h include files.
 
+d_nearbyint (d_nearbyint.U):
+       This variable conditionally defines HAS_NEARBYINT if nearbyint()
+       is available to return the integral value closest to (according to
+       the current rounding mode) to x.
+
+d_newlocale (d_newlocale.U):
+       This variable conditionally defines the HAS_NEWLOCALE symbol, which
+       indicates to the C program that the newlocale() routine is available
+       to return a new locale object or modify an existing locale object.
+
+d_nextafter (d_nextafter.U):
+       This variable conditionally defines HAS_NEXTAFTER if nextafter()
+       is available to return the next machine representable double from
+       x in direction y.
+
+d_nexttoward (d_nexttoward.U):
+       This variable conditionally defines HAS_NEXTTOWARD if nexttoward()
+       is available to return the next machine representable long double from
+       x in direction y.
+
 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.
@@ -1601,6 +1897,10 @@ d_open3 (d_open3.U):
        which indicates to the C program that the 3 argument version of
        the open(2) function is available.
 
+d_openat (d_fsat.U):
+       This variable conditionally defines the HAS_OPENAT symbol, which
+       indicates the POSIX openat() function is available.
+
 d_pathconf (d_pathconf.U):
        This variable conditionally defines the HAS_PATHCONF symbol, which
        indicates to the C program that the pathconf() routine is available
@@ -1627,6 +1927,11 @@ d_pipe (d_pipe.U):
        indicates to the C program that the pipe() routine is available
        to create an inter-process channel.
 
+d_pipe2 (d_pipe2.U):
+       This variable conditionally defines the HAS_PIPE2 symbol, which
+       indicates to the C program that the pipe2() routine is available
+       to create an inter-process channel.
+
 d_poll (d_poll.U):
        This variable conditionally defines the HAS_POLL symbol, which
        indicates to the C program that the poll() routine is available
@@ -1640,6 +1945,8 @@ d_portable (d_portable.U):
 d_prctl (d_prctl.U):
        This variable conditionally defines the HAS_PRCTL symbol, which
        indicates to the C program that the prctl() routine is available.
+       Note that there are at least two prctl variants: Linux and Irix.
+       While they are somewhat similar, they are incompatible.
 
 d_prctl_set_name (d_prctl.U):
        This variable conditionally defines the HAS_PRCTL_SET_NAME symbol,
@@ -1730,6 +2037,9 @@ d_pthread_yield (d_pthread_y.U):
        symbol if the pthread_yield routine is available to yield
        the execution of the current thread.
 
+d_ptrdiff_t (d_ptrdiff_t.U):
+       This symbol will be defined if the C compiler supports ptrdiff_t.
+
 d_pwage (i_pwd.U):
        This variable conditionally defines PWAGE, which indicates
        that struct passwd contains pw_age.
@@ -1770,11 +2080,22 @@ d_quad (quadtype.U):
        This variable, if defined, tells that there's a 64-bit integer type,
        quadtype.
 
+d_querylocale (d_newlocale.U):
+       This variable conditionally defines the HAS_QUERYLOCALE symbol, which
+       indicates to the C program that the querylocale() routine is available
+       to return the name of the locale for a category mask.
+
 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_re_comp (d_regcmp.U):
+       This variable conditionally defines the HAS_RECOMP symbol, which
+       indicates to the C program that the re_comp() routine is available
+       for regular patern matching (usally on BSD). If so, it is likely that
+       re_exec() exists.
+
 d_readdir (d_readdir.U):
        This variable conditionally defines HAS_READDIR if readdir() is
        available to read directory entries.
@@ -1802,33 +2123,48 @@ 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_regcmp (d_regcmp.U):
+       This variable conditionally defines the HAS_REGCMP symbol, which
+       indicates to the C program that the regcmp() routine is available
+       for regular patern matching (usally on System V).
+
+d_regcomp (d_regcmp.U):
+       This variable conditionally defines the HAS_REGCOMP symbol, which
+       indicates to the C program that the regcomp() routine is available
+       for regular patern matching (usally on POSIX.2 conforming systems).
+
+d_remainder (d_remainder.U):
+       This variable conditionally defines the HAS_REMAINDER symbol, which
+       indicates to the C program that the remainder() routine is available.
+
+d_remquo (d_remquo.U):
+       This variable conditionally defines the HAS_REMQUO symbol, which
+       indicates to the C program that the remquo() 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
        to rename files.
 
+d_renameat (d_fsat.U):
+       This variable conditionally defines the HAS_RENAMEAT symbol, which
+       indicates the POSIX renameat() function is available.
+
 d_rewinddir (d_readdir.U):
        This variable conditionally defines HAS_REWINDDIR if rewinddir() is
        available.
 
+d_rint (d_rint.U):
+       This variable conditionally defines the HAS_RINT symbol, which
+       indicates to the C program that the rint() routine is available.
+
 d_rmdir (d_rmdir.U):
        This variable conditionally defines HAS_RMDIR if rmdir() is
        available to remove directories.
 
-d_safebcpy (d_safebcpy.U):
-       This variable conditionally defines the HAS_SAFE_BCOPY symbol if
-       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_round (d_round.U):
+       This variable conditionally defines the HAS_ROUND symbol, which
+       indicates to the C program that the round() routine is available.
 
 d_sbrkproto (d_sbrkproto.U):
        This variable conditionally defines the HAS_SBRK_PROTO symbol,
@@ -1836,6 +2172,10 @@ d_sbrkproto (d_sbrkproto.U):
        a prototype for the sbrk() function.  Otherwise, it is
        up to the program to supply one.
 
+d_scalbn (d_scalbn.U):
+       This variable conditionally defines the HAS_SCALBN symbol, which
+       indicates to the C program that the scalbn() routine is available.
+
 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.
@@ -2043,10 +2383,6 @@ d_setvbuf (d_setvbuf.U):
        indicates to the C program that the setvbuf() routine is available
        to change buffering on an open stdio stream.
 
-d_sfio (d_sfio.U):
-       This variable conditionally defines the USE_SFIO symbol,
-       and indicates whether sfio is available (and should be used).
-
 d_shm (d_shm.U):
        This variable conditionally defines the HAS_SHM symbol, which
        indicates that the entire shm*(2) library is present.
@@ -2076,6 +2412,38 @@ d_sigaction (d_sigaction.U):
        This variable conditionally defines the HAS_SIGACTION symbol, which
        indicates that the Vr4 sigaction() routine is available.
 
+d_siginfo_si_addr (d_siginfo_si.U):
+       This variable conditionally defines the HAS_SIGINFO_SI_ADDR symbol,
+       which indicates that the siginfo_t struct has the si_addr member.
+
+d_siginfo_si_band (d_siginfo_si.U):
+       This variable conditionally defines the HAS_SIGINFO_SI_BAND symbol,
+       which indicates that the siginfo_t struct has the si_band member.
+
+d_siginfo_si_errno (d_siginfo_si.U):
+       This variable conditionally defines the HAS_SIGINFO_SI_ERRNO symbol,
+       which indicates that the siginfo_t struct has the si_errno member.
+
+d_siginfo_si_fd (d_siginfo_si.U):
+       This variable conditionally defines the HAS_SIGINFO_SI_FD symbol,
+       which indicates that the siginfo_t struct has the si_fd member.
+
+d_siginfo_si_pid (d_siginfo_si.U):
+       This variable conditionally defines the HAS_SIGINFO_SI_PID symbol,
+       which indicates that the siginfo_t struct has the si_pid member.
+
+d_siginfo_si_status (d_siginfo_si.U):
+       This variable conditionally defines the HAS_SIGINFO_SI_STATUS symbol,
+       which indicates that the siginfo_t struct has the si_status member.
+
+d_siginfo_si_uid (d_siginfo_si.U):
+       This variable conditionally defines the HAS_SIGINFO_SI_UID symbol,
+       which indicates that the siginfo_t struct has the si_uid member.
+
+d_siginfo_si_value (d_siginfo_si.U):
+       This variable conditionally defines the HAS_SIGINFO_SI_VALUE symbol,
+       which indicates that the siginfo_t struct has the si_value member.
+
 d_signbit (d_signbit.U):
        This variable conditionally defines the HAS_SIGNBIT symbol, which
        indicates to the C program that the signbit() routine is available
@@ -2140,12 +2508,6 @@ d_socks5_init (d_socks5_init.U):
        This variable conditionally defines the HAS_SOCKS5_INIT symbol, which
        indicates to the C program that the socks5_init() routine is available.
 
-d_sprintf_returns_strlen (d_sprintf_len.U):
-       This variable defines whether sprintf returns the length of the string
-       (as per the ANSI spec). Some C libraries retain compatibility with
-       pre-ANSI C and return a pointer to the passed in buffer; for these
-       this variable will be undef.
-
 d_sqrtl (d_sqrtl.U):
        This variable conditionally defines the HAS_SQRTL symbol, which
        indicates to the C program that the sqrtl() routine is available.
@@ -2172,6 +2534,10 @@ d_sresuproto (d_sresuproto.U):
        a prototype for the setresuid() function.  Otherwise, it is
        up to the program to supply one.
 
+d_stat (d_stat.U):
+       This variable conditionally defines HAS_STAT if stat() is
+       available to get file status.
+
 d_statblks (d_statblks.U):
        This variable conditionally defines USE_STAT_BLOCKS
        if this system has a stat structure declaring
@@ -2228,28 +2594,15 @@ d_stdstdio (d_stdstdio.U):
        has a FILE structure declaring usable _ptr and _cnt fields (or
        equivalent) in stdio.h.
 
-d_strchr (d_strchr.U):
-       This variable conditionally defines HAS_STRCHR if strchr() and
-       strrchr() are available for string searching.
-
 d_strcoll (d_strcoll.U):
        This variable conditionally defines HAS_STRCOLL if strcoll() is
        available to compare strings using collating information.
 
-d_strctcpy (d_strctcpy.U):
-       This variable conditionally defines the USE_STRUCT_COPY symbol, which
-       indicates to the C program that this C compiler knows how to copy
-       structures.
-
-d_strerrm (d_strerror.U):
-       This variable holds what Strerrr is defined as to translate an error
-       code condition into an error message string. It could be 'strerror'
-       or a more complex macro emulating strrror with sys_errlist[], or the
-       "unknown" string when both strerror and sys_errlist are missing.
-
-d_strerror (d_strerror.U):
-       This variable conditionally defines HAS_STRERROR if strerror() is
-       available to translate error numbers to strings.
+d_strerror_l (d_strerror_l.U):
+       This variable conditionally defines the HAS_STRERROR_L symbol, which
+       indicates to the C program that the strerror_l() routine is available
+       to return the error message for a given errno value in a particular
+       locale (identified by a locale_t object).
 
 d_strerror_r (d_strerror_r.U):
        This variable conditionally defines the HAS_STRERROR_R symbol,
@@ -2268,6 +2621,10 @@ 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_strnlen (d_strnlen.U):
+       This variable conditionally defines the HAS_STRNLEN symbol, which
+       indicates to the C program that the strnlen () 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
@@ -2282,6 +2639,10 @@ d_strtold (d_strtold.U):
        This variable conditionally defines the HAS_STRTOLD symbol, which
        indicates to the C program that the strtold() routine is available.
 
+d_strtold_l (d_strtold_l.U):
+       This variable conditionally defines the HAS_STRTOLD_L symbol, which
+       indicates to the C program that the strtold_l() routine is available.
+
 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.
@@ -2363,6 +2724,16 @@ d_telldirproto (d_telldirproto.U):
        a prototype for the telldir() function.  Otherwise, it is
        up to the program to supply one.
 
+d_tgamma (d_tgamma.U):
+       This variable conditionally defines the HAS_TGAMMA symbol, which
+       indicates to the C program that the tgamma() routine is available
+       for the gamma function.  See also d_lgamma.
+
+d_thread_safe_nl_langinfo_l (d_nl_langinfo_l.U):
+       This variable contains the eventual value of the
+       HAS_THREAD_SAFE_NL_LANGINFO_L symbol, which indicates if the
+       nl_langinfo_l() function exists and is thread-safe.
+
 d_time (d_time.U):
        This variable conditionally defines the HAS_TIME symbol, which indicates
        that the time() routine exists.  The time() routine is normally
@@ -2390,10 +2761,21 @@ d_tmpnam_r (d_tmpnam_r.U):
        which indicates to the C program that the tmpnam_r()
        routine is available.
 
+d_trunc (d_trunc.U):
+       This variable conditionally defines the HAS_TRUNC symbol, which
+       indicates to the C program that the trunc() routine is available
+       to round doubles towards zero.
+
 d_truncate (d_truncate.U):
        This variable conditionally defines HAS_TRUNCATE if truncate() is
        available to truncate files.
 
+d_truncl (d_truncl.U):
+       This variable conditionally defines the HAS_TRUNCL symbol, which
+       indicates to the C program that the truncl() routine is available
+       to round long doubles towards zero. If copysignl is also present,
+       we can emulate modfl.
+
 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()
@@ -2425,6 +2807,10 @@ 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_unlinkat (d_fsat.U):
+       This variable conditionally defines the HAS_UNLINKAT symbol, which
+       indicates the POSIX unlinkat() function isavailable.
+
 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.
@@ -2433,6 +2819,11 @@ 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_uselocale (d_newlocale.U):
+       This variable conditionally defines the HAS_USELOCALE symbol, which
+       indicates to the C program that the uselocale() routine is available
+       to set the current locale for the calling thread.
+
 d_usleep (d_usleep.U):
        This variable conditionally defines HAS_USLEEP if usleep() is
        available to do high granularity sleeps.
@@ -2478,16 +2869,6 @@ d_voidtty (i_sysioctl.U):
        Otherwise (on USG probably), it is enough to close the standard file
        descriptors and do a setpgrp().
 
-d_volatile (d_volatile.U):
-       This variable conditionally defines the HASVOLATILE symbol, which
-       indicates to the C program that this C compiler knows about the
-       volatile declaration.
-
-d_vprintf (d_vprintf.U):
-       This variable conditionally defines the HAS_VPRINTF symbol, which
-       indicates to the C program that the vprintf() routine is available
-       to printf with a pointer to an argument list.
-
 d_vsnprintf (d_snprintf.U):
        This variable conditionally defines the HAS_VSNPRINTF symbol, which
        indicates to the C program that the vsnprintf () library function
@@ -2501,11 +2882,21 @@ d_waitpid (d_waitpid.U):
        This variable conditionally defines HAS_WAITPID if waitpid() is
        available to wait for child process.
 
+d_wcscmp (d_wcscmp.U):
+       This variable conditionally defines the HAS_WCSCMP symbol if the
+       wcscmp() routine is available and can be used to compare wide
+       character strings.
+
 d_wcstombs (d_wcstombs.U):
        This variable conditionally defines the HAS_WCSTOMBS symbol, which
        indicates to the C program that the wcstombs() routine is available
        to convert wide character strings to multibyte strings.
 
+d_wcsxfrm (d_wcsxfrm.U):
+       This variable conditionally defines the HAS_WCSXFRM symbol if the
+       wcsxfrm() routine is available and can be used to compare wide
+       character strings.
+
 d_wctomb (d_wctomb.U):
        This variable conditionally defines the HAS_WCTOMB symbol, which
        indicates to the C program that the wctomb() routine is available
@@ -2548,8 +2939,8 @@ db_version_patch (i_db.U):
        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).
+default_inc_excludes_dot (defaultincdot.U):
+       When defined, remove the legacy '.' from @INC
 
 direntrytype (i_dirent.U):
        This symbol is set to 'struct direct' or 'struct dirent' depending on
@@ -2558,12 +2949,45 @@ direntrytype (i_dirent.U):
 
 dlext (dlext.U):
        This variable contains the extension that is to be used for the
-       dynamically loaded modules that perl generaties.
+       dynamically loaded modules that perl generates.
 
 dlsrc (dlsrc.U):
        This variable contains the name of the dynamic loading file that
        will be used with the package.
 
+doubleinfbytes (infnan.U):
+       This variable contains comma-separated list of hexadecimal bytes
+       for the double precision infinity.
+
+doublekind (longdblfio.U):
+       This variable, if defined, encodes the type of a double:
+       1 = IEEE 754 32-bit little endian,
+       2 = IEEE 754 32-bit big endian,
+       3 = IEEE 754 64-bit little endian,
+       4 = IEEE 754 64-bit big endian,
+       5 = IEEE 754 128-bit little endian,
+       6 = IEEE 754 128-bit big endian,
+       7 = IEEE 754 64-bit mixed endian le-be,
+       8 = IEEE 754 64-bit mixed endian be-le,
+       9 = VAX 32bit little endian F float format
+       10 = VAX 64bit little endian D float format
+       11 = VAX 64bit little endian G float format
+       12 = IBM 32bit format
+       13 = IBM 64bit format
+       14 = Cray 64bit format
+       -1 = unknown format.
+
+doublemantbits (mantbits.U):
+       This symbol, if defined, tells how many mantissa bits
+       there are in double precision floating point format.
+       Note that this is usually DBL_MANT_DIG minus one, since
+       with the standard IEEE 754 formats DBL_MANT_DIG includes
+       the implicit bit which doesn't really exist.
+
+doublenanbytes (infnan.U):
+       This variable contains comma-separated list of hexadecimal bytes
+       for the double precision not-a-number.
+
 doublesize (doublesize.U):
        This variable contains the value of the DOUBLESIZE symbol, which
        indicates to the C program how many bytes there are in a double.
@@ -2584,6 +3008,14 @@ drand48_r_proto (d_drand48_r.U):
 dtrace (usedtrace.U):
        This variable holds the location of the dtrace executable.
 
+dtraceobject (dtraceobject.U):
+       Whether we need to build an object file with the dtrace tool.
+
+dtracexnolibs (dtraceobject.U):
+       Whether dtrace accepts -xnolibs.  If available we call dtrace -h
+       and dtrace -G with -xnolibs to allow dtrace to run in a jail on
+       FreeBSD.
+
 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.
@@ -2595,9 +3027,7 @@ eagain (nblock_io.U):
 
 ebcdic (ebcdic.U):
        This variable conditionally defines EBCDIC if this
-       system uses EBCDIC encoding.  Among other things, this
-       means that the character ranges are not contiguous.
-       See trnl.U
+       system uses EBCDIC encoding.
 
 echo (Loc.U):
        This variable is used internally by Configure to determine the
@@ -2664,7 +3094,7 @@ expr (Loc.U):
 
 extensions (Extensions.U):
        This variable holds a list of all extension files (both XS and
-       non-xs linked into the package.  It is propagated to Config.pm
+       non-xs) installed with the package.  It is propagated to Config.pm
        and is typically used to test whether a particular extension
        is available.
 
@@ -2683,8 +3113,10 @@ fflushall (fflushall.U):
        even be probed for and will be left undefined.
 
 fflushNULL (fflushall.U):
-       This symbol, if defined, tells that fflush(NULL) does flush
-       all pending stdio output.
+       This symbol, if defined, tells that fflush(NULL) correctly
+       flushes all pending stdio output without side effects. In
+       particular, on some platforms calling fflush(NULL) *still*
+       corrupts STDIN if it is a pipe.
 
 find (Loc.U):
        This variable is defined but not used by Configure.
@@ -2949,6 +3381,24 @@ hostcat (nis.U):
        On some systems, such as os390, there may be no equivalent
        command, in which case this variable is unset.
 
+hostgenerate (Cross.U):
+       This variable contains the path to a generate_uudmap binary that
+       can be run on the host OS when cross-compiling.  Useful and
+       available only during Perl build.
+       Empty string '' if not cross-compiling.
+
+hostosname (Cross.U):
+       This variable contains the original value of '$^O' for hostperl
+       when cross-compiling.  This is useful to pick the proper tools
+       when running build code in the host.
+       Empty string '' if not cross-compiling.
+
+hostperl (Cross.U):
+       This variable contains the path to a miniperl binary that can be
+       run on the host OS when cross-compiling.  Useful and available only
+       during Perl build.
+       Empty string '' if not cross-compiling.
+
 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
@@ -2998,10 +3448,9 @@ i_arpainet (i_arpainet.U):
        This variable conditionally defines the I_ARPA_INET symbol,
        and indicates whether a C program should include <arpa/inet.h>.
 
-i_assert (i_assert.U):
-       This variable conditionally defines the I_ASSERT symbol, which
-       indicates to the C program that <assert.h> exists and could be
-       included.
+i_bfd (i_bfd.U):
+       This variable conditionally defines the I_BFD symbol, and
+       indicates whether a C program can include <bfd.h>.
 
 i_bsdioctl (i_sysioctl.U):
        This variable conditionally defines the I_SYS_BSDIOCTL symbol, which
@@ -3025,24 +3474,23 @@ i_dirent (i_dirent.U):
        This variable conditionally defines I_DIRENT, which indicates
        to the C program that it should include <dirent.h>.
 
-i_dld (i_dld.U):
-       This variable conditionally defines the I_DLD symbol, which
-       indicates to the C program that <dld.h> (GNU dynamic loading)
-       exists and should be included.
-
 i_dlfcn (i_dlfcn.U):
        This variable conditionally defines the I_DLFCN symbol, which
        indicates to the C program that <dlfcn.h> exists and should
        be included.
 
+i_execinfo (i_execinfo.U):
+       This variable conditionally defines the I_EXECINFO symbol, and indicates
+       whether a C program may include <execinfo.h>, for backtrace() support.
+
 i_fcntl (i_fcntl.U):
        This variable controls the value of I_FCNTL (which tells
        the C program to include <fcntl.h>).
 
-i_float (i_float.U):
-       This variable conditionally defines the I_FLOAT symbol, and indicates
-       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_fenv (i_fenv.U):
+       This variable conditionally defines the I_FENV symbol, which
+       indicates to the C program that <fenv.h> exists and should
+       be included.
 
 i_fp (i_fp.U):
        This variable conditionally defines the I_FP symbol, and indicates
@@ -3089,11 +3537,6 @@ i_libutil (i_libutil.U):
        This variable conditionally defines the I_LIBUTIL symbol, and indicates
        whether a C program should include <libutil.h>.
 
-i_limits (i_limits.U):
-       This variable conditionally defines the I_LIMITS symbol, and indicates
-       whether a C program may include <limits.h> to get symbols like WORD_BIT
-       and friends.
-
 i_locale (i_locale.U):
        This variable conditionally defines the I_LOCALE symbol,
        and indicates whether a C program should include <locale.h>.
@@ -3110,14 +3553,6 @@ i_mallocmalloc (i_mallocmalloc.U):
        This variable conditionally defines the I_MALLOCMALLOC symbol,
        and indicates whether a C program should include <malloc/malloc.h>.
 
-i_math (i_math.U):
-       This variable conditionally defines the I_MATH symbol, and indicates
-       whether a C program may include <math.h>.
-
-i_memory (i_memory.U):
-       This variable conditionally defines the I_MEMORY symbol, and indicates
-       whether a C program should include <memory.h>.
-
 i_mntent (i_mntent.U):
        This variable conditionally defines the I_MNTENT symbol, and indicates
        whether a C program should include <mntent.h>.
@@ -3161,15 +3596,15 @@ i_pwd (i_pwd.U):
        This variable conditionally defines I_PWD, which indicates
        to the C program that it should include <pwd.h>.
 
+i_quadmath (i_quadmath.U):
+       This variable conditionally defines I_QUADMATH, which indicates
+       to the C program that it should include <quadmath.h>.
+
 i_rpcsvcdbm (i_dbm.U):
        This variable conditionally defines the I_RPCSVC_DBM symbol, which
        indicates to the C program that <rpcsvc/dbm.h> exists and should
        be included.  Some System V systems might need this instead of <dbm.h>.
 
-i_sfio (i_sfio.U):
-       This variable conditionally defines the I_SFIO symbol,
-       and indicates whether a C program should include <sfio.h>.
-
 i_sgtty (i_termio.U):
        This variable conditionally defines the I_SGTTY symbol, which
        indicates to the C program that it should include <sgtty.h> rather
@@ -3183,29 +3618,18 @@ i_socks (i_socks.U):
        This variable conditionally defines the I_SOCKS symbol, and indicates
        whether a C program should include <socks.h>.
 
-i_stdarg (i_varhdr.U):
-       This variable conditionally defines the I_STDARG symbol, which
-       indicates to the C program that <stdarg.h> exists and should
-       be included.
-
 i_stdbool (i_stdbool.U):
        This variable conditionally defines the I_STDBOOL symbol, which
        indicates to the C program that <stdbool.h> exists and should
        be included.
 
-i_stddef (i_stddef.U):
-       This variable conditionally defines the I_STDDEF symbol, which
-       indicates to the C program that <stddef.h> exists and should
+i_stdint (i_stdint.U):
+       This variable conditionally defines the I_STDINT symbol, which
+       indicates to the C program that <stdint.h> exists and should
        be included.
 
 i_stdlib (i_stdlib.U):
-       This variable conditionally defines the I_STDLIB symbol, which
-       indicates to the C program that <stdlib.h> exists and should
-       be included.
-
-i_string (i_string.U):
-       This variable conditionally defines the I_STRING symbol, which
-       indicates that <string.h> should be included rather than <strings.h>.
+       This variable unconditionally defines the I_STDLIB symbol.
 
 i_sunmath (i_sunmath.U):
        This variable conditionally defines the I_SUNMATH symbol, and indicates
@@ -3243,8 +3667,8 @@ i_syslog (i_syslog.U):
        and indicates whether a C program should include <syslog.h>.
 
 i_sysmman (i_sysmman.U):
-       This variable conditionally defines the I_SYS_MMAN symbol, and
-       indicates whether a C program should include <sys/mman.h>.
+       This variable conditionally defines the I_SYS_MMAN symbol,
+       and indicates whether a C program should include <sys/mman.h>.
 
 i_sysmode (i_sysmode.U):
        This variable conditionally defines the I_SYSMODE symbol,
@@ -3345,7 +3769,7 @@ i_termios (i_termio.U):
        to be included.
 
 i_time (i_time.U):
-       This variable conditionally defines I_TIME, which indicates
+       This variable unconditionally defines I_TIME, which indicates
        to the C program that it should include <time.h>.
 
 i_unistd (i_unistd.U):
@@ -3360,23 +3784,18 @@ i_utime (i_utime.U):
        This variable conditionally defines the I_UTIME symbol, and indicates
        whether a C program should include <utime.h>.
 
-i_values (i_values.U):
-       This variable conditionally defines the I_VALUES symbol, and indicates
-       whether a C program may include <values.h> to get symbols like MAXLONG
-       and friends.
-
-i_varargs (i_varhdr.U):
-       This variable conditionally defines I_VARARGS, which indicates
-       to the C program that it should include <varargs.h>.
-
-i_varhdr (i_varhdr.U):
-       Contains the name of the header to be included to get va_dcl definition.
-       Typically one of varargs.h or stdarg.h.
-
 i_vfork (i_vfork.U):
        This variable conditionally defines the I_VFORK symbol, and indicates
        whether a C program should include vfork.h.
 
+i_wchar (i_wchar.U):
+       This variable conditionally defines the I_WCHAR symbol,
+       that indicates whether a C program may include <wchar.h>.
+
+i_xlocale (d_newlocale.U):
+       This symbol, if defined, indicates to the C program that it should
+       include <xlocale.h> to get uselocale() and its friends
+
 ignore_versioned_solibs (libs.U):
        This variable should be non-empty if non-versioned shared
        libraries (libfoo.so.x.y) are to be ignored (because they
@@ -3407,6 +3826,11 @@ incpath (usrinc.U):
        right one, as in "$incpath/usr/include" or "$incpath/usr/lib".
        Value can be "" or "/bsd43" on mips.
 
+incpth (libpth.U):
+       This variable must precede the normal include path to get the
+       right one, as in "$incpath/usr/include" or "$incpath/usr/lib".
+       Value can be "" or "/bsd43" on mips.
+
 inews (Loc.U):
        This variable is defined but not used by Configure.
        The value is the empty string and is not useful.
@@ -3415,7 +3839,7 @@ initialinstalllocation (bin.U):
        When userelocatableinc is true, this variable holds the location
        that make install should copy the perl binary to, with all the
        run-time relocatable paths calculated from this at install time.
-       When used, it is initialised to the original value of binexp, and
+       When used, it is initialized to the original value of binexp, and
        then binexp is set to '.../', as the other binaries are found
        relative to the perl binary.
 
@@ -3618,8 +4042,12 @@ ivtype (perlxv.U):
        This variable contains the C type used for Perl's IV.
 
 known_extensions (Extensions.U):
-       This variable holds a list of all XS extensions included in
-       the package.
+       This variable holds a list of all extensions (both XS and non-xs)
+       included in the package source distribution.  This information is
+       only really of use during the Perl build, as the list makes no
+       distinction between extensions which were build and installed, and
+       those which where not.  See "extensions" for the list of extensions
+       actually built and available.
 
 ksh (Loc.U):
        This variable is defined but not used by Configure.
@@ -3748,10 +4176,41 @@ loclibpth (libpth.U):
        libraries.  It is prepended to libpth, and is intended to be easily
        set from the command line.
 
+longdblinfbytes (infnan.U):
+       This variable contains comma-separated list of hexadecimal bytes
+       for the long double precision infinity.
+
+longdblkind (d_longdbl.U):
+       This variable, if defined, encodes the type of a long double:
+       0 = double,
+       1 = IEEE 754 128-bit little endian,
+       2 = IEEE 754 128-bit big endian,
+       3 = x86 80-bit little endian,
+       4 = x86 80-bit big endian,
+       5 = double-double 128-bit little endian,
+       6 = double-double 128-bit big endian,
+       7 = 128-bit mixed-endian double-double (64-bit LEs in BE),
+       8 = 128-bit mixed-endian double-double (64-bit BEs in LE),
+       9 = 128-bit PDP-style mixed-endian long doubles,
+       -1 = unknown format.
+
+longdblmantbits (mantbits.U):
+       This symbol, if defined, tells how many mantissa bits
+       there are in long double precision floating point format.
+       Note that this can be LDBL_MANT_DIG minus one,
+       since LDBL_MANT_DIG can include the IEEE 754 implicit bit.
+       The common x86-style 80-bit long double does not have
+       an implicit bit.
+
+longdblnanbytes (infnan.U):
+       This variable contains comma-separated list of hexadecimal bytes
+       for the long double precision not-a-number.
+
 longdblsize (d_longdbl.U):
        This variable contains the value of the LONG_DOUBLESIZE symbol, which
        indicates to the C program how many bytes there are in a long double,
-       if this system supports long doubles.
+       if this system supports long doubles.  Note that this is
+       sizeof(long double), which may include unused bytes.
 
 longlongsize (d_longlong.U):
        This variable contains the value of the LONGLONGSIZE symbol, which
@@ -3785,22 +4244,6 @@ lseektype (lseektype.U):
        or whatever type is used to declare lseek offset's type in the
        kernel (which also appears to be lseek's return type).
 
-mad (mad.U):
-       This variable indicates that the Misc Attribute Definition code is to
-       be compiled.
-
-madlyh (mad.U):
-       If the Misc Attribute Decoration is to be compiled, this variable is
-       set to the name of the extra header files to be used, else it is ''
-
-madlyobj (mad.U):
-       If the Misc Attribute Decoration is to be compiled, this variable is
-       set to the name of the extra object files to be used, else it is ''
-
-madlysrc (mad.U):
-       If the Misc Attribute Decoration is to be compiled, this variable is
-       set to the name of the extra C source files to be used, else it is ''
-
 mail (Loc.U):
        This variable is defined but not used by Configure.
        The value is the empty string and is not useful.
@@ -3932,9 +4375,9 @@ myhostname (myhostname.U):
        The dot comes with mydomain, and need not be supplied by the program.
 
 myuname (Oldconfig.U):
-       The output of 'uname -a' if available, otherwise the hostname. On Xenix,
-       pseudo variables assignments in the output are stripped, thank you. The
-       whole thing is then lower-cased.
+       The output of 'uname -a' if available, otherwise the hostname.
+       The whole thing is then lower-cased and slashes and single quotes are
+       removed.
 
 n (n.U):
        This variable contains the '-n' flag if that is what causes the echo
@@ -3988,8 +4431,10 @@ nm_so_opt (usenm.U):
        Maybe Linux should just always set usenm=false.
 
 nonxs_ext (Extensions.U):
-       This variable holds a list of all non-xs extensions included
-       in the package.  All of them will be built.
+       This variable holds a list of all non-xs extensions built and
+       installed by the package.  By default, all non-xs extensions
+       distributed will be built, with the exception of platform-specific
+       extensions (currently only one VMS specific extension).
 
 nroff (Loc.U):
        This variable is used internally by Configure to determine the
@@ -4014,11 +4459,11 @@ nvEUformat (perlxvf.U):
        a Perl NV using %E-ish floating point format.
 
 nvfformat (perlxvf.U):
-       This variable confains the format string used for printing
+       This variable contains 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
+       This variable contains the format string used for printing
        a Perl NV using %F-ish floating point format.
 
 nvgformat (perlxvf.U):
@@ -4029,8 +4474,13 @@ nvGUformat (perlxvf.U):
        This variable contains the format string used for printing
        a Perl NV using %G-ish floating point format.
 
+nvmantbits (mantbits.U):
+       This variable tells how many bits the mantissa of a Perl NV has,
+       not including the possible implicit bit.
+
 nvsize (perlxv.U):
-       This variable is the size of an NV in bytes.
+       This variable is the size of a Perl NV in bytes.
+       Note that some floating point formats have unused bytes.
 
 nvtype (perlxv.U):
        This variable contains the C type used for Perl's NV.
@@ -4254,10 +4704,6 @@ procselfexe (d_procselfexe.U):
        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.
-
 ptrsize (ptrsize.U):
        This variable contains the value of the PTRSIZE symbol, which
        indicates to the C program how many bytes there are in a pointer.
@@ -4470,6 +4916,7 @@ shrpenv (libperl.U):
        or
        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) or -Wl,-rpath
        $archlibexp/CORE (Linux).
@@ -4850,10 +5297,6 @@ strerror_r_proto (d_strerror_r.U):
        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.
-
 submit (Loc.U):
        This variable is defined but not used by Configure.
        The value is the empty string and is not useful.
@@ -4871,6 +5314,12 @@ sysman (sysman.U):
        pages. Rather it is the place where Configure may look to find manual
        for unix commands (section 1 of the manual usually). See mansrc.
 
+sysroot (Sysroot.U):
+       This variable is empty unless supplied by the Configure user.
+       It can contain a path to an alternative root directory, under which
+       headers and libraries for the compilation target can be found. This
+       is generally used when cross-compiling using a gcc-like compiler.
+
 tail (Loc.U):
        This variable is defined but not used by Configure.
        The value is the empty string and is not useful.
@@ -4883,6 +5332,37 @@ targetarch (Cross.U):
        If cross-compiling, this variable contains the target architecture.
        If not, this will be empty.
 
+targetdir (Cross.U):
+       This variable contains a path that will be created on the target
+       host using targetmkdir, and then used to copy the cross-compiled
+       executables to. Defaults to '/tmp' if not set.
+
+targetenv (Cross.U):
+       If cross-compiling, this variable can be used to modify the
+       environment on the target system.
+       However, how and where it's used, and even if it's used at all, is
+       entirely dependent on both the transport mechanism (targetrun) and
+       what the target system is.  Unless the relevant documentation says
+       otherwise, it is genereally not useful.
+
+targethost (Cross.U):
+       This variable contains the name of a separate host machine that
+       can be used to run compiled test programs and perl tests on.
+       Set to empty string if not in use.
+
+targetmkdir (Cross.U):
+       This variable contains the command used by Configure to create a
+       new directory on the target host.
+
+targetport (Cross.U):
+       This variable contains the number of a network port to be used to
+       connect to the host in targethost, if unset defaults to 22 for ssh.
+
+targetsh (sh.U):
+       If cross-compiling, this variable contains the location of sh on the
+       target system.
+       If not, this will be the same as $sh.
+
 tbl (Loc.U):
        This variable is defined but not used by Configure.
        The value is the empty string and is not useful.
@@ -5018,9 +5498,9 @@ use64bitint (use64bits.U):
        This may mean using for example "long longs", while your memory
        may still be limited to 2 gigabytes.
 
-use_versioned_archname (archname.U):
-       This variable indicates whether to include the $api_versionstring
-       as a component of the $archname.
+usecbacktrace (usebacktrace.U):
+       This variable indicates whether we are compiling with backtrace
+       support.
 
 usecrosscompile (Cross.U):
        This variable conditionally defines the USE_CROSS_COMPILE symbol,
@@ -5110,6 +5590,11 @@ useposix (Extensions.U):
        for hints files to indicate that POSIX will not compile
        on a particular system.
 
+usequadmath (usequadmath.U):
+       This variable conditionally defines the USE_QUADMATH symbol,
+       and indicates that the quadmath library __float128 long doubles
+       should be used when available.
+
 usereentrant (usethreads.U):
        This variable conditionally defines the USE_REENTRANT_API symbol,
        which indicates that the thread code may try to use the various
@@ -5124,13 +5609,6 @@ userelocatableinc (bin.U):
        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
-       explicitly requests not to use sfio.  It is here primarily so
-       that command-line settings can override the auto-detection of
-       d_sfio without running into a "WHOA THERE".
-
 useshrplib (libperl.U):
        This variable is set to 'true' if the user wishes
        to build a shared libperl, and 'false' otherwise.
@@ -5152,6 +5630,10 @@ usevendorprefix (vendorprefix.U):
        This variable tells whether the vendorprefix
        and consequently other vendor* paths are in use.
 
+useversionedarchname (archname.U):
+       This variable indicates whether to include the $api_versionstring
+       as a component of the $archname.
+
 usevfork (d_vfork.U):
        This variable is set to true when the user accepts to use vfork.
        It is set to false when no vfork is available or when the user
@@ -5187,11 +5669,6 @@ uvXUformat (perlxvf.U):
        This variable contains the format string used for printing
        a Perl UV as an unsigned hexadecimal integer in uppercase ABCDEF.
 
-vaproto (vaproto.U):
-       This variable conditionally defines CAN_VAPROTO on systems supporting
-       prototype declaration of functions with a variable number of
-       arguments. See also prototype.
-
 vendorarch (vendorarch.U):
        This variable contains the value of the PERL_VENDORARCH symbol.
        It may have a ~ on the front.
@@ -5342,11 +5819,6 @@ vi (Loc.U):
        This variable is defined but not used by Configure.
        The value is the empty string and is not useful.
 
-voidflags (voidflags.U):
-       This variable contains the eventual value of the VOIDFLAGS symbol,
-       which indicates how much support of the void type is given by this
-       compiler.  See VOIDFLAGS for more info.
-
 xlibpth (libpth.U):
        This variable holds extra path (space-separated) used to find
        libraries on this platform, for example CPU-specific libraries