NOTES.bcc revision 4fd606d1f5abe38e1f42c38de1d2e895166bd0f4
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) =====================================