]>
Commit | Line | Data |
---|---|---|
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,- | |
78 | vmsgetargs,gram,lalr,lex,nullable,output,print,reader,reduce,symtab,warshall,- | |
79 | version,'extra_linker_files'sys$library:vaxcrtl/lib | |
80 | $! | |
81 | $! Generate bison.hlp (for online help). | |
82 | $! | |
83 | $runoff bison.rnh |