[ID 20020708.001] makedepend problem (output of cppstdin garbled)
[p5sagit/p5-mst-13.2.git] / README.vos
index eb01e37..08c44bb 100644 (file)
@@ -8,20 +8,117 @@ README.vos - Perl for Stratus VOS
 
 =head1 SYNOPSIS
 
-This is a port of Perl version 5 to VOS.  Perl is a scripting or
-macro language that is popular on many systems.  See your local
-computer bookstore for a number of good books on Perl.
+This file contains notes for building perl on the Stratus VOS
+operating system.  Perl is a scripting or macro language that is
+popular on many systems.  See L<perlbook> for a number of good
+books on Perl.
+
+These are instructions for building Perl from source.  Most people can
+simply download a pre-compiled distribution from the VOS anonymous FTP
+site.  If you are running VOS Release 14.2.0 or earlier, download Perl
+from ftp://ftp.stratus.com/pub/vos/posix/alpha/alpha.html  If you are
+running VOS Release 14.3.0 or later, download Perl from
+ftp://ftp.stratus.com/pub/vos/posix/ga/ga.html  Instructions for
+unbundling the Perl distribution file are at
+ftp://ftp.stratus.com/pub/vos/utility/utility.html
+
+If you are running VOS Release 14.4.1 or later, you can obtain a
+pre-compiled, supported copy of perl by purchasing Release 2.0.1
+of the VOS GNU C++ and GNU Tools product from Stratus
+Technologies.
+
+=head2 Multiple methods to build perl for VOS
+
+If you elect to build perl from its source code, you have several
+different ways that you can build perl.  The method that you use
+depends on the version of VOS that you are using and on the
+architecture of you Stratus hardware platform.
+
+=over 5
+
+=item 1
+
+If you have a Stratus XA2000 (Motorola 68k-based) platform, you
+must build perl using the alpha version of VOS POSIX support and
+using the VOS Standard C Cross-compiler.  You must build perl on
+VOS Release 14.1.0 (or later) on an XA/R or Continuum platform.
+
+This version of perl is properly called "miniperl" because it
+does not contain the complete perl functionality.
+
+You must build perl with the compile_perl.cm command macro found
+in the vos subdirectory.
+
+=item 2
+
+If you have a Stratus XA/R (Intel i860-based) platform, you must
+build perl using the alpha version of VOS POSIX support and using
+the VOS Standard C compiler or cross-compiler.  You must build
+perl on VOS Release 14.1.0 (or later) on an XA/R or Continuum
+platform.
+
+This version of perl is properly called "miniperl" because it
+does not contain the complete perl functionality.
+
+You must build perl with the compile_perl.cm command macro found
+in the vos subdirectory.
+
+=item 3
+
+If you have a Stratus Continuum (PARISC-based) platform that is
+running a version of VOS earlier than VOS 14.3.0, you must build
+perl using the alpha version of VOS POSIX support and using the
+VOS Standard C compiler or cross-compiler.  You must build perl
+on VOS Release 14.1.0 (or later) on an XA/R or Continuum
+platform.
+
+This version of perl is properly called "miniperl" because it
+does not contain the complete perl functionality.
+
+You must build perl with the compile_perl.cm command macro found
+in the vos subdirectory.
+
+=item 4
+
+If you have a Stratus Continuum (PARISC-based) platform that is
+running VOS Release 14.3.0 through VOS Release 14.4.1, you must
+build perl using the generally-available version of VOS POSIX
+support, and using either the VOS Standard C compiler or the VOS
+GNU C compiler.  You must build perl on VOS Release 14.3.0 (or
+later) on a Continuum platform.
+
+This version of perl is properly called "miniperl" because it
+does not contain the complete perl functionality.
+
+You must build perl with the compile_perl.cm command macro found
+in the vos subdirectory.
+
+=item 5
+
+If you have a Stratus Continuum (PA-RISC-based) platform that is
+running VOS Release 14.5.0 or later, you can either use the
+previous method to build "miniperl" or you can build "full
+perl", which contains the complete functionality of perl.  I
+strongly recommend that you build full perl.  To build full
+perl, you must use the generally-available version of VOS POSIX
+support.  You must use the VOS GNU C compiler and the VOS GNU
+C/C++ and GNU Tools Release 2.0.1 product.  You must build full
+perl on VOS Release 14.5.0 (or later) on a Continuum platform.
+
+You must build full perl with the compile_full_perl.cm command
+macro found in the vos subdirectory.
+
+=back
 
 =head2 Stratus POSIX Support
 
 Note that there are two different implementations of POSIX.1
 support on VOS.  There is an alpha version of POSIX that is
 available from the Stratus anonymous ftp site
