I backed out some of the changes, but it should compile and run on VMS. I removed the changes that guarantee that the scratch files get unique names; I did this because the resulting filenames would not work on some systems, and because if this is a problem I feel the correct solution would be to make sure each user is actually running in the correct unique directory, rather than changing the names of all of the temporary files that dvips might create. -tgr Original message: From: "Edward J. Groth" To: doyle@mmm.lanl.gov, rokicki@CS.Stanford.EDU CC: groth@PUPGG.PRINCETON.EDU Message-ID: <009A5364.5D7EC83B.21977@PUPGG.PRINCETON.EDU> Subject: vms port and mods of hyper dvips 5.58 Content-Type: text Content-Length: 155227 Status: RO To: Mark Doyle and Tomas Rokicki I've picked up dvips version 5.58 from LANL, with Mark's hps modifications. I've ported (reported?) this to VMS. Below is a summary of my changes, followed by a copy of each changed routine (all changes are annotated with EJG). (It looks like whoever was keeping the vms port going hasn't worked on it for a while.) Thanks for the good work! - Ed EJG 08-Jul-1996 This directory contains dvips 5.58 hacked by Mark Doyle to put in mods for hyperps and hacked by me to make sure it ports to VMS. This was obtained by following links from http://xxx.lanl.gov/hypertex in early July, 1996. Dvips has been made for vms v6.2 (alpha and vax) using DEC C v5.0. Main changes I made: ****** dvips.c include subdirectory [.vms] where vmscli.c is included. get process id and use in constructing file names dvips_h_pidxxxxx.tmp and dvips_b_pidxxxxx.tmp to replace head.tmp and body.tmp, so we don't get a name collision if two users are using the same scratch space. Change all references to these names to reference the variables holding the new names. ****** hps.c replace head.tmp and body.tmp as above. replace ERROR with ERROR_HPS to avoid collision with error() function. Question: why us a boolean variable to represent a constant? after the former head.tmp and body.tmp files are copied to the output, they are deleted. (neatness) ****** output.c replace head.tmp and body.tmp as above. Required a little bit of extra logic when testing to see if the output file is the former head.tmp (so we don't put in a \n). Don't want to do the test if the HPS_FLAG hasn't been set. ****** dvips.h include subdirectory [.vms] where vms.h is included. ****** [.vms]vmscli.c add qualifiers for new options since this file was last updated. fix up some bugs in qualifiers. ****** [.vms]dvips.cld add qualifiers for new options since this file was last updated. fix up some bugs in qualifiers. ****** [.vms]dvips.hlp add help for new qualifiers added above. make help agree with what the qualifiers actually do. For example, the /filter qualifier, sends the output to stdout, but still requires an input file (it will not read from stdin). ****** [.vms]newmake.com Made from [.vms]make.com. Don't prompt for options - all hardwired as defaults, except fontlib is turned off. HPS is defined in all cc's, and /standard=vaxc is added to all cc's. hps.c is included in the compile and link steps options file is removed from the link steps. /----------------------------------------------------------------------\ | Edward J. Groth | Phone: 609-258-4361 Fax: 609-258-6853 | | Physics Dept., Jadwin Hall | URL: http://pupgg.princeton.edu/~groth/ | | Princeton University | SPAN/HEPNET: PUPGG::GROTH=44117::GROTH | | Princeton, NJ 08544 | Internet: groth@pupgg.princeton.edu | \----------------------------------------------------------------------/