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