This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Also under djgpp the timestamps are funky.
[perl5.git] / README.vos
index ab9d99d..99abf0d 100644 (file)
@@ -1,10 +1,11 @@
 Perl 5 README file for the Stratus VOS operating system.
 Paul Green (Paul_Green@stratus.com)
-August 12, 1998
+February 3, 2000
+
 
 Introduction
 ------------
-This is a port of Perl version 5, revision 005-02, to VOS.  Perl
+This is a port of Perl version 5, revision 005-63, 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.
@@ -12,8 +13,12 @@ books on Perl.
 Most of the Perl features should work on VOS.  However, 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", "execlp",
-"execl", "execvp", "fork", and "waitpid".
+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.
+
 
 Compiling Perl 5 on VOS
 -----------------------
@@ -23,65 +28,124 @@ 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.   The VOS OS TCP/IP product set.  While the necessary header files
-     are included in this distribution, you still need the appropriate
-     object files in order to bind perl.pm.  This is a standard
-     Stratus product.
+2.   The VOS OS TCP/IP product set.  While the necessary header
+     files are included with VOS POSIX.1, you still need the
+     appropriate object files in order to bind perl.pm.  This is
+     a standard Stratus product.
 
 3.   The VOS POSIX.1 environment.  As of this writing, this is
-     available on the VOS FTP site.  Login to ftp.stratus.com
-     anonymously and get the file /pub/vos/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
+     available on the VOS FTP site.  Login anonymously to
+     ftp.stratus.com and get the file
+     /pub/vos/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.  This is not a standard Stratus product.
 
-To build build 5, change to one of the VOS object directories
-(e.g., perl5.005_02>vos>obj), and give the command "<build".  If
-you have the cross-compilers and wish to build for a specific
-architecture, say "<build -processor pa7100" (for example).  You
-can also customize the "compile_perl.cm" command macro for your
-system.
+     Instructions for unbundling this file are at
+     ftp://ftp.stratus.com/pub/vos/utility/utility.html.
+
+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 code compiled for the pa7100 processor type can
+execute on the PA7100, PA8000, and PA8500 processors, and that
+code compiled for the pa8000 processor type can execute on the
+PA8000 and PA8500 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.005
+
+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.005.68k
+          >system>ported>perl>lib>5.005.860
+          >system>ported>perl>lib>5.005.7100
+          >system>ported>perl>lib>5.005.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.005
+
+     Put architecture-dependent files into one of the following
+     directories:
+
+          >system>ported>perl>lib>site>5.005.68k
+          >system>ported>perl>lib>site>5.005.860
+          >system>ported>perl>lib>site>5.005.7100
+          >system>ported>perl>lib>site>5.005.8000
+
+7.   You can examine the @INC variable from within a perl program
+     to see the order in which Perl searches these directories.
 
-Changes to Perl for VOS
------------------------
-1.   The header perl.h was changed to include vosish.h instead
-     of unixish.h.  This change is necessary because VOS POSIX.1
-     does not (yet) implement the getgrname() or getgrgid()
-     functions.
 
 Unimplemented Features
 ----------------------
-If Perl 5 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 the
-error message looks like, compile and execute
-"test_vos_dummies.c".
+If Perl 5 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".
+
 
 Restrictions
 ------------
-This port of Perl version 5 to VOS uses Unix-style,
-slash-separated pathnames, not VOS-style greater-than-separated
-pathnames.  If you wish to have it use VOS-style pathnames, try
-setting the external variable s$c_options to 4 with the
-following command line.  Note that this way of configuring Perl
-5 has not been tested; I don't know if Perl can handle the
-presence of the greater-thans, and the absence of the slashes.
+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
+if you have trouble, replace all greater-than characters by slash
+characters.  Because the slash character is used as a pathname
+delimiter, Perl cannot process VOS pathnames containing a slash
+character in a directory or file name; these must be renamed.
 
-     set_external_variable s$c_options -in perl.pm -type integer -to 4
+This port of Perl also uses Unix-epoch date values internally.
+As long as you are dealing with ASCII character string
+representations of dates, this should not be an issue.  The
+supported epoch is January 1, 1980 to January 17, 2038.
 
-The following command can be used to check the value:
+See the file pod/perlport.pod for more information about the VOS
+port of Perl.
 
-     get_external_variable s$c_options -in perl.pm -type integer
-
-See the documentation for VOS POSIX.1 for the full set of option
-values.
 
 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; I don't know much
-about Perl itself; I'm still learning that.
+about Perl itself; I'm still learning that.  There are some
+excellent books available on the Perl language; consult a book
+seller.
 
 (end)
-