annotate vms/VMSINSTALL @ 64:a01e7a40045c r19-16-pre7

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