7
|
1 INSTALLvms.txt - Installation of Vim on OpenVMS
|
|
2
|
|
3 Maintainer: Zoltan Arpadffy <arpadffy@polarfox.com>
|
|
4 Last change: 2003 May 04
|
|
5
|
|
6 This file contains instructions for compiling Vim on Openvms.
|
|
7 If you already have an executable version of Vim, you don't need this.
|
|
8
|
|
9 If you skip settings described here, then you will get the default Vim
|
|
10 behavior as it is documented, which should be fine for most users.
|
|
11
|
|
12 The file "feature.h" can be edited to match your preferences, but this files
|
|
13 does not describe possibilities hidden in feature.h acrobatics, however
|
|
14 parameters from MAKE_VMS.MMS actively uses and sets up parameters in relation
|
|
15 with feature.h
|
|
16
|
|
17 More information and case analysis you can found in os_vms.txt
|
|
18 ([runtime.doc]os_vms.txt or :help vms from vim prompt)
|
|
19
|
|
20 Contents:
|
|
21 1. Download files
|
|
22 2. Configuration
|
|
23 3. Compilation DECC
|
|
24 4. Compilation VAXC
|
|
25 5. CTAGS, XXD
|
|
26 6. Deployment
|
|
27 7. GTK and other features
|
|
28 8. Notes
|
|
29 9. Authors
|
|
30
|
|
31 ----------------------------------------------------------------------------
|
|
32 1. Download files
|
|
33
|
|
34 1.1. Visit the Vim ftp site (see ftp://ftp.vim.org/pub/vim/MIRRORS)
|
|
35 and obtain the following three files:
|
|
36
|
|
37 unix/vim-X.X-src.tar.gz
|
|
38 unix/vim-X.X-rt.tar.gz
|
|
39 extra/vim-X.X-extra.tar.gz
|
|
40
|
|
41 where X.X is the version number.
|
|
42
|
|
43 1.2. Expand the three archives.
|
|
44
|
|
45 1.3. Apply patches if they exist. (Patch files are found in the ftp
|
|
46 site in the "patches" directory.)
|
|
47
|
|
48 1.4. You will need either the DECSET mms utility or the freely available clone
|
|
49 of it called mmk (VMS has no make utility in the standard distribution).
|
|
50 You can download mmk from http://www.openvms.digital.com/freeware/MMK/
|
|
51
|
|
52 1.5. If you want to have Perl, Python or Tcl support in Vim you will need VMS
|
|
53 distributions for them as well.
|
|
54
|
|
55 1.6 If you want to have GTK executable, you need to have properly installed
|
|
56 GTK libraries.
|
|
57
|
|
58 NOTE: procedure in chapter 1 describes source code preparation from multi OS
|
|
59 code,however it is available OpenVMS oprimized (and tested) source code from:
|
|
60 ftp://ftp.polarhome.com/pub/vim/source/vms/
|
|
61
|
|
62 Current OpenVMS source code as .zip or .tar.gz file is possible to download
|
|
63 from CVS mirror ftp://ftp.polarhome.com/pub/cvs/SOURCE/
|
|
64
|
|
65
|
|
66 2. Configuration
|
|
67
|
|
68 2.1. Edit vim-X.X/src/feature.h for your preference. (You can skip
|
|
69 this, then you will get the default behavior as is documented,
|
|
70 which should be fine for most people.)
|
|
71
|
|
72 For example, if you want to add the MULTI_BYTE feature, turn on
|
|
73 #define MULTI_BYTE
|
|
74
|
|
75 2.2 Edit vim-X.X/src/Make_vms.mms to customize your Vim. Options are:
|
|
76
|
|
77 Parameter name : MODEL
|
|
78 Description : Build model selection
|
|
79 Options: : TINY - Almost no features enabled, not even
|
|
80 multiple windows
|
|
81 SMALL - Few features enabled, as basic as possible
|
|
82 NORMAL - A default selection of features enabled
|
|
83 BIG - Many features enabled, as rich as possible.
|
|
84 (OpenVMS default)
|
|
85 HUGE - All possible featues enabled.
|
|
86 Uncommented - will default to BIG
|
|
87 Default : MODEL = BIG
|
|
88
|
|
89 Parameter name : GUI
|
|
90 Description : GUI or terminal mode executable
|
|
91 Options: : YES - GUI executable
|
|
92 Uncommented - char only
|
|
93 Default : GUI = YES
|
|
94
|
|
95 Parameter name : GTK
|
|
96 Description : Enable GTK in GUI mode.
|
|
97 It enables features as toolbar etc.
|
|
98 Options: : YES - GTK executable
|
|
99 Uncommented - without GTK
|
|
100 Default : Uncommented
|
|
101
|
|
102 Parameter name : DECC
|
|
103 Description : Compiler selection
|
|
104 Options: : YES - DECC compiler
|
|
105 Uncommented - VAXC compiler
|
|
106 Default : DECC = YES
|
|
107
|
|
108 Parameter name : CCVER
|
|
109 Description : Compiler version with :ver command
|
|
110 Options: : YES - Compiler version info will be added
|
|
111 Uncommented - will not be added
|
|
112 Default : CCVER = YES
|
|
113
|
|
114 Parameter name : DEBUG
|
|
115 Description : Building a debug version
|
|
116 Options: : YES - debug version will be built
|
|
117 Uncommented - building normal executable
|
|
118 Default : Uncommented
|
|
119
|
|
120 Parameter name : VIM_TCL
|
|
121 Description : Add Tcl support
|
|
122 Options: : YES - Build with support
|
|
123 Uncommented - build without support.
|
|
124 Default : Uncommented
|
|
125
|
|
126 Parameter name : VIM_PERL
|
|
127 Description : Add Perl support
|
|
128 Options: : YES - Build with support
|
|
129 Uncommented - build without support.
|
|
130 Default : Uncommented
|
|
131
|
|
132 Parameter name : VIM_PYTHON
|
|
133 Description : Add Python support
|
|
134 Options: : YES - Build with support
|
|
135 Uncommented - build without support.
|
|
136 Default : Uncommented
|
|
137
|
|
138
|
|
139 Parameter name : VIM_XIM
|
|
140 Description : X Input Method. For entering special languages
|
|
141 like chinese and Japanese. Please define just
|
|
142 one: VIM_XIM or VIM_HANGULIN
|
|
143 Options: : YES - Build with support
|
|
144 Uncommented - build without support.
|
|
145 Default : Uncommented
|
|
146
|
|
147 Parameter name : VIM_HANGULIN
|
|
148 Description : Internal Hangul input method. GUI only.
|
|
149 Please define just one: VIM_XIM or VIM_HANGULIN
|
|
150 Options: : YES - Build with support
|
|
151 Uncommented - build without support.
|
|
152 Default : Uncommented
|
|
153
|
|
154 Parameter name : VIM_TAG_ANYWHITE
|
|
155 Description : Allow any white space to separate the fields in a
|
|
156 tags file
|
|
157 When not defined, only a TAB is allowed.
|
|
158 Options: : YES - Build with support
|
|
159 Uncommented - build without support.
|
|
160 Default : Uncommented
|
|
161
|
|
162 You can edit the *_INC and *_LIB qualifiers, but it is really
|
|
163 not recommended for beginners.
|
|
164
|
|
165 3. Compilation DECC
|
|
166
|
|
167 3.1. If you have MSS on your system, the command
|
|
168
|
|
169 mms /descrip=Make_vms.mms
|
|
170
|
|
171 will start building your own customized version of Vim.
|
|
172 The adequate command for mmk is:
|
|
173
|
|
174 mmk /descrip=Make_vms.mms
|
|
175
|
|
176 NOTE: Because of empty /auto/config.h (needed for Unix configure) build
|
|
177 will fail with very strange messages. Therefore before building, it is
|
|
178 recommended to make one clean up, to prepare everything for OpenVMS
|
|
179 development. The command is:
|
|
180
|
|
181 mms /descrip=Make_vms.mms clean
|
|
182
|
|
183 4. Compilation VAXC
|
|
184
|
|
185 4.1. VAXC compiler is not fully ANSI C compatible in pre-processor directives
|
|
186 semantics, therefore you have to use a converter program what will do the
|
|
187 lion part of the job.
|
|
188
|
|
189 @os_vms_fix.com *.c *.h <.proto>*.pro
|
|
190
|
|
191 more information can be found in os_vms_fix.com file itself.
|
|
192
|
|
193 NOTE: even if os_vms_fix.com will fix all pre-processor directives it will
|
|
194 leave singe (long) line directives. You have to fix them manually.
|
|
195 Known problematic files are option.h and option.c
|
|
196
|
|
197 4.2. After the conversion you can continue building as it has been described
|
|
198 above.
|
|
199
|
|
200 5. CTAGS, XXD
|
|
201
|
|
202 5.1. MMS_VIM.EXE is building together with VIM.EXE, but for CTAGS.EXE and
|
|
203 XXD.EXE you should change to subdirectory <.CTAGS> or <.XXD> and build
|
|
204 them separately.
|
|
205
|
|
206 5.2. In these directories you can found one make file for VMS as well.
|
|
207 Please read the detailed build instructions in the related *.MMS file.
|
|
208
|
|
209 6. Deployment
|
|
210
|
|
211 6.1. Copy over all executables to the deployment directory.
|
|
212
|
|
213 6.2. Vim uses a special directory structure to hold the document and runtime
|
|
214 files:
|
|
215
|
|
216 vim (or wherever)
|
|
217 |-- doc
|
|
218 |-- syntax
|
|
219 vimrc (system rc files)
|
|
220 gvimrc
|
|
221
|
|
222 6.3 Define logicals VIM
|
|
223
|
|
224 define/nolog VIM device:[leading-path-here.vim]
|
|
225
|
|
226 to get vim.exe to find its document, filetype, and syntax files.
|
|
227
|
|
228 Now, if you are lucky you should have one own built, customized and
|
|
229 working Vim.
|
|
230
|
|
231 7. GTK and other features
|
|
232
|
|
233 7.1 General notes
|
|
234
|
|
235 To be able to build external GUI or language support wyo have to enable
|
|
236 related feature in MAKE_VMS.MMS file. Usually it need some extra tuning
|
|
237 around include files, shared libraries etc.
|
|
238
|
|
239 Please note, that leading "," are valuable for MMS/MMK syntax.
|
|
240
|
|
241 MAKE_VMS.MMS uses defines as described below:
|
|
242
|
|
243 7.1.1 feature_DEF = ,"SOME_FEATURE"
|
|
244
|
|
245 Submits definition to compiler preprocessor to enable code blocks
|
|
246 defined with
|
|
247 #ifdef SOME_FEATURE
|
|
248 {some code here}
|
|
249 #endif
|
|
250
|
|
251 Example: TCL_DEF = ,"FEAT_TCL"
|
|
252
|
|
253
|
|
254 7.1.2 feature_SRC = code1.c code2.c
|
|
255
|
|
256 Defines source code related with particular feature.
|
|
257 Example: TCL_SRC = if_tcl.c
|
|
258
|
|
259 7.1.3 feature_OBJ = code1.obj code2.obj
|
|
260
|
|
261 Lists objects created from source codes listed in feature_SRC
|
|
262 Example: PERL_OBJ = if_perlsfio.obj if_perl.obj
|
|
263
|
|
264 7.1.4 feature_LIB = ,OS_VMS_TCL.OPT/OPT
|
|
265
|
|
266 Defines the libraries that have to be used for build.
|
|
267 If it is an OPT file then MAKE_VMS.MMS creates OPT files
|
|
268 in gen_feature procedure.
|
|
269
|
|
270 Example:
|
|
271 PERL_LIB = ,OS_VMS_PERL.OPT/OPT
|
|
272
|
|
273 .IFDEF VIM_PERL
|
|
274 perl_env :
|
|
275 -@ write sys$output "creating OS_VMS_PERL.OPT file."
|
|
276 -@ open/write opt_file OS_VMS_PERL.OPT
|
|
277 -@ write opt_file "PERLSHR /share"
|
|
278 -@ close opt_file
|
|
279 .ELSE
|
|
280 perl_env :
|
|
281 -@ !
|
|
282 .ENDIF
|
|
283
|
|
284
|
|
285 7.1.5 feature_INC = ,dka0:[tcl80.generic]
|
|
286
|
|
287 Defines the directory where the necessary include files are.
|
|
288 Example: TCL_INC = ,dka0:[tcl80.generic]
|
|
289
|
|
290 7.2 GTK
|
|
291
|
|
292 To build VIM with GTK you have to install GTK on your OpenVMS.
|
|
293 So far it works just on Alphas. More information at:
|
|
294 http://www.openvms.compaq.com/openvms/products/ips/gtk.html
|
|
295
|
|
296 You need also the OpenVMS Porting Library:
|
|
297 http://www.openvms.compaq.com/openvms/products/ips/porting.html
|
|
298
|
|
299 Enable GTK in make_vms.mms file with GTK = YES
|
|
300 Define GTK_ROOT that points to your GTK root directory.
|
|
301
|
|
302 Build it as normally.
|
|
303
|
|
304 Used sharable images are:
|
|
305 gtk_root:[glib]libglib.exe /share,-
|
|
306 gtk_root:[glib.gmodule]libgmodule.exe /share,-
|
|
307 gtk_root:[gtk.gdk]libgdk.exe /share,-
|
|
308 gtk_root:[gtk.gtk]libgtk.exe /share
|
|
309
|
|
310 During runtime it is suggested to have all these files installed and
|
|
311 copyed to SYS$LIBRARY: to be able to use it without problems.
|
|
312 Also VMS_JACKETS.EXE from OpenVMS Porting Library.
|
|
313
|
|
314 Please note, that GTK uses /name=(as_is,short)/float=ieee/ieee=denorm
|
|
315 complier directives that is not compatible with "standard" VMS usage,
|
|
316 therefore other external features might fail as PERL, PYTHON and TCL
|
|
317 support.
|
|
318
|
|
319 7.3 PERL
|
|
320
|
|
321 You have to install OpenVMS perl package from:
|
|
322 http://www.openvms.compaq.com/openvms/products/ips/apache/csws_perl_relnotes.html or build on your own from sources downloaded from http://www.perl.org
|
|
323
|
|
324 You need defined PERLSHR logical that points to PERL shareable image
|
|
325 (or you can just copy over to SYS$LIBRARY:)
|
|
326
|
|
327 Enable Perl feature at make_vms.mms with VIM_PERL = YES
|
|
328
|
|
329 Edit PERL_INC = to point to perl includes directory where is extern.h
|
|
330
|
|
331 Build as usually.
|
|
332
|
|
333 7.4 PYTHON
|
|
334
|
|
335 You have to install an OpenVMS python package.
|
|
336 Set up the normal Python work environment.
|
|
337
|
|
338 You have to have defined PYTHON_INCLUDE and PYTHON_OLB logicals.
|
|
339 PYTHON_INCLUDE should point to Python include files where for ex:
|
|
340 python.h is located.
|
|
341 Enable Python feature at make_vms.mms with VIM_PYTHON = YES
|
|
342
|
|
343 Build as usually.
|
|
344
|
|
345 7.5 TCL
|
|
346
|
|
347 You have to install an OpenVMS TCL package.
|
|
348 Set up the normal TCL work environment.
|
|
349
|
|
350 You have to have defined TCLSHR logical that points to shareable image.
|
|
351
|
|
352 Enable TCL feature at make_vms.mms with VIM_TCL = YES
|
|
353
|
|
354 Edit TCL_INC = to point to TCL includes directory where is tcl.h
|
|
355
|
|
356 Build as usually.
|
|
357
|
|
358 8. Notes
|
|
359
|
|
360 8.1. New Compaq C compiler
|
|
361
|
|
362 If you are using Compaq C compiler V6.2 or newer, Informational messages
|
|
363 of the type QUESTCOMPARE will be displayed. You should ignore those
|
|
364 messages ; they are generated only because some test comparisons are done
|
|
365 with variables which type vary depending on the OS. Under VMS, those are
|
|
366 "unsigned" and the compiler issue a message whenever the comparison is
|
|
367 done with '<=' to 0. However, the code is correct and will behave as
|
|
368 expected.
|
|
369 ( Jerome Lauret <JLAURET@mail.chem.sunysb.edu> Vim 6.0n )
|
|
370 NOTE: from version 6.0ad Vim code has been reviewed and these warnings
|
|
371 have been corrected.
|
|
372
|
|
373 9. Authors
|
|
374
|
|
375 Initial version, 2000 Jul 19, Zoltan Arpadffy <arpadffy@polarfox.com>
|