install_vms.txt 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. VMS (OpenVMS):
  2. Building:
  3. On VMS, two build methods are provided: a command procedure, and
  4. description files for MMS or MMK. Both methods must be run from
  5. the main directory, not the [.VMS] subdirectory.
  6. A simple build using the command procedure looks like this:
  7. @ [.VMS]BUILD_ZIP.COM
  8. A simple build using MMS or MMK looks like this:
  9. MMS /DESCRIP = [.VMS]DESCRIP.MMS ! Or, with MMK, ...
  10. MMK /DESCRIP = [.VMS]DESCRIP.MMS
  11. Various options for each build method are explained in comments in
  12. the main builder file, either BUILD_ZIP.COM or DESCRIP.MMS.
  13. Note that on non-VAX systems with VMS V7.2 or later (and with a
  14. sufficiently new C compiler), Zip 3.0 can support files (both data
  15. files and Zip archives) larger than 2GB. For the greatest
  16. compatibility with previous Zip versions, the builders by default
  17. create old-style small-file programs. The user must specify the
  18. appropriate builder command-line option to create
  19. large-file-capable programs.
  20. Here are some more complex build examples:
  21. o Build with the large-file option enabled (non-VAX only):
  22. @ [.VMS]BUILD_ZIP LARGE
  23. or:
  24. MMS /DESC = [.VMS] /MACRO = LARGE=1
  25. o Re-link the executables (small-file and large-file):
  26. @ [.VMS]BUILD_ZIP LINK
  27. @ [.VMS]BUILD_ZIP LARGE LINK
  28. or
  29. MMK /DESC = [.VMS] CLEAN_EXE ! Deletes existing executables.
  30. MMK /DESC = [.VMS] ! Builds new executables.
  31. MMK /DESC = [.VMS] /MACRO = LARGE=1 CLEAN_EXE
  32. MMK /DESC = [.VMS] /MACRO = LARGE=1
  33. o Build a large-file product from scratch, for debug, getting
  34. compiler listings and link maps:
  35. MMS /DESC = [.VMS] CLEAN
  36. MMS /DESC = [.VMS] /MACRO = (DBG=1, LARGE=1. LIST=1)
  37. On VAX, the builders attempt to cope with the various available C
  38. compilers, DEC/Compaq/HP C, VAX C, or GNU C. If DEC/Compaq/HP C is
  39. not available or not desired, comments in the relevant builder file
  40. explain the command-line options used to select a different
  41. compiler.
  42. By default, Zip uses the "deflate" compression method. To add
  43. support for the optional "bzip2" compression method, first obtain
  44. and build the bzip2 software (http://www.bzip.org/ or, for a more
  45. VMS-friendly kit, http://antinode.info/dec/sw/bzip2.html). Then,
  46. define the macro IZ_BZIP2 on the BUILD_ZIP.COM or MMS/MMK command
  47. line to specify the directory where the bzip2 files may be found.
  48. For example:
  49. @ [.VMS]BUILD_ZIP LARGE -
  50. IZ_BZIP2=SYS$SYSDEVICE:[UTILITY.SOURCE.BZIP2.BZIP2-1_0_3C_VMS]
  51. or:
  52. MMS /DESC = [.VMS] /MACRO = (LARGE=1, -
  53. IZ_BZIP2=SYS$SYSDEVICE:[UTILITY.SOURCE.BZIP2.BZIP2-1_0_3C_VMS])
  54. Note that historically, Zip has been built with the default
  55. compiler option, /NAMES = UPPERCASE, while bzip2 is normally built
  56. with /NAMES = AS_IS, to avoid name collisions. With modern
  57. compilers, the "#pragma names" directives in [.VMS]BZLIB.H will
  58. handle these differences without user intervention. An old
  59. compiler (for example, DEC C V4.0-000) will emit complaints
  60. %CC-I-UNKNOWNPRAGMA, and will mishandle the bzip2 library function
  61. names, which will cause the link to fail. To solve this problem,
  62. either build the bzip2 BZ_NO_STDIO object library with /NAMES =
  63. UPPERCASE, or else build Zip with /NAMES = AS_IS. For example:
  64. @ [.VMS]BUILD_ZIP LARGE "CCOPTS=/NAMES=AS_IS" -
  65. IZ_BZIP2=SYS$SYSDEVICE:[UTILITY.SOURCE.BZIP2.BZIP2-1_0_3C_VMS]
  66. or:
  67. MMS /DESC = [.VMS] /MACRO = (LARGE=1, "CCOPTS=/NAMES=AS_IS", -
  68. IZ_BZIP2=SYS$SYSDEVICE:[UTILITY.SOURCE.BZIP2.BZIP2-1_0_3C_VMS])
  69. System-architecture-specific files (like objects and executables)
  70. are placed in separate directories, such as [.ALPHA], [.IA64], or
  71. [.VAX]. Large-file products get their own directories, [.ALPHAL]
  72. or [.IA64L]. On VAX, VAX C products are placed in [.VAXV], GNU C
  73. products in [.VAXG]. Each product builder announces what the
  74. destination directory will be when it is run.
  75. Common files, such as the help libraries (ZIP.HLP for the default
  76. UNIX-like command-line interface, ZIP_CLI.HLP for the VMS-like
  77. command-line interface), are placed in the main directory. With a
  78. mixed-architecture VMS cluster, the same main directory on a shared
  79. disk may be used by all system types. (Using the NOHELP option
  80. with BUILD_ZIP.COM can keep it from making the same help files
  81. repeatedly.) Building the help files is detailed below.
  82. Completing installation:
  83. To complete the installation, the executables may be left in place,
  84. or moved (or copied) to a convenient place. While other methods
  85. (like DCL$PATH) exist, most users define symbols to make the Zip
  86. executables available as foreign commands. These symbol definitions
  87. may be placed in a user's SYS$LOGIN:LOGIN.COM, or in a more central
  88. location, like SYS$MANAGER:SYLOGIN.COM. Typical symbol definitions
  89. might look like these:
  90. ZIP :== $ dev:[dir]ZIP.EXE ! UNIX-like command line.
  91. or:
  92. ZIP :== $ dev:[dir]ZIP_CLI.EXE ! VMS-like command line.
  93. On a non-VAX system, different symbols could be defined for the
  94. small-file and large-file programs. For example:
  95. ZIPS :== $ dev:[dir.ALPHA]ZIP.EXE ! ZIPS = small-file Zip.
  96. ZIP*L :== $ dev:[dir.ALPHAL]ZIP.EXE ! ZIP[L] = large-file Zip.
  97. The builders create help text files, ZIP.HLP and ZIP_CLI.HLP.
  98. These may be incorporated into an existing help library, or a separate
  99. Zip help library may be created using commands like these, using
  100. either ZIP.HLP (as shown) or ZIP_CLI.HLP:
  101. $ LIBRARY /HELP dev:[dir]existing_library.HLB ZIP.HLP
  102. $ LIBRARY /CREATE /HELP ZIP.HLB ZIP.HLP
  103. Zip help may then be accessed from a separate Zip help library
  104. using a command like:
  105. $ HELP /LIBRARY = device:[directory]ZIP.HLB
  106. For greater ease, the user (or system manager) may define a
  107. HLP$LIBRARY logical name to allow the HELP utility to find the Zip
  108. help library automatically. See HELP HELP /USERLIBRARY for more
  109. details. The command procedure HLP_LIB_NEXT.COM may be used to
  110. determine the next available HLP$LIBRARY logical name, and could be
  111. adapted to define a HLP$LIBRARY logical name for a Zip help library.
  112. The builders also create VMS message files, ZIP_MSG.EXE, in the
  113. destination directory with the program executables. A user may
  114. gain DCL access to the Zip error messages using a command like:
  115. $ SET MESSAGE device:[directory]ZIP_MSG.EXE
  116. For system-wide access, the system manager may move or copy this
  117. file to SYS$MESSAGE, although this could cause some confusion if
  118. multiple versions of Zip are used on the system, and their error
  119. message source files differ.
  120. Some further information may be found in the files
  121. [.VMS]00README.TXT and [.VMS]00BINARY.VMS, though much of what's
  122. there is now obsolete.