summaryrefslogtreecommitdiff
path: root/src/VMSBUILD
blob: 4b5340a08745b52743898274035509e38529c0c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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'.