]> sjero.net Git - wget/blob - vms/VMS_NOTES.TXT
NEWS: cite --start-pos
[wget] / vms / VMS_NOTES.TXT
1                                                 27 September 2009.  SMS.
2
3                           Wget 1.12.X for VMS
4                           ===================
5
6 ------------------------------------------------------------------------
7
8    Beginning with Wget version 1.12.X, VMS support is included in the
9 main Wget source kit.  This note describes the VMS-specific details
10 involved in building and using Wget on VMS.
11
12 ------------------------------------------------------------------------
13
14    Built and tested (slightly) in these environments:
15
16 OpenVMS Alpha V7.3-2, HP C V7.3-009, TCPIP V5.4 - ECO 6
17
18 OpenVMS IA64 V8.3, HP C V7.3-018, TCPIP V5.6.
19
20 OpenVMS VAX V7.3, Compaq C V6.4-005, TCPIP V5.1.
21
22 (__CRTL_VER >= 70000000 is probably required.)
23
24 ------------------------------------------------------------------------
25
26       Instructions
27       ------------
28
29    Extract the files from the distribution kit.
30
31       Note:
32       The Wget builders should work on either an ODS2 or ODS5 disk,
33       although any original multi-dot file names will be adjusted for
34       storage on an ODS2 disk when they are extracted from the kit
35       archive.  Depending on the tools used, an original file named
36       "a.b.c" may be extracted as "A.B_C" ("dot-under" form) or "A_B.C"
37       ("under-dot" form), but the builders should work either way.
38
39       The source kit may contain one or more files in the "tests"
40       directory which have names which are too long for an ODS2 disk. 
41       They will cause errors when the kit is unpacked, but these files
42       are not required on VMS.
43
44    When starting with an official "tar" source kit, the downloaded
45 bzip2- or gzip-compressed "tar" archive must be expanded using a bzip2
46 or gzip program, and then a program like VMSTAR can be used to extract
47 the source tree.  The official source kits tend to have multi-dot file
48 names, so the exact file names to use in these steps will depend on how
49 the kit was downloaded, whether the work is done on an ODS2 or an ODS5
50 disk, and so on.  Thus, the example commands shown below may need some
51 adjustment to work in different environments. For example, starting with
52 an official ".tar.bz2" kit named "wget-1_12_X_tar.bz2":
53
54       bzip2 -d wget-1_12_X_tar.bz2
55       vmstar xf wget-1_12_X_tar
56
57 Or, starting with a Zip archive named "wget-1_12_X.zip":
58
59       unzip wget-1_12_X.zip
60
61    The MMS/MMK builders typically need some help from the user to enable
62 the desired optional features, and/or to deal with differences between
63 MMK and MMS features.
64
65    The builder options (MMS/MMK macros) are described in the main
66 builder file, "[.vms]descrip.mms".  Normally, "DASHD=1" is specified, to
67 enable the "-d" ("--debug") option.  On a reasonably modern non-VAX
68 system, specify "LARGE=1" to enable large-file support.  If HTTPS
69 support is desired, then specify either "HPSSL=1" (to use HP's SSL
70 product) or "OSSL=1" (to use OpenSSL).
71
72    MMK or an old version of MMS may need a definition of
73 "MMSDESCRIPTION_FILE".  An error message should explain this, if needed.
74
75    On non-VAX systems, the C compiler may emit some %CC-I-INTCONSTTRUNC
76 complaints when compiling "[.src]hash.c", but these should be harmless.
77
78    Executables in VMS kits are normally built using "DASHD=1" and
79 "LARGE=1" (except VAX), and with no HTTPS (SSL) support.  Output from
80 "wget --version" should reveal which SSL product was used to build Wget. 
81 "-https" implies no SSL.  "+https" with "-openssl" implies HP SSL, and
82 "+https" with "+openssl" implies OpenSSL.
83
84    Example build commands:
85
86       SET DEFAULT [.wget-1_12_X_vms.vms]    ! Required.
87
88       MMS CLEAN                             ! Delete all product files
89                                             ! for the current (small-file)
90                                             ! architecture.
91
92       MMS /MACRO = LARGE=1 CLEAN            ! Delete all product files
93                                             ! for the current (large-file)
94                                             ! architecture.
95
96       MMS CLEAN_ALL                         ! Delete all product files
97                                             ! for all architectures.
98
99       MMS /MACRO = (DASHD=1, LARGE=1)       ! Large-file, no-SSL build.
100
101       MMS /MACRO = (DASHD=1, LARGE=1, HPSSL=1)  ! Add HTTPS support using
102                                                 ! HP SSL.
103
104       MMS /MACRO = (DASHD=1, LARGE=1, OSSL=1)   ! Add HTTPS support using
105                                                 ! OpenSSL.
106
107       DFLT = F$ENVIRONMENT( "DEFAULT")          ! Basic MMK build, with
108       MMK /MACRO = (MMSDESCRIPTION_FILE='DFLT') ! explicit definition of
109       DELETE /SYMBOL DFLT                       ! MMSDESCRIPTION_FILE.
110                                                 ! ("dev:[dir]" is enough.)
111
112       MMS HELP                              ! Create a help library.
113                                             ! (Optional.  See below.)
114                                             
115
116
117    Set the symbol for the foreign command:
118
119       WGET :== $ actual_device:[actual.directory]WGET.EXE
120
121    A very basic VMS HELP file is supplied in [.VMS]WGET.HLP.  To be
122 used, it must be added to a HELP library, either an existing library or
123 one just for Wget.  As shown in the example above, a new Wget help
124 library may be created using the MMS/MMK target "HELP".
125
126    When a new HELP library is created, a logical name "HLP$LIBRARY_n"
127 may be defined to allow the HELP utility to find it.  See "HELP HELP
128 /USERLIBRARY" for details.
129
130    Try to read the original documentation to learn how to use Wget.  The
131 principal differences in this VMS adaptation are:
132
133    The "-b" ("background") option is ignored.  ("-b" uses "fork()".)
134
135    Excess dots are replaced by underscores in URL-derived file
136 specifications on ODS2 file systems.  For example, on a UNIX system, the
137 URL "ftp://ftp.anywhere.org/x.y.z/a.b.c" could produce the local file
138 "ftp.anywhere.org/x.y.z/a.b.c".  With this VMS adaptation, the local
139 ODS2 file would be "[.FTP_ANYWHERE_ORG.X_Y_Z]A_B.C".  On an ODS5 file
140 system, the file would be [.ftp^.anywhere^.org.x^.y^.z]a^.b.c".
141