home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Source / GNU / emacs / VMSINSTALL < prev    next >
Text File  |  1992-10-28  |  5KB  |  130 lines

  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 to #include
  82. the file S_VMS4_2.H.  Then the proper conditionals will be activated
  83. 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', `s-vms4-4.h' or `s-vms5-5.h'.  (Use the
  103. highest version not greater than the VMS version you are running.  For
  104. VMS versions prior to 4.4, the `-' characters must be replaced with
  105. `_'.)
  106.  
  107. You can now compile, link, build and install Emacs as described in
  108. [.SRC]VMSBUILD..
  109.  
  110. * Moving a VMS distribution to Unix.
  111.  
  112. Delete all .OBJ files, and PATHS.H and CONFIG.H.  Then copy the
  113. remaining files, changing each `_' in a file name to `-`.  Unix will
  114. allow filenames with `_' but Emacs will not work with them!
  115.  
  116. Names which on VMS end in a period (have a null extension) should
  117. have no period on Unix.  Thus, "YMAKEFILE." becomes "ymakefile".
  118.  
  119. VMS file names are case-insensitive.  On Unix, case is significant.
  120. Most of the file names must be in lower case or they will not work.
  121. There are only a few exceptions:
  122.  
  123. 1) CHANGELOG. becomes ChangeLog
  124. 2) MAKEFILE. becomes Makefile
  125. 3) TAGS. becomes TAGS
  126. 4) Files of English text with null extensions keep their names
  127.  in upper case.  For example, README. becomes README and
  128.  [.ETC]GNU. becomes GNU
  129.  
  130.