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