X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=INSTALL;h=f087b77fc8d55263ab8fc7bb904bca60c5311214;hb=502fc48ee3e3c29dc3d569f8e543d48ceb7a4de6;hp=63026ceae497b4a1dab57cd966ee9384aa3f7560;hpb=14eee2f176c01921f858020562d3814fbbde603c;p=p5sagit%2Fp5-mst-13.2.git diff --git a/INSTALL b/INSTALL index 63026ce..f087b77 100644 --- a/INSTALL +++ b/INSTALL @@ -24,7 +24,7 @@ with all the defaults are: Each of these is explained in further detail below. -B: starting from the release 5.6.0 Perl will use a version +B: starting from the release 5.6.0, Perl will use a version scheme where even-numbered subreleases (like 5.6) are stable maintenance releases and odd-numbered subreleases (like 5.7) are unstable development releases. Development releases should not be @@ -88,8 +88,8 @@ that too. Additional information is in the Porting/ directory. =head1 WARNING: This version requires an extra step to build old extensions. 5.005_53 and later releases do not export unadorned -global symbols anymore. This means you may need to build older -extensions that have not been updated for the new naming convention +global symbols anymore. This means you may need to build rather old +extensions that have not been updated for the current naming convention with: perl Makefile.PL POLLUTE=1 @@ -101,17 +101,12 @@ building perl itself with: pod/perldelta.pod contains more details about this. -=head1 WARNING: This version may not be binary compatible with Perl 5.005. +=head1 WARNING: This version is not binary compatible with releases of +Perl prior to 5.8.0. -Using the default Configure options for building perl should get you -a perl that will be binary compatible with the 5.005 release. - -However, if you run Configure with any custom options, such as --Dusethreads, -Dusemultiplicity, -Dusemymalloc, -Ubincompat5005 etc., -the resulting perl will not be binary compatible. Under these -circumstances, if you have dynamically loaded extensions that were -built under perl 5.005, you will need to rebuild and reinstall all -those extensions to use them with 5.6. +If you have built extensions (ie modules that include C code) +using an earlier version of Perl, you will need to rebuild and reinstall +those extensions. Pure perl modules without XS or C code should continue to work fine without reinstallation. See the discussions below on @@ -806,18 +801,23 @@ and the long double support. =head2 Selecting File IO mechanisms -Previous versions of perl used the standard IO mechanisms as defined in -stdio.h. Versions 5.003_02 and later of perl allowed alternate IO -mechanisms via a "PerlIO" abstraction, but the stdio mechanism is still -the default and is the only supported mechanism. +Executive summary: in Perl 5.8, you should use the default "PerlIO" +as the IO mechanism unless you have a good reason not to. + +In more detail: previous versions of perl used the standard IO +mechanisms as defined in stdio.h. Versions 5.003_02 and later of perl +introduced alternate IO mechanisms via a "PerlIO" abstraction, but up +until and including Perl 5.6, the stdio mechanism was still the default +and the only supported mechanism. -Starting from Perl 5.8 the default mechanism is to use the PerlIO +Starting from Perl 5.8, the default mechanism is to use the PerlIO abstraction, because it allows better control of I/O mechanisms, instead of having to work with (often, work around) vendors' I/O implementations. -This PerlIO abstraction can be disabled either on the Configure -command line with +This PerlIO abstraction can be (but again, unless you know what you +are doing, should not be) disabled either on the Configure command +line with sh Configure -Uuseperlio @@ -986,15 +986,8 @@ or you can answer 'n' at the appropriate interactive Configure prompt. =item -DPERL_POLLUTE_MALLOC -NOTE: This flag is enabled automatically on some platforms if you -asked for binary compatibility with version 5.005, or if you just -run Configure to accept all the defaults on those platforms. You -can refuse the automatic binary compatibility flags wholesale by -running: - - sh Configure -Ubincompat5005 - -or by answering 'n' at the appropriate prompt. +NOTE: This flag is enabled automatically on some platforms if you just +run Configure to accept all the defaults on those platforms. Perl's malloc family of functions are called Perl_malloc(), Perl_realloc(), Perl_calloc() and Perl_mfree(). When this flag is