1$ !
2$ !     dvips for VAX/VMS
3$ !
4$ !
5$ !     Use to compile and link dvips with VAXC under VMS.  Before using
6$ !     this command file you must set the following definitions according
7$ !     to your own environment;
8$ !
9$ !     TFMPATH         - The directory where TFM files live ( needed for
10$ !                       the compilation of dvips.c ).  Be sure and include
11$ !                       the needed directory separator in the path ( i.e.
12$ !                       TEX_FONTS: )
13$ !     PKPATH          - The directory where PK files live ( needed for the
14$ !                       compilation of dvips.c ).  You should also decided
15$ !                       whether you need VMS_ROOTED ( needed for the
16$ !                       compilation of loadfont.c ) defined so that
17$ !                       PKPATH will be interpreted as a rooted directory
18$ !                       under VMS.  Be sure and include the needed directory
19$ !                       separator in the path ( i.e. TEX_FONTS: ).
20$ !     HEADERPATH      - The directory where the PostScript prologue file
21$ !                       live ( needed for the compilation of output.c &
22$ !                       dvips.c).  Be sure and include a trailing comma in
23$ !                       your definition of the header path as dvips uses this
24$ !                       definition as a path for both PostScript prologue
25$ !                       files and files which are included with \special
26$ !                       options.  This definition should be a comma
27$ !                       separated list of directories where dvips will
28$ !                       look for a specified file.  As an example;
29$ !
30$ !                       "HEADERPATH=""TEX_POSTSCRIPT:,SYS$LOGIN:,"""
31$ !
32$ !                       to look first in TEX_POSTSCRIPT:, then in SYS$LOGIN:,
33$ !                       and finally in the current default directory.
34$ !     CONFIGPATH      - The directory where the configuration file lives
35$ !                       ( needed for the compilation of resident.c ).  Be
36$ !                       sure and include the needed directory separator
37$ !                       in the path ( i.e. TEX_POSTSCRIPT: ).
38$ !
39$ !     FIGPATH         - Where the .ps and .eps files are
40$ !
41$ !     After dvips has been compiled and linked the user will be given the
42$ !     option of compressing the PostScript prologue files which are used
43$ !     by dvips and copying the resultant prologue files to the specifed
44$ !     HEADERPATH.  The user will also be given the option of copying the
45$ !     dvips image file to the area where TeX related images are stored.
46$ !     Answering "yes" to either of these options should be done only if
47$ !     the user has write priviledges to the directories which are specified.
48$ !
49$ !     Command file by: Robert Schneider
50$ !                      Department of Petroleum Engineering
51$ !                      The University of Texas at Austin
52$ !
53$ !                      October 1989
54$ !
55$ !     Updates by:      Earle Ake
56$ !                      Science Applications International Corporation
57$ !                      Dayton, Ohio
58$ !                      ake@dayton.saic.com
59$ !
60$ !                      Updated for DVIPS 5.34
61$ !                      August 1990
62$ !
63$ !                      Ted Nieland
64$ !                      Control Data Corporation
65$ !                      DECUS TeX Collection Editor
66$ !                      ted@nieland.dayton.oh.us
67$ !
68$ !                      Updated for DVIPS 5.47, February 1991
69$ !
70$ !                      Updated for DVIPS 5.474, March 1992
71$ !                      Earle F. Ake
72$ !
73$!                       Updated for DVIPS 5.493, Sept 1992
74$!                       Added HAVE_GETCWD,ANSI in CC for
75$!                       dvips.c and resident.c
76$!                       Max Calvani
77$!                       calvani@astrpd.astro.it
78$!
79$!                       Updated for DVIPS 5.495, Oct. 1992
80$!                       calvani@astrpd.astro.it
81$!
82$!                       Updated for DVIPS 5.499, Jan. 1993
83$!                       Added FONTLIB support
84$!                       calvani@astrpd.astro.it
85$!
86$ on error then goto bad_exit
87$ on severe_error then goto bad_exit
88$ !
89$ TFMPATH = "TEX_FONTS:"
90$ PKPATH = "TEX_PKDIR:"
91$ VFPATH = "TEX_VFDIR:"
92$ HEADERPATH = "DVI_INPUTS:,TEX_INPUTS:,SYS$LOGIN:,SYS$DISK:[],"
93$ PLACEHEADER_DIR = "TEX_DISK:[TEX.INPUTS.DVIDRIVERS]"
94$ CONFIGPATH = "TEX_INPUTS:"
95$ FIGPATH = "TEX_INPUTS:,SYS$DISK:"
96$ TPIC = ",TPIC"
97$ EMTEX = ",EMTEX"
98$ FONTLIB = ",FONTLIB"
99$ VMS_ROOTED = ",VMS_ROOTED"
100$ TEXEXEPATH = "TEX_DISK:[TEX.EXE]"
101$ DEBUG = ",DEBUG"
102$ !
103$ write sys$output " "
104$ inquire/nop ANSWER "Have you read the file VMS_INSTALL.TXT [no]?  "
105$ if ANSWER .eqs. "" then ANSWER = 0
106$ if ANSWER then goto read_instructions
107$   write sys$output " "
108$   write sys$output "Please read the VMS_INSTALL.TXT file,  edit this command"
109$   write sys$output "file if necessary, and then execute this file again."
110$   write sys$output " "
111$   exit
112$ read_instructions:
113$ write sys$output " "
114$ inquire/nop ANSWER "Compile sources [no]?  "
115$ if ANSWER .eqs. "" then ANSWER = 0
116$ if .not. ANSWER then goto linkstep
117$ !
118$ get_definitions:
119$ write sys$output " "
120$ !
121$ inquire/nop ANSWER "TFM path [''TFMPATH']?  "
122$ if ANSWER .nes. "" then TFMPATH = ANSWER
123$ inquire/nop ANSWER "PK path [''PKPATH']?  "
124$ if ANSWER .nes. "" then PKPATH = ANSWER
125$ inquire/nop ANSWER "VF path [''VFPATH']?  "
126$ if ANSWER .nes. "" then VFPATH = ANSWER
127$ inquire/nop ANSWER "PostScript HEADER path [''HEADERPATH']?  "
128$ if ANSWER .nes. "" then HEADERPATH = ANSWER
129$ inquire/nop ANSWER "PostScript CONFIG path [''CONFIGPATH'])?  "
130$ if ANSWER .nes. "" then CONFIGPATH = ANSWER
131$ inquire/nop ANSWER "FIG path [''FIGPATH'])?  "
132$ if ANSWER .nes. "" then FIGPATH = ANSWER
133$ inquire/nop ANSWER "Do you want TPIC support [yes]?  "
134$ if ANSWER .eqs. "" then ANSWER = 1
135$ if .not. ANSWER then TPIC = ""
136$ inquire/nop ANSWER "Do you want EMTEX support [yes]?  "
137$ if ANSWER .eqs. "" then ANSWER = 1
138$ if .not. ANSWER then EMTEX = ""
139$ inquire/nop ANSWER "Do you want FONTLIB support [yes]?  "
140$ if ANSWER .eqs. "" then ANSWER = 1
141$ if .not. ANSWER then FONTLIB = ""
142$ inquire/nop ANSWER "Do you want DEBUG support [yes]?  "
143$ if ANSWER .eqs. "" then ANSWER = 1
144$ if .not. ANSWER then DEBUG = ""
145$ inquire/nop ANSWER "Is ''PKPATH' a rooted directory [yes]?   "
146$ if ANSWER .eqs. "" then ANSWER = 1
147$ if .not. ANSWER then VMS_ROOTED = ""
148$ write sys$output " "
149$ write sys$output "dvips will be compiled with the following definitions;"
150$ write sys$output " "
151$ write sys$output "TFMPATH = ",TFMPATH
152$ write sys$output "PKPATH = ",PKPATH
153$ write sys$output "VFPATH = ",VFPATH
154$ write sys$output "HEADERPATH = ",HEADERPATH
155$ write sys$output "CONFIGPATH = ",CONFIGPATH
156$ write sys$output "FIGPATH = ",FIGPATH
157$ if TPIC .eqs. "" then -
158  write sys$output "TPIC support is not enabled."
159$ if TPIC .nes. "" then -
160  write sys$output "TPIC support is enabled."
161$ if FONTLIB .eqs. "" then -
162  write sys$output "FONTLIB support is not enabled."
163$ if FONTLIB .nes. "" then -
164  write sys$output "FONTLIB support is enabled."
165$ if EMTEX .eqs. "" then -
166  write sys$output "EMTEX support is not enabled."
167$ if EMTEX .nes. "" then -
168  write sys$output "EMTEX support is enabled."
169$ if DEBUG .eqs. "" then -
170  write sys$output "DEBUG support is not enabled."
171$ if DEBUG .nes. "" then -
172  write sys$output "DEBUG support is enabled."
173$ if VMS_ROOTED .eqs. "" then -
174  write sys$output PKPATH," is not a rooted directory."
175$ if VMS_ROOTED .nes. "" then -
176  write sys$output PKPATH," is a rooted directory."
177$ write sys$output " "
178$ inquire/nop ANSWER "Is this correct [yes]?  "
179$ if ANSWER .eqs. "" then ANSWER = 1
180$ if .not. ANSWER then goto get_definitions
181$ !
182$ if VMS_ROOTED .nes. "" then PKPATH = "''PKPATH'[%d]%f.PK"
183$ write sys$output " "
184$ write sys$output "Compiling sources ..."
185$ write sys$output " "
186$ write sys$output "afm2tfm.c ..."
187$ cc /define=(VMS'DEBUG') AFM2TFM.C
188$ write sys$output "color.c ..."
189$ cc /define=(VMS'DEBUG') COLOR.C
190$ write sys$output "dopage.c ..."
191$ cc /define=(VMS'DEBUG''EMTEX') DOPAGE.C
192$ write sys$output "dosection.c ..."
193$ cc /define=(VMS'DEBUG') DOSECTION.C
194$ write sys$output "dospecial.c ..."
195$ cc /define=(VMS'DEBUG''TPIC') DOSPECIAL.C
196$ write sys$output "download.c ..."
197$ cc /define=(VMS'DEBUG') DOWNLOAD.C
198$ write sys$output "dpicheck.c ..."
199$ cc /define=(VMS'DEBUG') DPICHECK.C
200$ write sys$output "drawps.c ..."
201$ cc /define=(VMS'DEBUG''TPIC') DRAWPS.C
202$ write sys$output "dviinput.c ..."
203$ cc /define=(VMS'DEBUG') DVIINPUT.C
204$ write sys$output "dvips.c ..."
205$ cc /define=(VMS'DEBUG',"TFMPATH=""''TFMPATH'""","PKPATH=""''PKPATH'""", -
206      "VFPATH=""''VFPATH'""","FIGPATH=""''FIGPATH'""",HAVE_GETCWD,ANSI, -
207      "CONFIGPATH=""''CONFIGPATH'""","HEADERPATH=""''HEADERPATH'""") DVIPS.C
208$ write sys$output "finclude.c ..."
209$ cc /DEF=(VMS'DEBUG') FINCLUDE.C
210$ write sys$output "flib.c ..."
211$ cc /DEF=(VMS'DEBUG''FONTLIB') FLIB.C
212$ write sys$output "fontdef.c ..."
213$ cc /define=(VMS'DEBUG') FONTDEF.C
214$ write sys$output "header.c ..."
215$ cc /define=(VMS'DEBUG') HEADER.C
216$ write sys$output "loadfont.c ..."
217$ cc /define=(VMS'DEBUG') LOADFONT.C
218$ write sys$output "makefont.c ..."
219$ cc /define=(VMS'DEBUG') MAKEFONT.C
220$ write sys$output "output.c ..."
221$ cc /define=(VMS'DEBUG',"HEADERPATH=""''HEADERPATH'""") OUTPUT.C
222$ write sys$output "papersiz.c  ..."
223$ cc /define=(VMS'DEBUG') PAPERSIZ.C
224$ write sys$output "pprescan.c  ..."
225$ cc /define=(VMS'DEBUG') PPRESCAN.C
226$ write sys$output "prescan.c  ..."
227$ cc /define=(VMS'DEBUG') PRESCAN.C
228$ write sys$output "repack.c ..."
229$ cc /define=(VMS'DEBUG') REPACK.C
230$ write sys$output "resident.c ..."
231$ cc /define=(VMS'DEBUG',"CONFIGPATH=""''CONFIGPATH'""",HAVE_GETCWD,ANSI) -
232      RESIDENT.C
233$ write sys$output "scalewidth.c ..."
234$ cc /define=(VMS'DEBUG') SCALEWIDTH.C
235$ write sys$output "scanpage.c ..."
236$ cc /define=(VMS'DEBUG') SCANPAGE.C
237$ write sys$output "search.c ..."
238$ cc /define=(VMS'DEBUG') SEARCH.C
239$ write sys$output "skippage.c ..."
240$ cc /define=(VMS'DEBUG') SKIPPAGE.C
241$ write sys$output "squeeze.c ..."
242$ cc /define=(VMS'DEBUG') SQUEEZE.C
243$ write sys$output "tfmload.c ..."
244$ cc /define=(VMS'DEBUG') TFMLOAD.C
245$ write sys$output "unpack.c ..."
246$ cc /define=(VMS'DEBUG') UNPACK.C
247$ write sys$output "virtualfont.c ..."
248$ cc /define=(VMS'DEBUG') VIRTUALFONT.C
249$ write sys$output "bbox.c ..."
250$ cc /define=(VMS'DEBUG') BBOX.C
251$ write sys$output "emspecial.c ..."
252$ cc /define=(VMS'DEBUG''EMTEX') EMSPECIAL.C
253$ !
254$ !     vaxvms fixes some irritating problems with VAXC ( particulary
255$ !     fseek and ftell ).  Thanks to Nelson Beebee at Utah.
256$ !
257$ write sys$output "vaxvms.c ..."
258$ cc /define=(VMS'DEBUG') [.VMS]VAXVMS.C
259$ !
260$ linkstep:
261$ write sys$output " "
262$ write sys$output "Linking dvips ..."
263$ link /exe=dvips dvips,dopage,dosection,dospecial,download,dpicheck,drawps, -
264         dviinput,header,finclude,flib,fontdef,loadfont,tfmload,prescan, -
265                  scanpage,skippage,output,scalewidth,resident,search,unpack, -
266                  makefont,repack,virtualfont,vaxvms,color,papersiz,pprescan, -
267                  bbox,emspecial,[.vms]vaxcrtl.opt/opt
268$ write sys$output " "
269$ write sys$output "Linking squeeze ..."
270$ link /exe=squeeze squeeze,vaxvms,[.vms]vaxcrtl.opt/opt
271$ write sys$output " "
272$ write sys$output "Linking afm2tfm ..."
273$ write sys$output " "
274$ link /exe=afm2tfm afm2tfm,vaxvms,[.vms]vaxcrtl.opt/opt
275$ !
276$ inquire/nop ANSWER -
277  "Do you wish to compress the PostScript prologue files [no]?   "
278$ if ANSWER .eqs. "" then ANSWER = 0
279$ if .not. ANSWER then goto copy_prologue
280$ squeeze :== $'f$environment("DEFAULT")'squeeze.exe
281$ write sys$output " "
282$ set verify
283$ squeeze COLOR.LPRO COLOR.PRO
284$ squeeze FINCLUDE.LPRO FINCLUDE.PRO
285$ squeeze TEX.LPRO TEX.PRO
286$ squeeze TEXPS.LPRO TEXPS.PRO
287$ squeeze SPECIAL.LPRO SPECIAL.PRO
288$ verify = 'f$verify(0)
289$ write sys$output " "
290$ copy_prologue:
291$ FIRSTPATH =  PLACEHEADER_DIR
292$ inquire/nop ANSWER -
293  "Do you wish to copy the prologue files to ''FIRSTPATH' [yes]?   "
294$ if ANSWER .eqs. "" then ANSWER = 1
295$ if .not. ANSWER then goto copy_config
296$ write sys$output " "
297$ set verify
298$ copy COLOR.PRO 'FIRSTPATH'COLOR.PRO
299$ copy FINCLUDE.PRO 'FIRSTPATH'FINCLUDE.PRO
300$ copy TEX.PRO 'FIRSTPATH'TEX.PRO
301$ copy TEXPS.PRO 'FIRSTPATH'TEXPS.PRO
302$ copy SPECIAL.PRO 'FIRSTPATH'SPECIAL.PRO
303$ set protection=(s:rwed,o:rwed,g:re,w:re) 'FIRSTPATH'COLOR.PRO
304$ set protection=(s:rwed,o:rwed,g:re,w:re) 'FIRSTPATH'FINCLUDE.PRO
305$ set protection=(s:rwed,o:rwed,g:re,w:re) 'FIRSTPATH'TEX.PRO
306$ set protection=(s:rwed,o:rwed,g:re,w:re) 'FIRSTPATH'SPECIAL.PRO
307$ set protection=(s:rwed,o:rwed,g:re,w:re) 'FIRSTPATH'TEXPS.PRO
308$ verify = 'f$verify(0)
309$ write sys$output " "
310$ copy_config:
311$ FIRSTPATH =  PLACEHEADER_DIR
312$ inquire/nop ANSWER -
313  "Do you wish to copy the CONFIG.PS file to ''FIRSTPATH' [yes]?   "
314$ if ANSWER .eqs. "" then ANSWER = 1
315$ if .not. ANSWER then goto copy_image
316$ write sys$output " "
317$ set verify
318$ copy CONFIG.PS 'FIRSTPATH'CONFIG.PS
319$ set protection=(s:rwed,o:rwed,g:re,w:re) 'FIRSTPATH'CONFIG.PS
320$ verify = 'f$verify(0)
321$ write sys$output " "
322$ copy_image:
323$ inquire/nop ANSWER "Do you wish to copy DVIPS.EXE to the TeX area [yes]?   "
324$ if ANSWER .eqs. "" then ANSWER = 1
325$ if .not. ANSWER then goto done
326$ inquire/nop ANSWER "TeX image area [''TEXEXEPATH']?  "
327$ if ANSWER .nes. "" THEN TEXEXEPATH = ANSWER
328$ write sys$output " "
329$ set verify
330$ copy dvips.exe 'TEXEXEPATH'
331$ set protect=(s:rwed,o:rwed,g:re,w:re) 'TEXEXEPATH'dvips.exe
332$ verify = 'f$verify(0)
333$ write sys$output " "
334$ done:
335$ write sys$output " "
336$ write sys$output "Be sure to add dvips to your CLI by using the SET "
337$ write sys$output "COMMAND syntax and do the other steps which are"
338$ write sys$output "necessary to finish up the installation of dvips."
339$ write sys$output " "
340$ goto good_exit
341$ bad_exit:
342$ write sys$output " "
343$ write sys$output "Something's wrong here.  You might want to take a look"
344$ write sys$output "at the offending code or command and start over."
345$ write sys$output " "
346$ exit
347$ good_exit:
348$ write sys$output "Done."
349$ write sys$output " "
350$ exit
351$! --------------------- EOF -------------------------------------
352