]> git.saurik.com Git - bison.git/blame_incremental - src/build.com
Update
[bison.git] / src / build.com
... / ...
CommitLineData
1$! Set the def dir to proper place for use in batch. Works for interactive too.
2$flnm = f$enviroment("PROCEDURE") ! get current procedure name
3$set default 'f$parse(flnm,,,"DEVICE")''f$parse(flnm,,,"DIRECTORY")'
4$!
5$! This command procedure compiles and links BISON for VMS.
6$! BISON has been tested with VAXC version 2.3 and VMS version 4.5
7$! and on VMS 4.5 with GCC 1.12.
8$!
9$! Bj|rn Larsen blarsen@ifi.uio.no
10$! With some contributions by Gabor Karsai,
11$! KARSAIG1%VUENGVAX.BITNET@jade.berkeley.edu
12$! All merged and cleaned by RMS.
13$!
14$! Adapted for both VAX-11 "C" and VMS/GCC compilation by
15$! David L. Kashtan kashtan.iu.ai.sri.com
16$!
17$! First we try to sense which C compiler we have available. Sensing logic
18$! borrowed from Emacs.
19$!
20$set noon !do not bomb if an error occurs.
21$assign nla0: sys$output
22$assign nla0: sys$error !so we do not get an error message about this.
23$cc nla0:compiler_check.c
24$if $status.eq.%x38090 then goto try_gcc
25$ CC :== CC
26$ cc_options:="/NOLIST/define=(""index=strchr"",""rindex=strrchr"")"
27$ extra_linker_files:="VMSHLP,"
28$goto have_compiler
29$!
30$try_gcc:
31$gcc nla0:compiler_check.c
32$if $status.eq.%x38090 then goto whoops
33$ CC :== GCC
34$ cc_options:="/DEBUG"
35$ extra_linker_files:="GNU_CC:[000000]GCCLIB/LIB,"
36$goto have_compiler
37$!
38$whoops:
39$write sys$output "You must have a C compiler to build BISON. Sorry."
40$deassign sys$output
41$deassign sys$error
42$exit %x38090
43$!
44$!
45$have_compiler:
46$deassign sys$output
47$deassign sys$error
48$set on
49$if f$search("compiler_check.obj").nes."" then dele/nolog compiler_check.obj;
50$write sys$output "Building BISON with the ''cc' compiler."
51$!
52$! Do the compilation (compiler type is all set up)
53$!
54$ Compile:
55$ if "''p1'" .eqs. "LINK" then goto Link
56$ 'CC' 'cc_options' files.c
57$ 'CC' 'cc_options' LR0.C
58$ 'CC' 'cc_options' ALLOCATE.C
59$ 'CC' 'cc_options' CLOSURE.C
60$ 'CC' 'cc_options' CONFLICTS.C
61$ 'CC' 'cc_options' DERIVES.C
62$ 'CC' 'cc_options' VMSGETARGS.C
63$ 'CC' 'cc_options' GRAM.C
64$ 'CC' 'cc_options' LALR.C
65$ 'CC' 'cc_options' LEX.C
66$ 'CC' 'cc_options' MAIN.C
67$ 'CC' 'cc_options' NULLABLE.C
68$ 'CC' 'cc_options' OUTPUT.C
69$ 'CC' 'cc_options' PRINT.C
70$ 'CC' 'cc_options' READER.C
71$ 'CC' 'cc_options' REDUCE.C
72$ 'CC' 'cc_options' SYMTAB.C
73$ 'CC' 'cc_options' WARSHALL.C
74$ 'CC' 'cc_options' VERSION.C
75$ if "''CC'" .eqs. "CC" then macro vmshlp.mar
76$ Link:
77$ link/exec=bison main,LR0,allocate,closure,conflicts,derives,files,-
78vmsgetargs,gram,lalr,lex,nullable,output,print,reader,reduce,symtab,warshall,-
79version,'extra_linker_files'sys$library:vaxcrtl/lib
80$!
81$! Generate bison.hlp (for online help).
82$!
83$runoff bison.rnh