March 95 | |
Version 1.32 of pccts | |
At the moment this file is available via anonymous FTP at | |
Node: marvin.ecn.purdue.edu | |
File: pub/pccts/1.32/NOTES.BCC | |
Mail corrections or additions to David Seidel <71333.1575@compuserve.com> | |
=============================================================================== | |
Notes on Building PCCTS 1.32 with Borland C++ | |
David Seidel, Innovative Data Concepts Incorporated | |
CompuServe: 71333,1575 | |
Internet: 71333.1575@compuserve.com | |
dseidel@delphi.com | |
I have gotten ANTLR and DLG to succesfully build with BCC 4.0, but have found | |
from experience that ANTLR, in particular, is likely to run out of memory | |
with grammars over a certain size, or with larger values for the -k and -ck | |
options. Now that BCC 4.02 and the new Borland Power Pack for DOS is now | |
available, I feel that there is no excuse not to build these tools as | |
32-bit executables, as they ought to be. | |
For people without the Power Pack, the makefiles below should be fairly easily | |
modified to build 16-bit real-mode executables, but I don't really recommend | |
it. As an alternative, you might consider the highly regarded DJGPP compiler | |
(a DOS port of the Gnu GCC compiler, with a DOS extender included). Hopefully | |
some other PCCTS who has DJGPP can provode whatever advice is necessary. The | |
Watcom compiler is also an excellent possibility (albeit a commercial one), | |
and I hope to make available Watcom makefiles in the near future. | |
Here are the makefiles I am using. Both makefiles use a compiler configuration | |
file that contains compiler switches such as optimization settings. I call | |
this file bor32.cfg and keep a copy in both the ANTLR and DLG subdirectories. | |
==== File: bor32.cfg (cut here) =============================================== | |
-w- | |
-RT- | |
-x- | |
-N- | |
-k- | |
-d | |
-O2-e-l | |
-Z | |
-D__STDC__=1 | |
==== End of file bor32.cfg (cut here) ========================================= | |
==== File: antlr\bor32.mak (cut here) ========================================= | |
# | |
# ANTLR 1.32 Makefile for Borland C++ 4.02 with DPMI 32-bit DOS extender by | |
# David Seidel | |
# Innovative Data Concepts Incorporated | |
# 71333.1575@compuserve.com (or) dseidel@delphi.com | |
# | |
# Notes: 1. Compiler switches (optimization etc.) are contained in the | |
# file bor32.cfg. | |
# 2. This makefile requires Borland C++ 4.02 or greater with | |
# the DOS Power Pack add-on package. | |
# 3. Change the BCCDIR macro below to the topmost directory in | |
# which BCC is installed on your system. | |
# | |
BCCDIR = d:\bc4 | |
CC = bcc32 | |
SET = ..\support\set | |
PCCTS_H = ..\h | |
ANTLR = ..\bin\antlr | |
DLG = ..\bin\dlg | |
CFLAGS = -I$(BCCDIR)\include -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN \ | |
+bor32.cfg | |
LIBS = dpmi32 cw32 | |
OBJ_EXT = obj | |
OBJS = antlr.obj scan.obj err.obj bits.obj build.obj fset2.obj fset.obj \ | |
gen.obj globals.obj hash.obj lex.obj main.obj misc.obj pred.obj dialog.obj \ | |
set.obj | |
.c.obj: | |
$(CC) -c $(CFLAGS) {$&.c } | |
antlr.exe: $(OBJS) | |
tlink32 @&&| | |
-Tpe -ax -c -s -L$(BCCDIR)\lib + | |
$(BCCDIR)\lib\c0x32 $** | |
$@ | |
$(LIBS) | |
; | |
| | |
copy *.exe ..\bin | |
# *********** Target list of PC machines *********** | |
# | |
# Don't worry about the ambiguity messages coming from antlr | |
# for making antlr.c etc... [should be 10 of them, I think] | |
# | |
# leave this commented out for initial build! | |
#antlr.c stdpccts.h parser.dlg tokens.h err.c : antlr.g | |
# $(ANTLR) antlr.g | |
antlr.$(OBJ_EXT): antlr.c mode.h tokens.h | |
scan.$(OBJ_EXT): scan.c mode.h tokens.h | |
# leave this commented out for initial build! | |
#scan.c mode.h: parser.dlg | |
# $(DLG) -C2 parser.dlg scan.c | |
set.$(OBJ_EXT): $(SET)\set.c | |
$(CC) -c $(CFLAGS) $(SET)\set.c | |
==== End of file antlr\bor32.mak (cut here) =================================== | |
==== File: dlg\bor32.mak (cut here) =========================================== | |
# | |
# DLG 1.32 Makefile for Borland C++ 4.02 with DPMI 32-bit DOS extender by | |
# David Seidel | |
# Innovative Data Concepts Incorporated | |
# 71333.1575@compuserve.com (or) dseidel@delphi.com | |
# | |
# Notes: 1. Compiler switches (optimization etc.) are contained in the | |
# file bor32.cfg. | |
# 2. This makefile requires Borland C++ 4.02 or greater with | |
# the DOS Power Pack add-on package. | |
# 3. Change the BCCDIR macro below to the topmost directory in | |
# which BCC is installed on your system. | |
# | |
BCCDIR = d:\bc4 | |
CC = bcc32 | |
SET = ..\support\set | |
PCCTS_H = ..\h | |
ANTLR = ..\bin\antlr | |
DLG = ..\bin\dlg | |
CFLAGS = -I$(BCCDIR)\include -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN \ | |
+bor32.cfg | |
LIBS = dpmi32 cw32 | |
OBJ_EXT = obj | |
OBJS = dlg_p.obj dlg_a.obj main.obj err.obj support.obj \ | |
output.obj relabel.obj automata.obj set.obj | |
.c.obj: | |
$(CC) -c $(CFLAGS) {$&.c } | |
dlg.exe : $(OBJS) | |
tlink32 @&&| | |
-Tpe -ax -c -s -L$(BCCDIR)\lib + | |
c0x32 $** | |
$@ | |
$(LIBS) | |
; | |
| | |
copy *.exe ..\bin | |
dlg_p.obj: dlg_p.c | |
dlg_a.obj: dlg_a.c | |
main.obj: main.c | |
err.obj: err.c | |
support.obj: support.c | |
output.obj: output.c | |
relabel.obj: relabel.c | |
automata.obj: automata.c | |
set.$(OBJ_EXT): $(SET)\set.c | |
$(CC) -c $(CFLAGS) $(SET)\set.c | |
==== End of file dlg\bor32.mak (cut here) ===================================== | |