Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

218 lines
7.3 KiB

  1. If you read this file _as_is_, just ignore the funny characters you
  2. see. It is written in the POD format (see pod/perlpod.pod) which is
  3. specially designed to be readable as is.
  4. =head1 NAME
  5. README.vos - Perl for Stratus VOS
  6. =head1 SYNOPSIS
  7. This is a port of Perl version 5 to VOS. Perl is a scripting or
  8. macro language that is popular on many systems. See your local
  9. computer bookstore for a number of good books on Perl.
  10. =head2 Stratus POSIX Support
  11. Note that there are two different implementations of POSIX.1
  12. support on VOS. There is an alpha version of POSIX that is
  13. available from the Stratus anonymous ftp site
  14. (ftp://ftp.stratus.com/pub/vos/posix/alpha/alpha.html). There
  15. is a generally-available version of POSIX that comes with the
  16. VOS Standard C compiler and C runtime in VOS Release 14.3.0 or
  17. higher. This port of POSIX will compile and bind with either
  18. version of POSIX.
  19. Most of the Perl features should work on VOS regardless of which
  20. version of POSIX that you are using. However, the alpha version
  21. of POSIX is missing a number of key functions, and therefore any
  22. attempt by perl.pm to call the following unimplemented POSIX
  23. functions will result in an error message and an immediate and
  24. fatal call to the VOS debugger. They are "dup", "fork", and
  25. "waitpid". The lack of these functions pretty much prevents you
  26. from starting VOS commands and grabbing their output in perl.
  27. The workaround is to run the commands outside of perl, then have
  28. perl process the output file. These functions are all available
  29. in the generally-available version of POSIX.
  30. =head1 INSTALLING PERL IN VOS
  31. =head2 Compiling Perl 5 on VOS
  32. Before you can build Perl 5 on VOS, you need to have or acquire the
  33. following additional items.
  34. =over 5
  35. =item 1
  36. The VOS Standard C Compiler and Runtime, or the VOS Standard C
  37. Cross-Compiler. This is a standard Stratus product.
  38. =item 2
  39. Either the VOS OS TCP/IP or STCP product set. If you are
  40. building with the alpha version of POSIX you need the OS
  41. TCP/IP product set. If you are building with the
  42. generally-available version of POSIX you need the STCP
  43. product set. These are standard Stratus products.
  44. =item 3
  45. Either the alpha or generally-available version of the VOS
  46. POSIX.1 environment.
  47. The alpha version of POSIX.1 support is available on the
  48. Stratus FTP site. Login anonymously to ftp.stratus.com and
  49. get the file /pub/vos/posix/alpha/posix.save.evf.gz in
  50. binary file-transfer mode. Or use the Uniform Resource
  51. Locator (URL)
  52. ftp://ftp.stratus.com/pub/vos/alpha/posix.save.evf.gz from
  53. your web browser. Instructions for unbundling this file
  54. are at ftp://ftp.stratus.com/pub/vos/utility/utility.html.
  55. This is not a standard Stratus product.
  56. The generally-available version of POSIX.1 support is
  57. bundled with the VOS Standard C compiler and Runtime (or
  58. Cross-Compiler) in VOS Release 14.3.0 or higher. This is a
  59. standard Stratus product.
  60. =item 4
  61. You must compile this version of Perl 5 on VOS Release
  62. 14.1.0 or higher because some of the perl source files
  63. contain more than 32,767 source lines. Due to VOS
  64. release-compatibility rules, this port of perl may not
  65. execute on VOS Release 12 or earlier.
  66. =back
  67. To build perl 5, change to the "vos" subdirectory and type the
  68. command "compile_perl -processor X", where X is the processor
  69. type (mc68020, i80860, pa7100, pa8000) that you wish to use.
  70. Note that the generally-available version of POSIX.1 support is
  71. not available for the mc68020 or i80860 processors.
  72. You must have purchased the VOS Standard C Cross Compiler in
  73. order to compile perl for a processor type that is different
  74. from the processor type of the module.
  75. Note that code compiled for the pa7100 processor type can
  76. execute on the PA7100, PA8000, PA8500 and PA8600 processors, and
  77. that code compiled for the pa8000 processor type can execute on
  78. the PA8000, PA8500 and PA8600 processors.
  79. =head2 Installing Perl 5 on VOS
  80. =over 4
  81. =item 1
  82. Create the directory >system>ported>command_library.
  83. =item 2
  84. Copy the appropriate version of the perl program module to
  85. this directory. For example, with your current directory
  86. set to the top-level directory of Perl 5, to install the
  87. executable program module for the Motorola 68K
  88. architecture, enter:
  89. !copy_file vos>obj>perl.pm >system>ported>command_library>*
  90. (If you wish to use both Perl version 4 and Perl version 5,
  91. you must give them different names; for example, perl.pm
  92. and perl5.pm).
  93. =item 3
  94. Create the directory >system>ported>perl>lib.
  95. =item 4
  96. Copy all of the files and subdirectories from the lib
  97. subdirectory into this new directory. For example, with
  98. the current directory set to the top-level directory of the
  99. perl distribution, enter:
  100. !copy_dir lib >system>ported>perl>lib>5.6
  101. =item 5
  102. While there are currently no architecture-specific
  103. extensions or modules distributed with perl, the following
  104. directories can be used to hold such files:
  105. >system>ported>perl>lib>5.6.68k
  106. >system>ported>perl>lib>5.6.860
  107. >system>ported>perl>lib>5.6.7100
  108. >system>ported>perl>lib>5.6.8000
  109. =item 6
  110. Site-specific perl extensions and modules can be installed in one of
  111. two places. Put architecture-independent files into:
  112. >system>ported>perl>lib>site>5.6
  113. Put architecture-dependent files into one of the following
  114. directories:
  115. >system>ported>perl>lib>site>5.6.68k
  116. >system>ported>perl>lib>site>5.6.860
  117. >system>ported>perl>lib>site>5.6.7100
  118. >system>ported>perl>lib>site>5.6.8000
  119. =item 7
  120. You can examine the @INC variable from within a perl program
  121. to see the order in which Perl searches these directories.
  122. =back
  123. =head1 USING PERL IN VOS
  124. =head2 Unimplemented Features
  125. If perl is built with the alpha version of VOS POSIX.1 support
  126. and if it attempts to call an unimplemented VOS POSIX.1
  127. function, it will print a fatal error message and enter the VOS
  128. debugger. This error is not recoverable. See vos_dummies.c for
  129. a list of the unimplemented POSIX.1 functions. To see what
  130. functions are unimplemented and what the error message looks
  131. like, compile and execute "test_vos_dummies.c".
  132. =head2 Restrictions
  133. This port of Perl version 5 to VOS prefers Unix-style,
  134. slash-separated pathnames over VOS-style greater-than-separated
  135. pathnames. VOS-style pathnames should work in most contexts, but
  136. if you have trouble, replace all greater-than characters by slash
  137. characters. Because the slash character is used as a pathname
  138. delimiter, Perl cannot process VOS pathnames containing a slash
  139. character in a directory or file name; these must be renamed.
  140. This port of Perl also uses Unix-epoch date values internally.
  141. As long as you are dealing with ASCII character string
  142. representations of dates, this should not be an issue. The
  143. supported epoch is January 1, 1980 to January 17, 2038.
  144. See the file pod/perlport.pod for more information about the VOS
  145. port of Perl.
  146. =head1 SUPPORT STATUS
  147. I'm offering this port "as is". You can ask me questions, but I
  148. can't guarantee I'll be able to answer them. There are some
  149. excellent books available on the Perl language; consult a book
  150. seller.
  151. =head1 AUTHOR
  152. Paul Green ([email protected])
  153. =head1 LAST UPDATE
  154. February 13, 2001
  155. =cut