Mercurial > hg > xemacs-beta
comparison vms/VMSINSTALL @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:376386a54a3c |
---|---|
1 * Installing GNU Emacs from a VMS install kit | |
2 | |
3 If you receive a VMS distribution tape containing an install kit, you | |
4 can restore Emacs and run it immediately on any VMS system 4.2 or newer. | |
5 The installation command file will automatically rename certain files | |
6 whose names must vary according to the version of VMS in use. | |
7 | |
8 However, it is not certain we will have the install kit developed | |
9 soon, so until that is done, you may receive an ordinary BACKUP | |
10 saveset instead. | |
11 | |
12 * Installing GNU Emacs from an ordinary VMS BACKUP saveset | |
13 | |
14 If you receive a VMS distribution tape in VMS BACKUP interchange | |
15 format you can restore Emacs and run it on VMS versions 4.2 or newer | |
16 after executing a few commands. What you must do depends on the | |
17 VMS version (one procedure for VMS 4.2 or 4.3; another procedure | |
18 for newer VMS versions). | |
19 | |
20 For VMS versions 4.4 and up, make sure the file | |
21 SYS$SYSTEM:RIGHTSLIST.DAT has WORLD:R access. Emacs reads this file | |
22 to check file access. | |
23 | |
24 In order to compile Emacs with the VMS C compiler, you will need a | |
25 pagefile quota of around 22000 pages, plus enough swap space to handle | |
26 that. (This was in VMS 5.1-1, with 5 meg of physical memory.) See | |
27 HELP SYSGEN CREATE and HELP SYSGEN INSTALL for more information. | |
28 | |
29 Choose a directory to restore to, say DEV:[LIB]. Do: | |
30 | |
31 $ mount/foreign mta0: | |
32 $ backup/log mta0: dev:[lib...] | |
33 | |
34 Now, if you are using VMS version 4.4 or later, set your default to | |
35 the directory DEV:[LIB.EMACS] and run the command file | |
36 DEV:[LIB.EMACS]ALLRENAME.COM: | |
37 | |
38 $ set default dev:[lib.emacs] | |
39 $ @allrename [...] "_" "-" | |
40 | |
41 This renames all files in the Emacs distribution from their old-VMS | |
42 names (containing `_' characters) to their new-VMS names (containing | |
43 `-' instead). | |
44 | |
45 Now, edit DEV:[LIB.EMACS]EMACS.COM. Replace the definition of | |
46 EMACS_LIBRARY with the appropriate device and directory. The | |
47 definition initially reads as follows: | |
48 | |
49 $ define /translation=concealed emacs_library sys$device:[emacs.] | |
50 | |
51 You would replace this with: | |
52 | |
53 $ define /translation=concealed emacs_library dev:[lib.emacs.] | |
54 | |
55 Now execute the command file DEV:[LIB.EMACS]EMACS.COM. This defines | |
56 a command EMACS that runs a suspendable permanent Emacs. To | |
57 fully install Emacs, you must arrange for users to run this file | |
58 on login, or arrange for this file to be run when the system boots. | |
59 | |
60 The distribution contains an Emacs executable in | |
61 DEV:[LIB.EMACS]EMACS.EXE. It uses DEV:[LIB.EMACS]EMACS.DUMP every time | |
62 it runs. The EMACS.EXE has been linked with the non-sharable C | |
63 library, so it should run on any VMS V4.4+ system, whether or not the | |
64 C compiler exists. The .OBJ files are all there, so you can relink | |
65 with /debug if you want to have fun. | |
66 | |
67 A few C source files contain compilation conditionals that depend | |
68 on the version of VMS. We have compiled these files specially for | |
69 VMS version 4.2 (or 4.3) in object files with extension .JBO. | |
70 So to run on VMS 4.2, rename all the .JBO files to .OBJ, then | |
71 link and build Emacs as described in DEV:[LIB.EMACS.SRC]VMSBUILD. | |
72 | |
73 $ set def [.src] | |
74 $ rename *.jbo *.obj | |
75 $ @precomp | |
76 $ @link | |
77 $ @build | |
78 $ rename temacs.exe [-]emacs.exe | |
79 $ rename temacs.dump [-]emacs.dump | |
80 | |
81 To be clean, you should also edit the file [.SRC]CONFIG.H | |
82 to #include the file S_VMS4_2.H instead of S-VMS-4-4.H. Then the | |
83 proper conditionals will be activated if you ever recompile. | |
84 | |
85 * Moving a Unix distribution to VMS. | |
86 | |
87 Moving a Unix distribution to VMS is mostly a matter of transferring | |
88 the files to the VMS system, but with old versions of VMS (prior to | |
89 4.4) it is a little more complicated because some of the file names | |
90 used on Unix are not supported by VMS. Every `-' in a Unix file name | |
91 must be changed to a `_' on VMS. (In VMS versions 4.4 and up, this is | |
92 not necessary, since `-' is allowed in file names.) | |
93 | |
94 A few other changes must be made regardless of the version of VMS: | |
95 | |
96 1) Copy the file [.SRC]VMSPATHS.H to [.SRC]PATHS.H, replacing any existing | |
97 file PATHS.H in that directory. | |
98 | |
99 2) Delete any file [.SRC]CONFIG.H and replace it with a copy of | |
100 CONFIG.H-DIST. Then edit this file so it specifies `m-vax.h' as the | |
101 second include file and for the first include file one of | |
102 `s-vms4-0.h', `s-vms4-2.h' or `s-vms4-4.h'. (Use the highest version | |
103 not greater than the VMS version you are running. For VMS versions | |
104 prior to 4.4, the `-' characters must be replaced with `_'.) | |
105 | |
106 You can now compile, link, build and install Emacs as described in | |
107 [.SRC]VMSBUILD.. | |
108 | |
109 * Moving a VMS distribution to Unix. | |
110 | |
111 Delete all .OBJ files, and PATHS.H and CONFIG.H. Then copy the | |
112 remaining files, changing each `_' in a file name to `-`. Unix will | |
113 allow filenames with `_' but Emacs will not work with them! | |
114 | |
115 Names which on VMS end in a period (have a null extension) should | |
116 have no period on Unix. Thus, "YMAKEFILE." becomes "ymakefile". | |
117 | |
118 VMS file names are case-insensitive. On Unix, case is significant. | |
119 Most of the file names must be in lower case or they will not work. | |
120 There are only a few exceptions: | |
121 | |
122 1) CHANGELOG. becomes ChangeLog | |
123 2) MAKEFILE. becomes Makefile | |
124 3) TAGS. becomes TAGS | |
125 4) Files of English text with null extensions keep their names | |
126 in upper case. For example, README. becomes README and | |
127 [.ETC]GNU. becomes GNU | |
128 |