878ddf1f |
1 | March 95\r |
2 | Version 1.32 of pccts\r |
3 | \r |
4 | At the moment this file is available via anonymous FTP at\r |
5 | \r |
6 | Node: marvin.ecn.purdue.edu\r |
7 | File: pub/pccts/1.32/NOTES.BCC\r |
8 | \r |
9 | Mail corrections or additions to David Seidel <71333.1575@compuserve.com>\r |
10 | ===============================================================================\r |
11 | Notes on Building PCCTS 1.32 with Borland C++\r |
12 | \r |
13 | David Seidel, Innovative Data Concepts Incorporated\r |
14 | CompuServe: 71333,1575\r |
15 | Internet: 71333.1575@compuserve.com\r |
16 | dseidel@delphi.com\r |
17 | \r |
18 | I have gotten ANTLR and DLG to succesfully build with BCC 4.0, but have found\r |
19 | from experience that ANTLR, in particular, is likely to run out of memory\r |
20 | with grammars over a certain size, or with larger values for the -k and -ck\r |
21 | options. Now that BCC 4.02 and the new Borland Power Pack for DOS is now\r |
22 | available, I feel that there is no excuse not to build these tools as\r |
23 | 32-bit executables, as they ought to be.\r |
24 | \r |
25 | For people without the Power Pack, the makefiles below should be fairly easily\r |
26 | modified to build 16-bit real-mode executables, but I don't really recommend\r |
27 | it. As an alternative, you might consider the highly regarded DJGPP compiler\r |
28 | (a DOS port of the Gnu GCC compiler, with a DOS extender included). Hopefully\r |
29 | some other PCCTS who has DJGPP can provode whatever advice is necessary. The\r |
30 | Watcom compiler is also an excellent possibility (albeit a commercial one),\r |
31 | and I hope to make available Watcom makefiles in the near future.\r |
32 | \r |
33 | Here are the makefiles I am using. Both makefiles use a compiler configuration\r |
34 | file that contains compiler switches such as optimization settings. I call\r |
35 | this file bor32.cfg and keep a copy in both the ANTLR and DLG subdirectories.\r |
36 | \r |
37 | ==== File: bor32.cfg (cut here) ===============================================\r |
38 | -w-\r |
39 | -RT-\r |
40 | -x-\r |
41 | -N-\r |
42 | -k-\r |
43 | -d\r |
44 | -O2-e-l\r |
45 | -Z\r |
46 | -D__STDC__=1\r |
47 | ==== End of file bor32.cfg (cut here) =========================================\r |
48 | \r |
49 | ==== File: antlr\bor32.mak (cut here) =========================================\r |
50 | #\r |
51 | # ANTLR 1.32 Makefile for Borland C++ 4.02 with DPMI 32-bit DOS extender by\r |
52 | # David Seidel\r |
53 | # Innovative Data Concepts Incorporated\r |
54 | # 71333.1575@compuserve.com (or) dseidel@delphi.com\r |
55 | #\r |
56 | # Notes: 1. Compiler switches (optimization etc.) are contained in the\r |
57 | # file bor32.cfg.\r |
58 | # 2. This makefile requires Borland C++ 4.02 or greater with\r |
59 | # the DOS Power Pack add-on package.\r |
60 | # 3. Change the BCCDIR macro below to the topmost directory in\r |
61 | # which BCC is installed on your system.\r |
62 | #\r |
63 | \r |
64 | BCCDIR = d:\bc4\r |
65 | CC = bcc32\r |
66 | SET = ..\support\set\r |
67 | PCCTS_H = ..\h\r |
68 | ANTLR = ..\bin\antlr\r |
69 | DLG = ..\bin\dlg\r |
70 | CFLAGS = -I$(BCCDIR)\include -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN \\r |
71 | +bor32.cfg\r |
72 | LIBS = dpmi32 cw32\r |
73 | OBJ_EXT = obj\r |
74 | OBJS = antlr.obj scan.obj err.obj bits.obj build.obj fset2.obj fset.obj \\r |
75 | gen.obj globals.obj hash.obj lex.obj main.obj misc.obj pred.obj dialog.obj \\r |
76 | set.obj\r |
77 | \r |
78 | .c.obj:\r |
79 | $(CC) -c $(CFLAGS) {$&.c }\r |
80 | \r |
81 | antlr.exe: $(OBJS)\r |
82 | tlink32 @&&|\r |
83 | -Tpe -ax -c -s -L$(BCCDIR)\lib +\r |
84 | $(BCCDIR)\lib\c0x32 $**\r |
85 | $@\r |
86 | \r |
87 | $(LIBS)\r |
88 | ;\r |
89 | |\r |
90 | copy *.exe ..\bin\r |
91 | \r |
92 | \r |
93 | # *********** Target list of PC machines ***********\r |
94 | #\r |
95 | # Don't worry about the ambiguity messages coming from antlr\r |
96 | # for making antlr.c etc... [should be 10 of them, I think]\r |
97 | #\r |
98 | \r |
99 | # leave this commented out for initial build!\r |
100 | #antlr.c stdpccts.h parser.dlg tokens.h err.c : antlr.g\r |
101 | # $(ANTLR) antlr.g\r |
102 | \r |
103 | antlr.$(OBJ_EXT): antlr.c mode.h tokens.h\r |
104 | \r |
105 | scan.$(OBJ_EXT): scan.c mode.h tokens.h\r |
106 | \r |
107 | # leave this commented out for initial build!\r |
108 | #scan.c mode.h: parser.dlg\r |
109 | # $(DLG) -C2 parser.dlg scan.c\r |
110 | \r |
111 | set.$(OBJ_EXT): $(SET)\set.c\r |
112 | $(CC) -c $(CFLAGS) $(SET)\set.c\r |
113 | \r |
114 | ==== End of file antlr\bor32.mak (cut here) ===================================\r |
115 | \r |
116 | ==== File: dlg\bor32.mak (cut here) ===========================================\r |
117 | #\r |
118 | # DLG 1.32 Makefile for Borland C++ 4.02 with DPMI 32-bit DOS extender by\r |
119 | # David Seidel\r |
120 | # Innovative Data Concepts Incorporated\r |
121 | # 71333.1575@compuserve.com (or) dseidel@delphi.com\r |
122 | #\r |
123 | # Notes: 1. Compiler switches (optimization etc.) are contained in the\r |
124 | # file bor32.cfg.\r |
125 | # 2. This makefile requires Borland C++ 4.02 or greater with\r |
126 | # the DOS Power Pack add-on package.\r |
127 | # 3. Change the BCCDIR macro below to the topmost directory in\r |
128 | # which BCC is installed on your system.\r |
129 | #\r |
130 | \r |
131 | \r |
132 | BCCDIR = d:\bc4\r |
133 | CC = bcc32\r |
134 | SET = ..\support\set\r |
135 | PCCTS_H = ..\h\r |
136 | ANTLR = ..\bin\antlr\r |
137 | DLG = ..\bin\dlg\r |
138 | CFLAGS = -I$(BCCDIR)\include -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN \\r |
139 | +bor32.cfg\r |
140 | LIBS = dpmi32 cw32\r |
141 | OBJ_EXT = obj\r |
142 | OBJS = dlg_p.obj dlg_a.obj main.obj err.obj support.obj \\r |
143 | output.obj relabel.obj automata.obj set.obj\r |
144 | \r |
145 | .c.obj:\r |
146 | $(CC) -c $(CFLAGS) {$&.c }\r |
147 | \r |
148 | dlg.exe : $(OBJS)\r |
149 | tlink32 @&&|\r |
150 | -Tpe -ax -c -s -L$(BCCDIR)\lib +\r |
151 | c0x32 $**\r |
152 | $@\r |
153 | \r |
154 | $(LIBS)\r |
155 | ;\r |
156 | |\r |
157 | copy *.exe ..\bin\r |
158 | \r |
159 | dlg_p.obj: dlg_p.c\r |
160 | \r |
161 | dlg_a.obj: dlg_a.c\r |
162 | \r |
163 | main.obj: main.c\r |
164 | \r |
165 | err.obj: err.c\r |
166 | \r |
167 | support.obj: support.c\r |
168 | \r |
169 | output.obj: output.c\r |
170 | \r |
171 | relabel.obj: relabel.c\r |
172 | \r |
173 | automata.obj: automata.c\r |
174 | \r |
175 | set.$(OBJ_EXT): $(SET)\set.c\r |
176 | $(CC) -c $(CFLAGS) $(SET)\set.c\r |
177 | \r |
178 | ==== End of file dlg\bor32.mak (cut here) =====================================\r |
179 | \r |
180 | \r |
181 | \r |
182 | \r |
183 | \r |
184 | \r |