This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add socklen_t probe; Configure maintenance.
[perl5.git] / Porting / Glossary
index 371a2a1..89f6943 100644 (file)
@@ -4,33 +4,6 @@ programs (e.g. I_UNISTD) are already described in config_h.SH.  [`configpm'
 generates pod documentation for Config.pm from this file--please try to keep
 the formatting regular.]
 
-CONFIGDOTSH (Oldsyms.U):
-       This is set to 'true' in config.sh so that a shell script
-       sourcing config.sh can tell if it has been sourced already.
-
-Mcc (Loc.U):
-       This variable is used internally by Configure to determine the
-       full pathname (if any) of the Mcc program.  After Configure runs,
-       the value is reset to a plain "Mcc" and is not useful.
-
-PERL_APIVERSION (Oldsyms.U):
-       This value is manually set in patchlevel.h and is used
-       to set the Configure apiversion variable.
-
-PERL_REVISION (Oldsyms.U):
-       In a Perl version number such as 5.6.2, this is the 5.
-       This value is manually set in patchlevel.h
-
-PERL_SUBVERSION (Oldsyms.U):
-       In a Perl version number such as 5.6.2, this is the 2.
-       Values greater than 50 represent potentially unstable
-       development subversions.
-       This value is manually set in patchlevel.h
-
-PERL_VERSION (Oldsyms.U):
-       In a Perl version number such as 5.6.2, this is the 6.
-       This value is manually set in patchlevel.h
-
 _a (Unix.U):
        This variable defines the extension used for ordinary libraries.
        For unix, it is '.a'.  The '.' is included.  Other possible
@@ -53,7 +26,8 @@ afs (afs.U):
 
 alignbytes (alignbytes.U):
        This variable holds the number of bytes required to align a
-       double. Usual values are 2, 4 and 8.
+       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.  
@@ -64,16 +38,49 @@ aphostname (d_gethname.U):
        host name. The command is fully qualified by its absolute path, to make
        it safe when used by a process with super-user privileges.
 
-apiversion (patchlevel.U):
-       MakeMaker will install add-on modules in a directory with the
-       PERL_APIVERSION version number.  The value is set manually in
-       patchlevel.h.  Normally, for maintenance releases, this is
-       just something like 5.005 or 5.6 or 5.7.  That is, it does not
-       include the subversion number and does not change across
-       maintenance releases.  This is so that add-on extensions can
-       be shared across maintenance versions.  It is unclear how this
-       ought to work for developer versions.  If a release breaks
-       binary compatibility, this number should be increased.
+api_revision (patchlevel.U):
+       The three variables, api_revision, api_version, and
+       api_subversion, specify the version of the oldest perl binary
+       compatible with the present perl.  In a full version string
+       such as '5.6.1', api_revision is the '5'.
+       Prior to 5.5.640, the format was a floating point number,
+       like 5.00563.
+               perl.c:incpush() and lib/lib.pm will automatically search in
+       $sitelib/.. for older directories back to the limit specified
+       by these api_ variables.  This is only useful if you have a
+       perl library directory tree structured like the default one.
+       See INSTALL for how this works.  The versioned site_perl
+       directory was introduced in 5.005, so that is the lowest
+       possible value.  The version list appropriate for the current
+       system is determined in inc_version_list.U.
+               XXX To do:  Since compatibility can depend on compile time
+       options (such as bincompat, longlong, etc.) it should
+       (perhaps) be set by Configure, but currently it isn't.
+       Currently, we read a hard-wired value from patchlevel.h.
+       Perhaps what we ought to do is take the hard-wired value from
+       patchlevel.h but then modify it if the current Configure
+       options warrant.  patchlevel.h then would use an #ifdef guard.
+
+api_subversion (patchlevel.U):
+       The three variables, api_revision, api_version, and
+       api_subversion, specify the version of the oldest perl binary
+       compatible with the present perl.  In a full version string
+       such as '5.6.1', api_subversion is the '1'.  See api_revision for
+       full details.
+
+api_version (patchlevel.U):
+       The three variables, api_revision, api_version, and
+       api_subversion, specify the version of the oldest perl binary
+       compatible with the present perl.  In a full version string
+       such as '5.6.1', api_version is the '6'.  See api_revision for
+       full details.  As a special case, 5.5.0 is rendered in the
+       old-style as 5.005.  (In the 5.005_0x maintenance series,
+       this was the only versioned directory in $sitelib.)
+
+api_versionstring (patchlevel.U):
+       This variable combines api_revision, api_version, and
+       api_subversion in a format such as 5.6.1 (or 5_6_1) suitable
+       for use as a directory name.  This is filesystem dependent.
 
 ar (Loc.U):
        This variable is used internally by Configure to determine the
@@ -187,8 +194,6 @@ ccflags (ccflags.U):
 
 ccsymbols (Cppsym.U):
        The variable contains the symbols defined by the C compiler alone.
-       The symbols defined by cpp or by cc when it calls cpp are not in
-       this list, see cppsymbols and cppccsymbols.
        The list is a space-separated list of symbol=value tokens.
 
 cf_by (cf_who.U):
@@ -233,6 +238,10 @@ compress (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
 
+CONFIGDOTSH (Oldsyms.U):
+       This is set to 'true' in config.sh so that a shell script
+       sourcing config.sh can tell if it has been sourced already.
+
 contains (contains.U):
        This variable holds the command to do a grep with a proper return
        status.  On most sane systems it is simply "grep".  On insane systems
@@ -258,9 +267,9 @@ cpp_stuff (cpp_stuff.U):
        used by the C preprocessor.
 
 cppccsymbols (Cppsym.U):
-       The variable contains the symbols defined by the C compiler when
-       when it calls cpp.  The symbols defined by the cc alone or cpp
-       alone are not in this list, see ccsymbols and cppsymbols.
+       The variable contains the symbols defined by both
+       the bare C compiler and during a compilation that
+       includes stdio.h.
        The list is a space-separated list of symbol=value tokens.
 
 cppflags (ccflags.U):
@@ -292,9 +301,8 @@ cppstdin (cppstdin.U):
        preprocessor symbols.
 
 cppsymbols (Cppsym.U):
-       The variable contains the symbols defined by the C preprocessor
-       alone.  The symbols defined by cc or by cc when it calls cpp are
-       not in this list, see ccsymbols and cppccsymbols.
+       The variable contains the symbols during a compilation
+       that includes stdio.h.
        The list is a space-separated list of symbol=value tokens.
 
 crosscompile (crosscompile.U):
@@ -312,64 +320,6 @@ 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.
 
-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))'
-
-d_PRIEldbl (longdblfio.U):
-       This variable conditionally defines the PERL_PRIfldlbl symbol, which
-       indiciates that stdio has a symbol to print long doubles.
-
-d_PRIFldbl (longdblfio.U):
-       This variable conditionally defines the PERL_PRIfldlbl symbol, which
-       indiciates that stdio has a symbol to print long doubles.
-
-d_PRIGldbl (longdblfio.U):
-       This variable conditionally defines the PERL_PRIfldlbl symbol, which
-       indiciates that stdio has a symbol to print long doubles.
-
-d_PRIX64 (quadfio.U):
-       This variable conditionally defines the PERL_PRIX64 symbol, which
-       indiciates that stdio has a symbol to print 64-bit hExADECimAl numbers.
-
-d_PRId64 (quadfio.U):
-       This variable conditionally defines the PERL_PRId64 symbol, which
-       indiciates that stdio has a symbol to print 64-bit decimal numbers.
-
-d_PRIeldbl (longdblfio.U):
-       This variable conditionally defines the PERL_PRIfldlbl symbol, which
-       indiciates that stdio has a symbol to print long doubles.
-
-d_PRIfldbl (longdblfio.U):
-       This variable conditionally defines the PERL_PRIfldlbl symbol, which
-       indiciates that stdio has a symbol to print long doubles.
-
-d_PRIgldbl (longdblfio.U):
-       This variable conditionally defines the PERL_PRIfldlbl symbol, which
-       indiciates that stdio has a symbol to print long doubles.
-
-d_PRIi64 (quadfio.U):
-       This variable conditionally defines the PERL_PRIi64 symbol, which
-       indiciates that stdio has a symbol to print 64-bit decimal numbers.
-
-d_PRIo64 (quadfio.U):
-       This variable conditionally defines the PERL_PRIo64 symbol, which
-       indiciates that stdio has a symbol to print 64-bit octal numbers.
-
-d_PRIu64 (quadfio.U):
-       This variable conditionally defines the PERL_PRIu64 symbol, which
-       indiciates that stdio has a symbol to print 64-bit unsigned decimal
-       numbers.
-
-d_PRIx64 (quadfio.U):
-       This variable conditionally defines the PERL_PRIx64 symbol, which
-       indiciates that stdio has a symbol to print 64-bit hexadecimal numbers.
-
 d_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.
@@ -648,6 +598,20 @@ d_ftime (d_ftime.U):
        that the ftime() routine exists.  The ftime() routine is basically
        a sub-second accuracy clock.
 
+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))'
+
+d_getcwd (d_getcwd.U):
+       This variable conditionally defines the HAS_GETCWD symbol, which
+       indicates to the C program that the getcwd() routine is available
+       to get the current working directory.
+
 d_getgrent (d_getgrent.U):
        This variable conditionally defines the HAS_GETGRENT symbol, which
        indicates to the C program that the getgrent() routine is available
@@ -819,6 +783,10 @@ d_htonl (d_htonl.U):
        This variable conditionally defines HAS_HTONL if htonl() and its
        friends are available to do network order byte swapping.
 
+d_iconv (d_iconv.U):
+       This variable conditionally defines the HAS_ICONV symbol, which
+       indicates to the C program that the iconv() routine is available.
+
 d_index (d_strchr.U):
        This variable conditionally defines HAS_INDEX if index() and
        rindex() are available for string searching.
@@ -828,7 +796,7 @@ d_inetaton (d_inetaton.U):
        indicates to the C program that the inet_aton() function is available
        to parse IP address "dotted-quad" strings.
 
-d_int64t (d_int64t.U):
+d_int64_t (d_int64_t.U):
        This symbol will be defined if the C compiler supports int64_t.
 
 d_isascii (d_isascii.U):
@@ -919,14 +887,38 @@ d_mkdir (d_mkdir.U):
        indicates to the C program that the mkdir() routine is available
        to create directories..
 
+d_mkdtemp (d_mkdtemp.U):
+       This variable conditionally defines the HAS_MKDTEMP symbol, which
+       indicates to the C program that the mkdtemp() routine is available
+       to exclusively create a uniquely named temporary directory.
+
 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_mkstemp (d_mkstemp.U):
+       This variable conditionally defines the HAS_MKSTEMP symbol, which
+       indicates to the C program that the mkstemp() routine is available
+       to exclusively create and open a uniquely named temporary file.
+
+d_mkstemps (d_mkstemps.U):
+       This variable conditionally defines the HAS_MKSTEMPS symbol, which
+       indicates to the C program that the mkstemps() routine is available
+       to exclusively create and open a uniquely named (with a suffix)
+       temporary file.
+
 d_mktime (d_mktime.U):
        This variable conditionally defines the HAS_MKTIME symbol, which
        indicates to the C program that the mktime() routine is available.
 
+d_mmap (d_mmap.U):
+       This variable conditionally defines HAS_MMAP if mmap() is
+       available to map a file into memory.
+
+d_mprotect (d_mprotect.U):
+       This variable conditionally defines HAS_MPROTECT if mprotect() is
+       available to modify the access protection of a memory mapped file.
+
 d_msg (d_msg.U):
        This variable conditionally defines the HAS_MSG symbol, which
        indicates that the entire msg*(2) library is present.
@@ -972,6 +964,14 @@ d_msgsnd (d_msgsnd.U):
        This variable conditionally defines the HAS_MSGSND symbol, which
        indicates to the C program that the msgsnd() routine is available.
 
+d_msync (d_msync.U):
+       This variable conditionally defines HAS_MSYNC if msync() is
+       available to synchronize a mapped file.
+
+d_munmap (d_munmap.U):
+       This variable conditionally defines HAS_MUNMAP if munmap() is
+       available to unmap a region mapped by mmap().
+
 d_mymalloc (mallocsrc.U):
        This variable conditionally defines MYMALLOC in case other parts
        of the source want to take special action if MYMALLOC is used.
@@ -981,6 +981,10 @@ d_nice (d_nice.U):
        This variable conditionally defines the HAS_NICE symbol, which
        indicates to the C program that the nice() routine is available.
 
+d_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_off64_t (io64.U):
        This symbol will be defined if the C compiler supports off64_t.
 
@@ -1034,6 +1038,55 @@ d_portable (d_portable.U):
        indicates to the C program that it should not assume that it is
        running on the machine it was compiled on.
 
+d_PRId64 (quadfio.U):
+       This variable conditionally defines the PERL_PRId64 symbol, which
+       indiciates that stdio has a symbol to print 64-bit decimal numbers.
+
+d_PRIeldbl (longdblfio.U):
+       This variable conditionally defines the PERL_PRIfldlbl symbol, which
+       indiciates that stdio has a symbol to print long doubles.
+
+d_PRIEldbl (longdblfio.U):
+       This variable conditionally defines the PERL_PRIfldlbl symbol, which
+       indiciates that stdio has a symbol to print long doubles.
+
+d_PRIfldbl (longdblfio.U):
+       This variable conditionally defines the PERL_PRIfldlbl symbol, which
+       indiciates that stdio has a symbol to print long doubles.
+
+d_PRIFldbl (longdblfio.U):
+       This variable conditionally defines the PERL_PRIfldlbl symbol, which
+       indiciates that stdio has a symbol to print long doubles.
+
+d_PRIgldbl (longdblfio.U):
+       This variable conditionally defines the PERL_PRIfldlbl symbol, which
+       indiciates that stdio has a symbol to print long doubles.
+
+d_PRIGldbl (longdblfio.U):
+       This variable conditionally defines the PERL_PRIfldlbl symbol, which
+       indiciates that stdio has a symbol to print long doubles.
+
+d_PRIi64 (quadfio.U):
+       This variable conditionally defines the PERL_PRIi64 symbol, which
+       indiciates that stdio has a symbol to print 64-bit decimal numbers.
+
+d_PRIo64 (quadfio.U):
+       This variable conditionally defines the PERL_PRIo64 symbol, which
+       indiciates that stdio has a symbol to print 64-bit octal numbers.
+
+d_PRIu64 (quadfio.U):
+       This variable conditionally defines the PERL_PRIu64 symbol, which
+       indiciates that stdio has a symbol to print 64-bit unsigned decimal
+       numbers.
+
+d_PRIx64 (quadfio.U):
+       This variable conditionally defines the PERL_PRIx64 symbol, which
+       indiciates that stdio has a symbol to print 64-bit hexadecimal numbers.
+
+d_PRIX64 (quadfio.U):
+       This variable conditionally defines the PERL_PRIX64 symbol, which
+       indiciates that stdio has a symbol to print 64-bit hExADECimAl numbers.
+
 d_pthread_yield (d_pthread_y.U):
        This variable conditionally defines the HAS_PTHREAD_YIELD
        symbol if the pthread_yield routine is available to yield
@@ -1306,6 +1359,9 @@ d_socket (d_socket.U):
        This variable conditionally defines HAS_SOCKET, which indicates
        that the BSD socket interface is supported.
 
+d_socklen_t (d_socklen_t.U):
+       This symbol will be defined if the C compiler supports socklen_t.
+
 d_sockpair (d_socket.U):
        This variable conditionally defines the HAS_SOCKETPAIR symbol, which
        indicates that the BSD socketpair() is supported.
@@ -1388,15 +1444,27 @@ d_strtol (d_strtol.U):
        indicates to the C program that the strtol() routine is available
        to provide better numeric string conversion than atoi() and friends.
 
+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_strtoll (d_strtoll.U):
+       This variable conditionally defines the HAS_STRTOLL symbol, which
+       indicates to the C program that the strtoll() routine is available.
+
 d_strtoul (d_strtoul.U):
        This variable conditionally defines the HAS_STRTOUL symbol, which
        indicates to the C program that the strtoul() routine is available
        to provide conversion of strings to unsigned long.
 
-d_strtoull (strtoull.U):
+d_strtoull (d_strtoull.U):
        This variable conditionally defines the HAS_STRTOULL symbol, which
        indicates to the C program that the strtoull() routine is available.
 
+d_strtouq (d_strtouq.U):
+       This variable conditionally defines the HAS_STRTOUQ symbol, which
+       indicates to the C program that the strtouq() routine is available.
+
 d_strxfrm (d_strxfrm.U):
        This variable conditionally defines HAS_STRXFRM if strxfrm() is
        available to transform strings.
@@ -1634,10 +1702,6 @@ extensions (Extensions.U):
        and is typically used to test whether a particular extesion 
        is available.
 
-fflushNULL (fflushall.U):
-       This symbol, if defined, tells that fflush(NULL) does flush
-       all pending stdio output.
-
 fflushall (fflushall.U):
        This symbol, if defined, tells that to flush
        all pending stdio output one must loop through all
@@ -1645,6 +1709,10 @@ fflushall (fflushall.U):
        Note that if fflushNULL is defined, fflushall will not
        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.
+
 find (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
@@ -1723,6 +1791,8 @@ groupcat (nis.U):
        This variable contains a command that produces the text of the
        /etc/group file.  This is normally "cat /etc/group", but can be
        "ypcat group" when NIS is used.
+       On some systems, such as os390, there may be no equivalent
+       command, in which case this variable is unset.
 
 groupstype (groupstype.U):
        This variable defines Groups_t to be something like gid_t, int, 
@@ -1751,6 +1821,8 @@ hostcat (nis.U):
        This variable contains a command that produces the text of the
        /etc/hosts file.  This is normally "cat /etc/hosts", but can be
        "ypcat hosts" when NIS is used.
+       On some systems, such as os390, there may be no equivalent
+       command, in which case this variable is unset.
 
 huge (models.U):
        This variable contains a flag which will tell the C compiler and loader
@@ -1832,6 +1904,10 @@ i_grp (i_grp.U):
        This variable conditionally defines the I_GRP symbol, and indicates
        whether a C program should include <grp.h>.
 
+i_iconv (i_iconv.U):
+       This variable conditionally defines the I_ICONV symbol, and indicates
+       whether a C program should include <iconv.h>.
+
 i_inttypes (i_inttypes.U):
        This variable conditionally defines the I_INTTYPES symbol,
        and indicates whether a C program should include <inttypes.h>.
@@ -1968,6 +2044,18 @@ i_sysioctl (i_sysioctl.U):
        indicates to the C program that <sys/ioctl.h> exists and should
        be included.
 
+i_syslog (i_syslog.U):
+       This variable conditionally defines the I_SYSLOG symbol,
+       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>.
+
+i_sysmode (i_sysmode.U):
+       This variable conditionally defines the I_SYSMODE symbol,
+       and indicates whether a C program should include <sys/mode.h>.
+
 i_sysmount (i_sysmount.U):
        This variable conditionally defines the I_SYSMOUNT symbol,
        and indicates whether a C program should include <sys/mount.h>.
@@ -2036,6 +2124,10 @@ i_sysun (i_sysun.U):
        to the C program that it should include <sys/un.h> to get UNIX
        domain socket definitions.
 
+i_sysutsname (i_sysutsname.U):
+       This variable conditionally defines the I_SYSUTSNAME symbol,
+       and indicates whether a C program should include <sys/utsname.h>.
+
 i_sysvfs (i_sysvfs.U):
        This variable conditionally defines the I_SYSVFS symbol,
        and indicates whether a C program should include <sys/vfs.h>.
@@ -2092,6 +2184,21 @@ ignore_versioned_solibs (libs.U):
        libraries (libfoo.so.x.y) are to be ignored (because they
        cannot be linked against).
 
+inc_version_list (inc_version_list.U):
+       This variable specifies the list of subdirectories in over
+       which perl.c:incpush() and lib/lib.pm will automatically
+       search when adding directories to @INC.  The elements in
+       the list are separated by spaces.  This is only useful
+       if you have a perl library directory tree structured like the
+       default one.  See INSTALL for how this works.  The versioned
+       site_perl directory was introduced in 5.005, so that is the
+       lowest possible value.
+
+inc_version_list_init (inc_version_list.U):
+       This variable holds the same list as inc_version_list, but
+       each item is enclosed in double quotes and separated by commas, 
+       suitable for use in the PERL_INC_VERSION_LIST initialization.
+
 incpath (usrinc.U):
        This variable must preceed the normal include path to get hte
        right one, as in "$incpath/usr/include" or "$incpath/usr/lib".
@@ -2268,6 +2375,21 @@ libs (libs.U):
        This variable holds the additional libraries we want to use.
        It is up to the Makefile to deal with it.
 
+libsdirs (libs.U):
+       This variable holds the directory names aka dirnames of the libraries
+       we found and accepted, duplicates are removed.
+
+libsfiles (libs.U):
+       This variable holds the filenames aka basenames of the libraries
+       we found and accepted.
+
+libsfound (libs.U):
+       This variable holds the full pathnames of the libraries
+       we found and accepted.
+
+libspath (libs.U):
+       This variable holds the directory names probed for libraries.
+
 libswanted (Myinit.U):
        This variable holds a list of all the libraries we want to
        search.  The order is chosen to pick up the c library
@@ -2413,6 +2535,11 @@ man3ext (man3dir.U):
        have: one of 'n', 'l', or '3'.  The Makefile must supply the '.'.
        See man3dir.
 
+Mcc (Loc.U):
+       This variable is used internally by Configure to determine the
+       full pathname (if any) of the Mcc program.  After Configure runs,
+       the value is reset to a plain "Mcc" and is not useful.
+
 medium (models.U):
        This variable contains a flag which will tell the C compiler and loader
        to produce a program running with a medium memory model.  If the
@@ -2428,6 +2555,11 @@ mkdir (Loc.U):
        full pathname (if any) of the mkdir program.  After Configure runs,
        the value is reset to a plain "mkdir" and is not useful.
 
+mmaptype (d_mmap.U):
+       This symbol contains the type of pointer returned by mmap()
+       (and simultaneously the type of the first argument).
+       It can be 'void *' or 'caddr_t'.
+
 models (models.U):
        This variable contains the list of memory models supported by this
        system.  Possible component values are none, split, unsplit, small,
@@ -2583,18 +2715,37 @@ passcat (nis.U):
        This variable contains a command that produces the text of the
        /etc/passwd file.  This is normally "cat /etc/passwd", but can be
        "ypcat passwd" when NIS is used.
+       On some systems, such as os390, there may be no equivalent
+       command, in which case this variable is unset.
 
 patchlevel (patchlevel.U):
        The patchlevel level of this package.
        The value of patchlevel comes from the patchlevel.h file.
+       In a version number such as 5.6.1, this is the "6".
+       In patchlevel.h, this is referred to as the "PERL_VERSION".
 
 path_sep (Unix.U):
        This is an old synonym for p_ in Head.U, the character
        used to separate elements in the command shell search PATH.
 
 perl (Loc.U):
-       This variable is defined but not used by Configure.
-       The value is a plain '' and is not useful.
+       This variable is used internally by Configure to determine the
+       full pathname (if any) of the perl program.  After Configure runs,
+       the value is reset to a plain "perl" and is not useful.
+
+PERL_REVISION (Oldsyms.U):
+       In a Perl version number such as 5.6.2, this is the 5.
+       This value is manually set in patchlevel.h
+
+PERL_SUBVERSION (Oldsyms.U):
+       In a Perl version number such as 5.6.2, this is the 2.
+       Values greater than 50 represent potentially unstable
+       development subversions.
+       This value is manually set in patchlevel.h
+
+PERL_VERSION (Oldsyms.U):
+       In a Perl version number such as 5.6.2, this is the 6.
+       This value is manually set in patchlevel.h
 
 perladmin (perladmin.U):
        Electronic mail address of the perl5 administrator.
@@ -2722,54 +2873,6 @@ runnm (usenm.U):
        nm extraction should be performed or not, according to the value
        of usenm and the flags on the Configure command line.
 
-sPRIEldbl (longdblfio.U):
-       This variable, if defined, contains the string used by stdio to
-       format long doubles (format 'E') for output.
-
-sPRIFldbl (longdblfio.U):
-       This variable, if defined, contains the string used by stdio to
-       format long doubles (format 'F') for output.
-
-sPRIGldbl (longdblfio.U):
-       This variable, if defined, contains the string used by stdio to
-       format long doubles (format 'G') for output.
-
-sPRIX64 (quadfio.U):
-       This variable, if defined, contains the string used by stdio to
-       format 64-bit hExADECimAl numbers (format 'X') for output.
-
-sPRId64 (quadfio.U):
-       This variable, if defined, contains the string used by stdio to
-       format 64-bit decimal numbers (format 'd') for output.
-
-sPRIeldbl (longdblfio.U):
-       This variable, if defined, contains the string used by stdio to
-       format long doubles (format 'e') for output.
-
-sPRIfldbl (longdblfio.U):
-       This variable, if defined, contains the string used by stdio to
-       format long doubles (format 'f') for output.
-
-sPRIgldbl (longdblfio.U):
-       This variable, if defined, contains the string used by stdio to
-       format long doubles (format 'g') for output.
-
-sPRIi64 (quadfio.U):
-       This variable, if defined, contains the string used by stdio to
-       format 64-bit decimal numbers (format 'i') for output.
-
-sPRIo64 (quadfio.U):
-       This variable, if defined, contains the string used by stdio to
-       format 64-bit octal numbers (format 'o') for output.
-
-sPRIu64 (quadfio.U):
-       This variable, if defined, contains the string used by stdio to
-       format 64-bit unsigned decimal numbers (format 'u') for output.
-
-sPRIx64 (quadfio.U):
-       This variable, if defined, contains the string used by stdio to
-       format 64-bit hexadecimal numbers (format 'x') for output.
-
 sched_yield (d_pthread_y.U):
        This variable defines the way to yield the execution
        of the current thread.
@@ -2943,9 +3046,6 @@ siteprefixexp (siteprefix.U):
        This variable holds the full absolute path of the directory below
        which the user will install add-on packages.  Derived from siteprefix.
 
-sizesize (sizesize.U):
-       This variable contains the size of a sizetype in bytes.
-
 sizetype (sizetype.U):
        This variable defines sizetype to be something like size_t, 
        unsigned long, or whatever type is used to declare length 
@@ -2994,6 +3094,54 @@ split (models.U):
        machines that support separation of instruction and data space.  It is
        up to the Makefile to use this.
 
+sPRId64 (quadfio.U):
+       This variable, if defined, contains the string used by stdio to
+       format 64-bit decimal numbers (format 'd') for output.
+
+sPRIeldbl (longdblfio.U):
+       This variable, if defined, contains the string used by stdio to
+       format long doubles (format 'e') for output.
+
+sPRIEldbl (longdblfio.U):
+       This variable, if defined, contains the string used by stdio to
+       format long doubles (format 'E') for output.
+
+sPRIfldbl (longdblfio.U):
+       This variable, if defined, contains the string used by stdio to
+       format long doubles (format 'f') for output.
+
+sPRIFldbl (longdblfio.U):
+       This variable, if defined, contains the string used by stdio to
+       format long doubles (format 'F') for output.
+
+sPRIgldbl (longdblfio.U):
+       This variable, if defined, contains the string used by stdio to
+       format long doubles (format 'g') for output.
+
+sPRIGldbl (longdblfio.U):
+       This variable, if defined, contains the string used by stdio to
+       format long doubles (format 'G') for output.
+
+sPRIi64 (quadfio.U):
+       This variable, if defined, contains the string used by stdio to
+       format 64-bit decimal numbers (format 'i') for output.
+
+sPRIo64 (quadfio.U):
+       This variable, if defined, contains the string used by stdio to
+       format 64-bit octal numbers (format 'o') for output.
+
+sPRIu64 (quadfio.U):
+       This variable, if defined, contains the string used by stdio to
+       format 64-bit unsigned decimal numbers (format 'u') for output.
+
+sPRIx64 (quadfio.U):
+       This variable, if defined, contains the string used by stdio to
+       format 64-bit hexadecimal numbers (format 'x') for output.
+
+sPRIX64 (quadfio.U):
+       This variable, if defined, contains the string used by stdio to
+       format 64-bit hExADECimAl numbers (format 'X') for output.
+
 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
@@ -3069,6 +3217,7 @@ submit (Loc.U):
 subversion (patchlevel.U):
        The subversion level of this package.
        The value of subversion comes from the patchlevel.h file.
+       In a version number such as 5.6.1, this is the "1".
        This is unique to perl.
 
 sysman (sysman.U):
@@ -3179,15 +3328,25 @@ uquadtype (quadtype.U):
        unsigned int, unsigned long long, uint64_t, or whatever type is
        used for 64-bit integers.
 
+use5005threads (usethreads.U):
+       This variable conditionally defines the USE_5005THREADS symbol,
+       and indicates that Perl should be built to use the 5.005-based
+       threading implementation.
+
 use64bits (use64bits.U):
        This variable conditionally defines the USE_64_BITS symbol,
-       and indicates that explicit 64-bit interfaces should be used
+       and indicates that 64-bit integer types should be used
        when available.
 
 usedl (dlsrc.U):
-       This variable indicates if the the system supports dynamic
+       This variable indicates if the system supports dynamic
        loading of some sort.  See also dlsrc and dlobj.
 
+useithreads (usethreads.U):
+       This variable conditionally defines the USE_ITHREADS symbol,
+       and indicates that Perl should be built to use the interpreter-based
+       threading implementation.
+
 uselargefiles (uselfs.U):
        This variable conditionally defines the USE_LARGE_FILES symbol,
        and indicates that large file interfaces should be used when
@@ -3197,10 +3356,6 @@ uselongdouble (uselongdbl.U):
        This variable conditionally defines the USE_LONG_DOUBLE symbol,
        and indicates that long doubles should be used when available.
 
-uselonglong (uselonglong.U):
-       This variable conditionally defines the USE_LONG_LONG symbol,
-       and indicates that long longs should be used when available.
-
 usemorebits (usemorebits.U):
        This variable conditionally defines the USE_MORE_BITS symbol,
        and indicates that explicit 64-bit interfaces and long doubles
@@ -3330,11 +3485,11 @@ vendorprefixexp (vendorprefix.U):
        which the vendor will install add-on packages.  Derived from vendorprefix.
 
 version (patchlevel.U):
-       The full version number of this package.  This combines
-       baserev, patchlevel, and subversion to get the full
-       version number, including any possible subversions.  Care
-       is taken to use the C locale in order to get something
-       like 5.004 instead of 5,004.  This is unique to perl.
+       The full version number of this package, such as 5.6.1 (or 5_6_1).
+       This combines baserev, patchlevel, and subversion to get the
+       full version number, including any possible subversions.
+       This is suitable for use as a directory name, and hence is
+       filesystem dependent.
 
 vi (Loc.U):
        This variable is defined but not used by Configure.