tozer@esseye.UUCP (Jeff Tozer) (09/07/90)
Dave Moore recently ported the utility macps (used for printing
Macintosh-generated PostScript files from a unix host) to a VAX VMS host.
We got a copy of macps from sumex-aim.stanford.edu (36.44.0.6), under
info-mac/unix/macps-22.shar. According to Dave, the port involves the
following:
1) Bracket with #ifdefs the system specific include files (on the VAX
strings.h resides in sys$library not sys/)
2) Bracket out the "strcat(..'/')" in MACPS.c so that ucblib is not
turned into a unix style path.
3) The compilation statement is:
$cc /define=(CONFIGDIR="""MACPS_DIR""",SYSV) macps.c
$cc /define=SYSV macaux.c
$link macps,macaux,sys$library:vaxcrtl/lib
This indicates that the directory (CONFIGDIR) where macps.config and
the Laserprep header files reside is MACPS_DIR (a VAX logical).
Use the SYSV define to indicate that the VAX C compiler is SYSV
compatible. You don't need ucbwhich.c if you do the above steps.
The program is executed as follows (due to VAX DCL ):
$macps :==$MACPS_DIR:macps ! define macps as foreign command
$define sys$output out.ps
$macps in.ps
$deass sys$output
This, in effect accomplishes what the > does in Unix, i.e., redirects
stdout to the file out.ps.
----------------------------------------------------------------------------
Jeff Tozer
Smiths Industries
Grand Rapids, MI