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