This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
globvar.sym: include PL_ prefix in names
[perl5.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index bff07fb..bef2786 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -329,11 +329,31 @@ range and precision of your double precision floating point numbers
 (that is, Perl's numbers).  Use Configure -Duselongdouble to enable
 this support (if it is available).
 
+Note that the exact format and range of long doubles varies:
+the most common is the x86 80-bit (64 bits of mantissa) format,
+but there are others, with different mantissa and exponent ranges.
+In fact, the type may not be called "long double" at C level, and
+therefore the C<uselongdouble> means "using floating point larger
+than double".
+
 =head3 "more bits"
 
 You can "Configure -Dusemorebits" to turn on both the 64-bit support
 and the long double support.
 
+=head3 quadmath
+
+One option for long doubles is that gcc 4.6 and later have a library
+called quadmath, which implements the IEEE 754 quadruple precision
+(128-bit, 113 bits of mantissa) floating point numbers.  The library
+works at least on x86 and ia64 platforms.  It may be part of your gcc
+installation, or you may need to install it separately.
+
+With "Configure -Dusequadmath" you can try enabling its use, but note
+the compiler dependency, you may need to also add "-Dcc=...".
+This option also turns on -Duselongdouble.  At C level the type is called
+C<__float128> (note, not "long double"), but Perl source knows it as NV.
+
 =head3 Algorithmic Complexity Attacks on Hashes
 
 Perl 5.18 reworked the measures used to secure its hash function
@@ -460,7 +480,7 @@ You can elect to build a shared libperl by
 
 To build a shared libperl, the environment variable controlling shared
 library search (LD_LIBRARY_PATH in most systems, DYLD_LIBRARY_PATH for
-NeXTSTEP/OPENSTEP/Darwin, LD_LIBRARY_PATH/SHLIB_PATH
+Darwin, LD_LIBRARY_PATH/SHLIB_PATH
 for HP-UX, LIBPATH for AIX, PATH for Cygwin) must be set up to include
 the Perl build directory because that's where the shared libperl will
 be created.  Configure arranges makefile to have the correct shared
@@ -563,7 +583,7 @@ The directories set up by Configure fall into three broad categories.
 
 =item Directories for the perl distribution
 
-By default, Configure will use the following directories for 5.21.1.
+By default, Configure will use the following directories for 5.21.5.
 $version is the full perl version number, including subversion, e.g.
 5.12.3, and $archname is a string like sun4-sunos,
 determined by Configure.  The full definitions of all Configure
@@ -2205,7 +2225,6 @@ make install will install the following:
                        if your cc -E can't read from stdin.
        c2ph, pstruct   Scripts for handling C structures in header
                         files.
-       config_data     Manage Module::Build-like module configuration.
        corelist        Shows versions of modules that come with
                         different
                        versions of perl.
@@ -2417,7 +2436,7 @@ http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
 
 =head1 Coexistence with earlier versions of perl 5
 
-Perl 5.21.1 is not binary compatible with earlier versions of Perl.
+Perl 5.21.5 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.
@@ -2491,9 +2510,9 @@ 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.21.1
+       sh Configure -Dprefix=/opt/perl5.21.5
 
-and adding /opt/perl5.21.1/bin to the shell PATH variable.  Such users
+and adding /opt/perl5.21.5/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.
 
@@ -2506,13 +2525,13 @@ seriously consider using a separate directory, since development
 subversions may not have all the compatibility wrinkles ironed out
 yet.
 
-=head2 Upgrading from 5.19.0 or earlier
+=head2 Upgrading from 5.21.3 or earlier
 
-B<Perl 5.21.1 may not be binary compatible with Perl 5.19.11 or
+B<Perl 5.21.5 may not be binary compatible with Perl 5.21.4 or
 earlier Perl releases.>  Perl modules having binary parts
 (meaning that a C compiler is used) will have to be recompiled to be
-used with 5.21.1.  If you find you do need to rebuild an extension with
-5.21.1, you may safely do so without disturbing the older
+used with 5.21.5.  If you find you do need to rebuild an extension with
+5.21.5, you may safely do so without disturbing the older
 installations.  (See L<"Coexistence with earlier versions of perl 5">
 above.)
 
@@ -2545,15 +2564,15 @@ Firstly, the bare minimum to run this script
      print("$f\n");
   }
 
-in Linux with perl-5.21.1 is as follows (under $Config{prefix}):
+in Linux with perl-5.21.5 is as follows (under $Config{prefix}):
 
   ./bin/perl
-  ./lib/perl5/5.21.1/strict.pm
-  ./lib/perl5/5.21.1/warnings.pm
-  ./lib/perl5/5.21.1/i686-linux/File/Glob.pm
-  ./lib/perl5/5.21.1/feature.pm
-  ./lib/perl5/5.21.1/XSLoader.pm
-  ./lib/perl5/5.21.1/i686-linux/auto/File/Glob/Glob.so
+  ./lib/perl5/5.21.5/strict.pm
+  ./lib/perl5/5.21.5/warnings.pm
+  ./lib/perl5/5.21.5/i686-linux/File/Glob.pm
+  ./lib/perl5/5.21.5/feature.pm
+  ./lib/perl5/5.21.5/XSLoader.pm
+  ./lib/perl5/5.21.5/i686-linux/auto/File/Glob/Glob.so
 
 Secondly, for perl-5.10.1, the Debian perl-base package contains 591 files,
 (of which 510 are for lib/unicore) totaling about 3.5MB in its i386 version.