summaryrefslogtreecommitdiff
path: root/src/VMSBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'src/VMSBUILD')
-rw-r--r--src/VMSBUILD67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/VMSBUILD b/src/VMSBUILD
new file mode 100644
index 00000000000..4b5340a0874
--- /dev/null
+++ b/src/VMSBUILD
@@ -0,0 +1,67 @@
+How to compile, link and build GNU Emacs under VMS.
+
+
+A runnable Emacs on VMS consists of two files, an exe file and
+a map file. (It also refers to a DOC file in the [-.etc] sibling directory.
+These files are made automatically and kept straight by Emacs version number.)
+
+For an Emacs being built and tested, these files are `temacs.exe' and
+`temacs.dump' in this directory.
+
+For an installed Emacs, these files are `emacs.exe' and
+`emacs.dump' in the directory above this one. These names are known
+only in the file `emacs.com', also in that directory.
+
+Before you can run Emacs or compile or build any part of Emacs,
+you must run `emacs.com'. It sets up logical names that are used
+by everything else.
+
+Before compiling anything on VMS, you must copy `config.h-dist' to
+`config.h' and make sure it is set up for VMS, using files `m-vax.h'
+and `s-vms4-4.h'. Also copy `vmspaths.h' to `paths.h'.
+`paths.h-dist' is for Unix only. (On VMS versions before 4.4, the
+file names have `_' in place of `-', and you should use `s-vms.h'
+rather than `s-vms4-4.h'.)
+
+Execute `compile.com' to recompile all files that need recompilation.
+ Alternatively, execute `precomp.com' to define a command `ccom' that
+ can be used to recompile individual files. `ccom' works by executing
+ `ccom.com'.
+
+ If you compile with optimization, note that in compiler version
+ 3.0 there is a bug affecting inline functions. So you must specify
+ /OPTIMIZE=NOINLINE when compiling `dispnew.c'. If you still have problems,
+ try using /NOOPT.
+
+Compilation will give you lots of warnings about symbols longer than 30
+ characters. You must just ignore them. Alternatively, you can
+ compile the C program `vms-pp.c' and run all the .c and .h files
+ through that program and then compile the results.
+ (On VMS versions before 4.4, the program is called `vms_pp.c'.)
+
+ **If you use `vms-pp.c', please save the originals .c and .h files
+ and distribute them rather than the transformed files
+ if you wish to distribute copies of Emacs. Help minimize confusion!**
+
+Execute `link.com' to link the compiled files into `temacs.exe'.
+ This process uses `temacs.opt'. You will get lots of linker warnings
+ telling you that there were compiler warnings. Just ignore them.
+
+Execute `[-.etc]complink.com' to compile and link the files
+ in the [emacs.etc] directory. This must be done before
+ `[-.etc]makedoc.com' can be run.
+
+Execute `[-.etc]makedoc.com' to create or update the file `[-.etc]doc.'.
+ This must be done if that file does not yet exist or if any of
+ the Emacs C sources or preloaded Lisp sources has changed.
+ It must be done before `build.com' is run in order to take effect.
+
+Execute `build.com' to run `temacs.exe', initialize it and preload
+ some Lisp code, and dump the map file `temacs.dump' containing a copy
+ of all the impure storage after initialization.
+
+Execute `testemacs.com' to define the `runtemacs' command
+ to run `temacs.exe' with its map file `temacs.dump'.
+
+To install an Emacs, rename `temacs.dump' as `[-]emacs.dump' and
+ rename `temacs.exe' as `[-]emacs.exe'.