Regenerate META.yml
[p5sagit/p5-mst-13.2.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 6b29b2d..6181781 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -307,6 +307,10 @@ have to reboot/reconfigure/rebuild your operating system to be 64-bit
 aware.
 
 Natively 64-bit systems need neither -Duse64bitint nor -Duse64bitall.
+On these systems, it might be the default compilation mode, and there
+is currently no guarantee that passing no use64bitall option to the
+Configure process will build a 32bit perl. Implementing -Duse32bit*
+options is planned for perl 5.12.
 
 =head3 Long doubles
 
@@ -1044,6 +1048,12 @@ To build without perl's malloc, you can use the Configure command
 
 or you can answer 'n' at the appropriate interactive Configure prompt.
 
+Note that Perl's malloc isn't always used by default; that actually
+depends on your system. For example, on Linux and FreeBSD (and many more
+systems), Configure chooses to use the system's malloc by default.
+See the appropriate file in the F<hints/> directory to see how the
+default is set.
+
 =item -DPERL_POLLUTE_MALLOC
 
 NOTE: This flag is enabled automatically on some platforms if you just
@@ -1138,7 +1148,7 @@ file, which also explains hint files known as callback-units.
 Note that any hint file is read before any Policy file, meaning that
 Policy overrides hints -- see L</Site-wide Policy settings>.
 
-=item *** WHOA THERE!!! ***
+=item WHOA THERE!!!
 
 If you are re-using an old config.sh, it's possible that Configure detects
 different values from the ones specified in this file.  You will almost
@@ -1310,7 +1320,7 @@ This will attempt to make perl in the current directory.
 
 =head2 Expected errors
 
-These errors are normal, and can be ignored:
+These error reports are normal, and can be ignored:
 
   ...
   make: [extra.pods] Error 1 (ignored)
@@ -1441,7 +1451,7 @@ If you can't, you can either link with the updated resolver library provided
 with BIND 8.1 or rename /usr/local/bin/arpa/inet.h during the Perl build and
 test process to avoid the problem.
 
-=item *_r() prototype NOT found
+=item .*_r() prototype NOT found
 
 On a related note, if you see a bunch of complaints like the above about
 reentrant functions - specifically networking-related ones - being present
@@ -1992,25 +2002,44 @@ make install will install the following:
 
     scripts
 
-       cppstdin        This is used by perl -P, if your cc -E can't
-                       read from stdin.
+       cppstdin        This is used by the deprecated switch perl -P, if
+                       your cc -E can't read from stdin.
        c2ph, pstruct   Scripts for handling C structures in header files.
-       s2p             sed-to-perl translator
+       config_data     Manage Module::Build-like module configuration
+       corelist        Shows versions of modules that come with different
+                       versions of perl
+       cpan            The CPAN shell
+       cpan2dist       The CPANPLUS distribution creator
+       cpanp           The CPANPLUS shell
+       cpanp-run-perl  An helper for cpanp
+       dprofpp         Perl code profiler post-processor
+       enc2xs          Encoding module generator
        find2perl       find-to-perl translator
        h2ph            Extract constants and simple macros from C headers
        h2xs            Converts C .h header files to Perl extensions.
+       instmodsh       A shell to examine installed modules.
+       libnetcfg       Configure libnet.
        perlbug         Tool to report bugs in Perl.
        perldoc         Tool to read perl's pod documentation.
+       perlivp         Perl Installation Verification Procedure
+       piconv          A Perl implementation of the encoding conversion
+                       utility iconv
        pl2pm           Convert Perl 4 .pl files to Perl 5 .pm modules
        pod2html,       Converters from perl's pod documentation format
        pod2latex,      to other useful formats.
        pod2man,
        pod2text,
-       pod2checker,
-       pod2select,
        pod2usage
+       podchecker      POD syntax checker
+       podselect       Prints sections of POD documentation
+       prove           A command-line tool for running tests
+       psed            A Perl implementation of sed
+       ptar            A Perl implementation of tar
+       ptardiff        A diff for tar archives
+       s2p             sed-to-perl translator
+       shasum          A tool to print or check SHA checksums
        splain          Describe Perl warnings and errors
-       dprofpp         Perl code profile post-processor
+       xsubpp          Compiler to convert Perl XS code into C code
 
     library files
 
@@ -2024,7 +2053,7 @@ make install will install the following:
        pages           in $man3dir, usually /usr/local/man/man3.
        pod/*.pod       in $privlib/pod/.
 
-Installperl will also create the directories listed above
+installperl will also create the directories listed above
 in L<"Installation Directories">.
 
 Perl's *.h header files and the libperl library are also installed
@@ -2032,9 +2061,11 @@ under $archlib so that any user may later build new modules, run the
 optional Perl compiler, or embed the perl interpreter into another
 program even if the Perl source is no longer available.
 
+=head2 Installing only version-specific parts
+
 Sometimes you only want to install the version-specific parts of the perl
 installation.  For example, you may wish to install a newer version of
-perl alongside an already installed production version of perl without
+perl alongside an already installed production version without
 disabling installation of new modules for the production version.
 To only install the version-specific parts of the perl installation, run
 
@@ -2046,6 +2077,7 @@ you can just manually run
        ./perl installperl -v
 
 and skip installman altogether.
+
 See also L<"Maintaining completely separate versions"> for another
 approach.
 
@@ -2103,81 +2135,64 @@ Perl 5.10 is not binary compatible with earlier versions of Perl.
 In other words, you will have to recompile your XS modules.
 
 In general, you can usually safely upgrade from one version of Perl (e.g.
-5.8.0) to another similar version (e.g. 5.8.2) without re-compiling
-all of your add-on extensions.  You can also safely leave the old version
-around in case the new version causes you problems for some reason.
-For example, if you want to be sure that your script continues to run
-with 5.8.2, simply replace the '#!/usr/local/bin/perl' line at the
-top of the script with the particular version you want to run, e.g.
-#!/usr/local/bin/perl5.8.2.
+5.X.Y) to another similar minor version (e.g. 5.X.(Y+1))) without
+re-compiling all of your extensions.  You can also safely leave the old
+version around in case the new version causes you problems for some reason.
 
 Usually, most extensions will probably not need to be recompiled to be
 used with a newer version of Perl.  Here is how it is supposed to work.
 (These examples assume you accept all the Configure defaults.)
 
-Suppose you already have version 5.005_03 installed.  The directories
-searched by 5.005_03 are
+Suppose you already have version 5.8.7 installed.  The directories
+searched by 5.8.7 are typically like:
 
-       /usr/local/lib/perl5/5.00503/$archname
-       /usr/local/lib/perl5/5.00503
-       /usr/local/lib/perl5/site_perl/5.005/$archname
-       /usr/local/lib/perl5/site_perl/5.005
+       /usr/local/lib/perl5/5.8.7/$archname
+       /usr/local/lib/perl5/5.8.7
+       /usr/local/lib/perl5/site_perl/5.8.7/$archname
+       /usr/local/lib/perl5/site_perl/5.8.7
 
-Beginning with 5.6.0 the version number in the site libraries are
-fully versioned.  Now, suppose you install version 5.6.0.  The directories
-searched by version 5.6.0 will be
+Now, suppose you install version 5.8.8.  The directories
+searched by version 5.8.8 will be:
 
-       /usr/local/lib/perl5/5.6.0/$archname
-       /usr/local/lib/perl5/5.6.0
-       /usr/local/lib/perl5/site_perl/5.6.0/$archname
-       /usr/local/lib/perl5/site_perl/5.6.0
+       /usr/local/lib/perl5/5.8.8/$archname
+       /usr/local/lib/perl5/5.8.8
+       /usr/local/lib/perl5/site_perl/5.8.8/$archname
+       /usr/local/lib/perl5/site_perl/5.8.8
 
-       /usr/local/lib/perl5/site_perl/5.005/$archname
-       /usr/local/lib/perl5/site_perl/5.005
+       /usr/local/lib/perl5/site_perl/5.8.7/$archname
+       /usr/local/lib/perl5/site_perl/5.8.7
        /usr/local/lib/perl5/site_perl/
 
 Notice the last three entries -- Perl understands the default structure
 of the $sitelib directories and will look back in older, compatible
-directories.  This way, modules installed under 5.005_03 will continue
-to be usable by 5.005_03 but will also accessible to 5.6.0.  Further,
+directories.  This way, modules installed under 5.8.7 will continue
+to be usable by 5.8.7 but will also accessible to 5.8.8.  Further,
 suppose that you upgrade a module to one which requires features
-present only in 5.6.0.  That new module will get installed into
-/usr/local/lib/perl5/site_perl/5.6.0 and will be available to 5.6.0,
-but will not interfere with the 5.005_03 version.
+present only in 5.8.8.  That new module will get installed into
+/usr/local/lib/perl5/site_perl/5.8.8 and will be available to 5.8.8,
+but will not interfere with the 5.8.7 version.
 
 The last entry, /usr/local/lib/perl5/site_perl/, is there so that
 5.6.0 and above will look for 5.004-era pure perl modules.
 
-Lastly, suppose you now install 5.8.0, which is not binary compatible
-with 5.6.0.  The directories searched by 5.8.0 (if you don't change the
+Lastly, suppose you now install 5.10.0, which is not binary compatible
+with 5.8.x.  The directories searched by 5.10.0 (if you don't change the
 Configure defaults) will be:
 
-       /usr/local/lib/perl5/5.8.0/$archname
-       /usr/local/lib/perl5/5.8.0
-       /usr/local/lib/perl5/site_perl/5.8.0/$archname
-       /usr/local/lib/perl5/site_perl/5.8.0
+       /usr/local/lib/perl5/5.10.0/$archname
+       /usr/local/lib/perl5/5.10.0
+       /usr/local/lib/perl5/site_perl/5.10.0/$archname
+       /usr/local/lib/perl5/site_perl/5.10.0
 
-       /usr/local/lib/perl5/site_perl/5.6.0
+       /usr/local/lib/perl5/site_perl/5.8.8
 
-       /usr/local/lib/perl5/site_perl/5.005
+       /usr/local/lib/perl5/site_perl/5.8.7
 
        /usr/local/lib/perl5/site_perl/
 
 Note that the earlier $archname entries are now gone, but pure perl
 modules from earlier versions will still be found.
 
-Assuming the users in your site are still actively using perl 5.6.0 and
-5.005 after you installed 5.8.0, you can continue to install add-on
-extensions using any of perl 5.8.0, 5.6.0, or 5.005.  The installations
-of these different versions remain distinct, but remember that the
-newer versions of perl are automatically set up to search the
-compatible site libraries of the older ones.  This means that
-installing a new XS extension with 5.005 will make it visible to both
-5.005 and 5.6.0, but not to 5.8.0.  Installing a pure perl module with
-5.005 will make it visible to all three versions.  Later, if you
-install the same extension using, say, perl 5.8.0, it will override the
-5.005-installed version, but only for perl 5.8.0.
-
 This way, you can choose to share compatible extensions, but also upgrade
 to a newer version of an extension that may be incompatible with earlier
 versions, without breaking the earlier versions' installations.
@@ -2190,14 +2205,14 @@ won't interfere with another version.  (The defaults guarantee this for
 libraries after 5.6.0, but not for executables. TODO?)  One convenient
 way to do this is by using a separate prefix for each version, such as
 
-       sh Configure -Dprefix=/opt/perl5.8.2
+       sh Configure -Dprefix=/opt/perl5.10.0
 
-and adding /opt/perl5.8.2/bin to the shell PATH variable.  Such users
+and adding /opt/perl5.10.0/bin to the shell PATH variable.  Such users
 may also wish to add a symbolic link /usr/local/bin/perl so that
 scripts can still start with #!/usr/local/bin/perl.
 
 Others might share a common directory for maintenance sub-versions
-(e.g. 5.8 for all 5.8.x versions), but change directory with
+(e.g. 5.10 for all 5.10.x versions), but change directory with
 each major version.
 
 If you are installing a development subversion, you probably ought to
@@ -2288,36 +2303,13 @@ your old config.sh and Policy.sh files.
 
 If you are upgrading from a previous version of perl, or if you
 change systems or compilers or make other significant changes, or if
-you are experiencing difficulties building perl, you should probably
-not re-use your old config.sh.  Simply remove it:
-
-       rm -f config.sh
-
-If you wish to re-use your old config.sh, be especially attentive to the
-version and architecture-specific questions and answers.  For example,
-the default directory for architecture-dependent library modules
-includes the version name.  By default, Configure will reuse your old
-name (e.g. /opt/perl/lib/i86pc-solaris/5.003) even if you're running
-Configure for a different version, e.g. 5.004.  Similarly, if you used
-a shared libperl.so (see below) with version numbers, you will probably
-want to adjust them as well.
-
-Also, be careful to check your architecture name.  For example, some
-Linux distributions use i386, but Configure uses the output of the arch
-command, which might be i686 instead.  If you pick up a precompiled
-binary, or compile extensions on different systems, they might not all
-agree on the architecture name.
-
-In short, if you wish to use your old config.sh, I recommend running
-Configure interactively rather than blindly accepting the defaults.
+you are experiencing difficulties building perl, you should not re-use
+your old config.sh.
 
 If your reason to reuse your old config.sh is to save your particular
 installation choices, then you can probably achieve the same effect by
 using the Policy.sh file.  See the section on L<"Site-wide Policy
-settings"> above.  If you wish to start with a fresh distribution, you
-also need to remove any old Policy.sh files you may have with
-
-       rm -f Policy.sh
+settings"> above.
 
 =head1 Minimizing the Perl installation
 
@@ -2468,21 +2460,6 @@ build process.  Type B<man perl> to get started.  Alternatively, you
 can type B<perldoc perl> to use the supplied perldoc script.  This is
 sometimes useful for finding things in the library modules.
 
-Under UNIX, you can produce a documentation book in postscript form,
-along with its table of contents, by going to the pod/ subdirectory and
-running (either):
-
-       ./roffitall -groff              # If you have GNU groff installed
-       ./roffitall -psroff             # If you have psroff
-
-This will leave you with two postscript files ready to be printed.
-(You may need to fix the roffitall command to use your local troff
-set-up.)
-
-Note that you must have performed the installation already before running
-the above, since the script collects the installed files to generate
-the documentation.
-
 =head1 AUTHOR
 
 Original author:  Andy Dougherty doughera@lafayette.edu , borrowing very