Mercurial > vim
comparison src/INSTALLvms.txt @ 7:3fc0f57ecb91 v7.0001
updated for version 7.0001
author | vimboss |
---|---|
date | Sun, 13 Jun 2004 20:20:40 +0000 |
parents | |
children | 53c36fa7dc29 |
comparison
equal
deleted
inserted
replaced
6:c2daee826b8f | 7:3fc0f57ecb91 |
---|---|
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> |