-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.