-(ftp://ftp.stratus.com/pub/vos/posix/alpha/alpha.html).  There is
-a generally-available version of POSIX that comes with the VOS
-Standard C Compiler or VOS C runtime in VOS Release 14.3.0 or
-higher.  This port of perl will compile and bind with either
-version of POSIX.
+( ftp://ftp.stratus.com/pub/vos/posix/alpha/alpha.html ).  There
+is a generally-available version of POSIX that comes with VOS
+Release 14.3.0 or higher.  This port of POSIX will compile and
+bind with either version of POSIX.
 
 Most of the Perl features should work on VOS regardless of which
 version of POSIX that you are using.  However, the alpha version
@@ -70,9 +167,9 @@ Stratus FTP site.  Login anonymously to ftp.stratus.com and
 get the file /pub/vos/posix/alpha/posix.save.evf.gz in
 binary file-transfer mode.  Or use the Uniform Resource
 Locator (URL)
-ftp://ftp.stratus.com/pub/vos/alpha/posix.save.evf.gz from
+ftp://ftp.stratus.com/pub/vos/posix/alpha/posix.save.evf.gz from
 your web browser.  Instructions for unbundling this file
-are at ftp://ftp.stratus.com/pub/vos/utility/utility.html.
+are at ftp://ftp.stratus.com/pub/vos/utility/utility.html
 This is not a standard Stratus product.
 
 In VOS Release 14.3.0, the generally-available version of
@@ -93,19 +190,19 @@ execute on VOS Release 12 or earlier.
 
 If you are using the generally-available version of VOS POSIX
 support, then you should also acquire the VOS GNU C/C++ Compiler
-and GNU Tools product because it provides many common Unix or
-POSIX commands.  When perl is built with this version of POSIX
-support, it assumes that it can find "bash", "sed" and other
-POSIX-compatible commands in the directory
+and GNU Tools product.  When perl is built with this version of
+POSIX support, it assumes that it can find "bash", "sed" and
+other POSIX-compatible commands in the directory
 /system/gnu_library/bin.
 
 =back
 
-To build perl 5, change to the "vos" subdirectory and type the
-command "compile_perl -processor X", where X is the processor
-type (mc68020, i80860, pa7100, pa8000) that you wish to use.
-Note that the generally-available version of POSIX.1 support is
-not available for the mc68020 or i80860 processors.
+To build perl using the supplied VOS command macros, change to
+the "vos" subdirectory and type the command "compile_perl
+-processor X", where X is the processor type (mc68020, i80860,
+pa7100, pa8000) that you wish to use.  Note that the
+generally-available version of POSIX.1 support is not available
+for the mc68020 or i80860 processors.
 
 Use the "-version alpha" control argument to build perl with
 the alpha version of POSIX support, and use the "-version
@@ -126,68 +223,63 @@ execute on the PA7100, PA8000, PA8500 and PA8600 processors, and
 that code compiled for the pa8000 processor type can execute on
 the PA8000, PA8500 and PA8600 processors.
 
+To build full perl using the supplied Configure script and
+makefiles, change to the "vos" subdirectory and type the command
+"compile_full_perl" or "start_process compile_full_perl".  This
+will configure, build, and test perl.  All of the test cases
+that are executed should pass.
+
 =head2 Installing Perl 5 on VOS
 
 =over 4
 
 =item 1
 
-Create the directory >system>ported>command_library.
+If you have built perl using the Configure script, ensure that
+you have modify permission to C<< >system>ported >> and type
 
-=item 2
-
-Copy the appropriate version of the perl program module to
-this directory.  For example, with your current directory
-set to the top-level directory of Perl 5, to install the
-executable program module for the Motorola 68K
-architecture, enter:
-
-          !copy_file vos>obj>perl.pm >system>ported>command_library>*
+     gmake install
 
-(If you wish to use both Perl version 4 and Perl version 5,
-you must give them different names; for example, perl.pm
-and perl5.pm).
-
-=item 3
+=item 2
 
-Create the directory >system>ported>perl>lib.
+If you have built perl using any of the other methods, type
 
-=item 4
+     install_perl -processor PROCESSOR -name NAME
 
-Copy all of the files and subdirectories from the lib
-subdirectory into this new directory.  For example, with
-the current directory set to the top-level directory of the
-perl distribution, enter:
+where PROCESSOR is mc68020, i80860, pa7100, or pa8000, as
+appropriate, and NAME is perl or perl5, according to which name
+you wish to use.
 
-          !copy_dir lib >system>ported>perl>lib>5.7
+This command macro will install perl and all of its related
+files in the proper directories.
 
-=item 5
+=item 3
 
 While there are currently no architecture-specific
 extensions or modules distributed with perl, the following
 directories can be used to hold such files:
 
-          >system>ported>perl>lib>5.7.68k
-          >system>ported>perl>lib>5.7.860
-          >system>ported>perl>lib>5.7.7100
-          >system>ported>perl>lib>5.7.8000
+     >system>ported>lib>perl5>5.8.0>68k
+     >system>ported>lib>perl5>5.8.0>860
+     >system>ported>lib>perl5>5.8.0>7100
+     >system>ported>lib>perl5>5.8.0>8000
 
-=item 6
+=item 4
 
 Site-specific perl extensions and modules can be installed in one of
 two places.  Put architecture-independent files into:
 
-          >system>ported>perl>lib>site>5.7
+     >system>ported>lib>perl5>site_perl>5.8.0
 
-Put architecture-dependent files into one of the following
-directories:
+Put site-specific architecture-dependent files into one of the
+following directories:
 
-          >system>ported>perl>lib>site>5.7.68k
-          >system>ported>perl>lib>site>5.7.860
-          >system>ported>perl>lib>site>5.7.7100
-          >system>ported>perl>lib>site>5.7.8000
+     >system>ported>lib>perl5>site_perl>5.8.0>68k
+     >system>ported>lib>perl5>site_perl>5.8.0>860
+     >system>ported>lib>perl5>site_perl>5.8.0>7100
+     >system>ported>lib>perl5>site_perl>5.8.0>8000
 
-=item 7
+=item 5
 
 You can examine the @INC variable from within a perl program
 to see the order in which Perl searches these directories.
@@ -224,6 +316,22 @@ supported epoch is January 1, 1980 to January 17, 2038.
 See the file pod/perlport.pod for more information about the VOS
 port of Perl.
 
+=head2 Handling of underflow and overflow
+
+VOS does not support automatically mapping overflowed
+floating-point values to +infinity, nor automatically mapping
+underflowed floating-point values to -infinity, unlike many
+other platforms.  The Perl pack function has been modified to
+perform such mapping in software on VOS.  Performing other
+floating-point computations that underflow or overflow will
+probably result in SIGFPE.  Don't push your luck.
+
+=head1 TEST STATUS
+
+When Perl is built using the native build process on VOS Release
+14.5.0 and GNU C++/GNU Tools 2.0.1, all attempted tests either
+pass or result in TODO (ignored) failures.
+
 =head1 SUPPORT STATUS
 
 I'm offering this port "as is".  You can ask me questions, but I
@@ -231,12 +339,17 @@ can't guarantee I'll be able to answer them.  There are some
 excellent books available on the Perl language; consult a book
 seller.
 
+If you want a supported version of perl for VOS, purchase the VOS
+GNU C++ and GNU Tools Release 2.0.1 product from Stratus
+Technologies, along with a support contract (or from anyone else
+who will sell you support).
+
 =head1 AUTHOR
 
-Paul Green (Paul_Green@stratus.com)
+Paul Green (Paul.Green@stratus.com)
 
 =head1 LAST UPDATE
 
-July 4, 2001
+May 13, 2002
 
 =cut