Why was this page black?
The way port GNU programs to VMS.
From the very beginning, when I started working on Emacs 19, I knew I
wanted to make the same kind of configuration scripts and templates as
the ones which were used on UNIX.
So really, the first GNU program I really started working on is Autoconf.
I haven't finished all parts of it yet, that's why I haven't released it
yet.
I have since developed a standard on what files should exist in the VMS
port of a GNU program, and how things should be done. That standard
resulted in a new GNU package, called GNU vmslib (it isn't released yet,
sorry).
In general, most VMS-specific files will appear in the vms/
subdirectory. There are some exceptions to this rule, like in GNU flex,
where most VMS-specific files appear in misc/vms/ instead.
These are the files which you should find in any GNU program I have
worked on:
Configuration files:
- configure.com_in and configure.com.
This command procedure is used to configure the program. It is
used in a way as similar to the UNIX configure as possible.
Documentation:
- README.
Is modified to mention what to read when you're on VMS.
- INSTALL.VMS.
Contains the same information as INSTALL, for VMS.
- vms/VMSBUILD.
Contains information on how to compile the program with command
procedures.
- foo.hlp.
I help file corresponding to the UNIX manual page that might exist
in the original source. All the relevant UNIX manual pages should
have a corresponding help file.
Template files:
- descrip.mms_in.
Is a copy of Makefile.in, with any change that is needed
for VMS. These files should exist everywhere where you can find
a Makefile.in. The same goes for descrip.mms_in_in
versus Makefile.in.in.
- vms/compvmslib.com_in.
In case some files from GNU vmslib have been copied into the source
of this program, this template file will be present. The command
procedure which is produced from this template should be used to
compile and link the parts that belong to GNU vmslib.
- vms/compile.com_in.
The command procedure produced with this template should be used
to compile all the files which are specific to this program (i.e.
not part of GNU vmslib).
- vms/link.com_in.
The command procedure produced with this template should be used
to link the program.
- vms/foo_install.com_in.
The command procedure produced with this template should be used
to install the program.
- vms/foo_startup.dat_in.
With this template, a data file which contains the data about
symbols, logical names, and so on that the program will need are
specified. That data file is use to produce a startup command
procedure, called vms/foo_startup.com.
How programs are set up to run:
The installation procedure in all the GNU programs I work on will either
install vms/foo_startup.com in a startup directory, or
inserted in gnu_startup.com in that startup directory. The
resulting command procedure in the startup directory should be called
with specific arguments to setup the program to run. At the end of the
installation procedure, you will get an explanation on how to do this.
The GNUish VMS project / Richard Levitte, <levitte@e.kth.se>
Last update:
Sunday, February 18 1996, 19:39 CET