0
|
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
|