-Perl 5 README file for the Stratus VOS operating system.
-Paul Green (Paul_Green@stratus.com)
-October 24, 2000
+If you read this file _as_is_, just ignore the funny characters you
+see. It is written in the POD format (see pod/perlpod.pod) which is
+specially designed to be readable as is.
+=head1 NAME
-Introduction
-------------
-This is a port of Perl version 5, revision 7, 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
+README.vos - Perl for Stratus VOS
+
+=head1 SYNOPSIS
+
+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.
-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 and C runtime in 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
-of POSIX is missing a number of key functions, and therefore any
-attempt by perl.pm to call the following unimplemented POSIX
-functions will result in an error message and an immediate and
-fatal call to the VOS debugger. They are "dup", "fork", and
-"waitpid". The lack of these functions pretty much prevents you
-from starting VOS commands and grabbing their output in perl.
-The workaround is to run the commands outside of perl, then have
-perl process the output file. These functions are all available
-in the generally-available version of POSIX.
-
-
-Compiling Perl 5 on VOS
------------------------
-Before you can build Perl 5 on VOS, you need to have or acquire the
-following additional items.
-
-1. The VOS Standard C Compiler and Runtime, or the VOS Standard C
- Cross-Compiler. This is a standard Stratus product.
-
-2. Either the VOS OS TCP/IP or STCP product set. If you are
- building with the alpha version of POSIX you need the OS
- TCP/IP product set. If you are building with the
- generally-available version of POSIX you need the STCP
- product set. These are standard Stratus products.
-
-3. Either the alpha or generally-available version of the VOS
- POSIX.1 environment.
-
- The alpha version of POSIX.1 support is available on the
- 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
- your web browser. Instructions for unbundling this file
- are at ftp://ftp.stratus.com/pub/vos/utility/utility.html.
- This is not a standard Stratus product.
-
- The generally-available version of POSIX.1 support is
- bundled with the VOS Standard C compiler and Runtime (or
- Cross-Compiler) in VOS Release 14.3.0 or higher. This is a
- standard Stratus product.
-
-4. You must compile this version of Perl 5 on VOS Release
- 14.1.0 or higher because some of the perl source files
- contain more than 32,767 source lines. Due to VOS
- release-compatibility rules, this port of perl may not
- execute on VOS Release 12 or earlier.
-
-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.
-
-You must have purchased the VOS Standard C Cross Compiler in
-order to compile perl for a processor type that is different
-from the processor type of the module.
-
-Note that code compiled for the pa7100 processor type can
-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.
-
-
-Installing Perl 5 on VOS
-------------------------
-1. Create the directory >system>ported>command_library.
-
-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>*
-
- (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).
-
-3. Create the directory >system>ported>perl>lib.
-
-4. 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:
-
- !copy_dir lib >system>ported>perl>lib>5.7
-
-5. 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
-
-6. 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
-
- Put architecture-dependent files into one of the following
- directories:
+These are instructions for building Perl from source. Most
+people can simply download a pre-compiled distribution from the
+VOS anonymous FTP site. This version of Perl is not supported
+on VOS Release 14.2.0 or earlier releases. 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.
+
+=head1 BUILDING PERL FOR VOS
+
+To build perl from its source code, you must have a Continuum
+platform running VOS Release 14.5.0 or later, the STCP product,
+and the GNU C++ and GNU Tools, Release 2.0.1 or later.
+
+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.
+
+=head1 INSTALLING PERL IN VOS
+
+=over 4
+
+=item 1
+
+If you have built perl using the Configure script, ensure that
+you have modify permission to C<< >system>ported >> and type
+
+ gmake install
+
+=item 2
+
+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>lib>perl5>5.9.0>68k
+ >system>ported>lib>perl5>5.9.0>860
+ >system>ported>lib>perl5>5.9.0>7100
+ >system>ported>lib>perl5>5.9.0>8000
+
+=item 3
+
+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.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
-
-7. You can examine the @INC variable from within a perl program
- to see the order in which Perl searches these directories.
-
-
-Unimplemented Features
-----------------------
-If perl is built with the alpha version of VOS POSIX.1 support
-and if it attempts to call an unimplemented VOS POSIX.1
-function, it will print a fatal error message and enter the VOS
-debugger. This error is not recoverable. See vos_dummies.c for
-a list of the unimplemented POSIX.1 functions. To see what
-functions are unimplemented and what the error message looks
-like, compile and execute "test_vos_dummies.c".
+ >system>ported>lib>perl5>site_perl>5.9.0
+Put site-specific architecture-dependent files into one of the
+following directories:
+
+ >system>ported>lib>perl5>site_perl>5.9.0>68k
+ >system>ported>lib>perl5>site_perl>5.9.0>860
+ >system>ported>lib>perl5>site_perl>5.9.0>7100
+ >system>ported>lib>perl5>site_perl>5.9.0>8000
+
+=item 4
+
+You can examine the @INC variable from within a perl program
+to see the order in which Perl searches these directories.
+
+=back
+
+=head1 USING PERL IN VOS
+
+=head2 Restrictions of Perl on VOS
-Restrictions
-------------
This port of Perl version 5 to VOS prefers Unix-style,
slash-separated pathnames over VOS-style greater-than-separated
pathnames. VOS-style pathnames should work in most contexts, but
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
-Support Status
---------------
I'm offering this port "as is". You can ask me questions, but I
can't guarantee I'll be able to answer them. There are some
excellent books available on the Perl language; consult a book
seller.
-(end)
+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)
+
+=head1 LAST UPDATE
+
+August 12, 2002
+
+=cut