Okay, so, I have to assume that you somehow got the unix shar files unpacked. If you got some warnings about "wc" not being found, then you can ignore them, since that is a unix program which was just trying to do "checksums". [hopefully everything unpacked okay :-)] Now, the way to build the programs is simple: - first take a look at the xtract.h file and determine if any of the settings need adjusting. Pay careful attention to the following definitions: CEXTDOC_NAME - name of the documentation extraction program CONFIG_FILE - name of the configuration file SYS_CONFIG - location of the global system configuration file CPP - the C preprocessor to handle the "#define"s CPP_COMMENT - the flag to tell the C preprocessor not to strip the comments out. It should be possible to change them on the command line, using the newbuild.com file, instead of build.com, but I have not been able to test it. - @build (or @newbuild) or just compile and then link the main.c and parse.c files. Note that on VMS systems that I have heard about the C compilers do not have support for retaining the comments after preprocessing. So, the cextdoc program and the cextract comment functions are pretty useless on VMS systems. [I have had reports that the GNU C preprocessor works on VMS systems, so you might want to grab that and use that. You could probably make good use of it normally anyway.] I have provided a VMS help file to give a documentation method for normal VMS users. It is the file: cextract.hlp You might also want to look at the text files: cextract.doc cextrc.doc since even though they are the documentation for a normal Unix system, they do document most everything in the VMS version as well. The ".hlp" file should be more than enough, though. Anyway, you can now place the binary wherever you want. You can also copy it into "cextdoc" (or whatever you set CEXTDOC_NAME to) and thereby obtain a program with the documentation extractor as the default mode. [It checks the name as it is called] In order to simplify access to the program(s), you will need to define a foreign command using: cextract == "$the_disc:[the_directory]cextract" Where "the_disc" and "the_directory" have the values for where you placed the binary. I suppose that line can be added to your LOGIN.COM file. You might consider building a system configuration file, using the "/SYSTEM-BUILD" qualifier. You could then edit it to your taste, having it contain any default options you might wish to have, as well as any "replace" commands which your system might need. To determine what kind of things might need replacing, you can look at the standard header files on your system, searching for things which you had considered a "typedef" but which were really "#define" sequences. The one noticable one on my Sun is: #define FILE struct _iobuf Since I found that FILE was defined like this on most systems, I made sure to automatically build the replacement into /SYSTEM-BUILD process. The varargs system also uses a similiar mechanism, so I made sure to handle that as well. If you get any error messages or warnings, please let me know. If you have any problems at all, or even just a friendly suggestion, feel free to send me mail about it. Adam Bryant adb@bu.edu