1$! vmsbuild.com -- Commands to build GAWK		Pat Rankin, Dec'89
2$!							   revised, Mar'90
3$!						gawk 2.13  revised, Jun'91
4$!						gawk 2.14  revised, Sep'92
5$!						gawk 2.15  revised, Oct'93
6$!						gawk 3.0   revised, Dec'95
7$!						gawk 3.0.1 revised, Nov'96
8$!
9$ REL = "3.0"	!release version number
10$ PATCHLVL = "6"
11$!
12$!
13$ CCFLAGS = "/noList"	! "/noOpt/Debug"
14$ CDEFS	  = "GAWK,HAVE_CONFIG_H"
15$!
16$ if p1.eqs."" then  p1 = "DECC"	!default compiler
17$ if p1.eqs."GNUC"
18$ then
19$! assumes VAX
20$   CC = "gcc"
21$   if f$type(gcc).eqs."STRING" then  CC = gcc
22$   CFLAGS = "/Incl=([],[.vms])/Obj=[]/Def=(''CDEFS')''CCFLAGS'"
23$   LIBS = "gnu_cc:[000000]gcclib.olb/Library,sys$library:vaxcrtl.olb/Library"
24$   if p2.eqs."DO_GNUC_SETUP" then  set command gnu_cc:[000000]gcc
25$ else	!!GNUC
26$  if p1.eqs."VAXC"
27$  then
28$!  always VAX; version V3.x of VAX C assumed (for V2.x, remove /Opt=noInline)
29$   CC = "cc"
30$   if f$trnlnm("DECC$CC_DEFAULT").nes."" then  CC = "cc/VAXC"
31$   CFLAGS = "/Incl=[]/Obj=[]/Opt=noInline/Def=(''CDEFS')''CCFLAGS'"
32$   LIBS = "sys$share:vaxcrtl.exe/Shareable"
33$  else  !!VAXC
34$!  neither GNUC nor VAXC, assume DECC (same for either VAX or Alpha)
35$   CC = "cc/DECC/Prefix=All"
36$   CFLAGS = "/Incl=[]/Obj=[]/Def=(''CDEFS')''CCFLAGS'"
37$   LIBS = ""	! DECC$SHR instead of VAXCRTL, no special link option needed
38$  endif !VAXC
39$ endif !GNUC
40$!
41$ cc = CC + CFLAGS
42$ show symbol cc
43$!
44$ if f$search("config.h").nes."" then -
45    if f$cvtime(f$file_attr("config.h","RDT")).ges.-
46       f$cvtime(f$file_attr("[.vms]vms-conf.h","RDT")) then  goto config_ok
47$ v = f$verify(1)
48$ copy [.vms]vms-conf.h []config.h
49$! 'f$verify(v)'
50$config_ok:
51$ if f$search("awktab.c").nes."" then  goto awktab_ok
52$	write sys$output " You must process `awk.y' with ""yacc"" or ""bison"""
53$	if f$search("awk_tab.c").nes."" then -	!bison was run manually
54	  write sys$output " or else rename `awk_tab.c' to `awktab.c'."
55$	if f$search("ytab.c").nes."" .or. f$search("y_tab.c").nes."" then - !yacc
56	  write sys$output " or else rename `ytab.c' or `y_tab.c' to `awktab.c'."
57$	exit
58$awktab_ok:
59$ v = f$verify(1)
60$ cc array.c
61$ cc builtin.c
62$ cc eval.c
63$ cc field.c
64$ cc gawkmisc.c
65$ cc io.c
66$ cc main.c
67$ cc missing.c
68$ cc msg.c
69$ cc node.c
70$ cc re.c
71$ cc version.c
72$ cc awktab.c
73$ cc getopt.c
74$ cc getopt1.c
75$ cc regex.c
76$ cc dfa.c
77$ cc random.c
78$ cc/Define=('CDEFS',"STACK_DIRECTION=(-1)","exit=vms_exit") alloca.c
79$ cc [.vms]vms_misc.c
80$ cc [.vms]vms_popen.c
81$ cc [.vms]vms_fwrite.c
82$ cc [.vms]vms_args.c
83$ cc [.vms]vms_gawk.c
84$ cc [.vms]vms_cli.c
85$ set command/Object=[]gawk_cmd.obj [.vms]gawk.cld
86$! 'f$verify(v)'
87$!
88$ close/noLog Fopt
89$ create gawk.opt
90! GAWK -- GNU awk
91array.obj,builtin.obj,eval.obj,field.obj,gawkmisc.obj
92io.obj,main.obj,missing.obj,msg.obj,node.obj,re.obj,version.obj,awktab.obj
93getopt.obj,getopt1.obj,regex.obj,dfa.obj,random.obj,alloca.obj
94[]vms_misc.obj,vms_popen.obj,vms_fwrite.obj,vms_args.obj
95[]vms_gawk.obj,vms_cli.obj,gawk_cmd.obj
96psect_attr=environ,noshr	!extern [noshare] char **
97stack=48	!preallocate more pages (default is 20)
98iosegment=128	!ditto (default is 32)
99$ open/append Fopt gawk.opt
100$ write Fopt libs
101$ write Fopt "identification=""V''REL'.''PATCHLVL'"""
102$ close Fopt
103$!
104$ v = f$verify(1)
105$ link/exe=gawk.exe gawk.opt/options
106$! 'f$verify(v)'
107$ exit
108