__CINT__ and streambuf cast

Mark Bracey (redsys@interaccess.com)
Mon, 9 Nov 1998 13:35:45 -0600


Can anyone tell me the purpose of the macro __CINT__ in the source for
CINT.

This has to do with my port to C++Builder. I've figured out the problem
and I know how to solve it, it's just I want to make sure it is the right
design decision.

In bcstream/vcstream et there is a cast of *streambuf->overflow but
overflow is a protected member. Anyone know if this has changed from the
previous versions of the template libraries or do I just have the the
#defines wrong.

Thanks,
Mark

----------
From: Valery Fine[SMTP:fine@bnl.gov]
Sent: Monday, November 09, 1998 11:23 AM
To: Valery Fine; fine@mail.cern.ch; roottalk@hpsalo.cern.ch
Cc: roottalk@hpsalo.cern.ch
Subject: Re: Using ROOT on NT without makefile

On 9 Nov 98 at 11:39, Valery Fine wrote:

> On 9 Nov 98 at 13:21, GENTIT Francois-Xavier DAPNI wrote:
>
> > Since I never succeeded in getting the debugger of Visual C++
> > working on my
> > ROOT files when I use a Makefile to start Visual C++
>
> /DEBUG and /PDB options for linker.
>
> I've attached a modified Makefile from test/Makefile to buidl a

Occasionally this message was gone with no attachment.

Here you are:

ObjSuf = obj
SrcSuf = cxx
ExeSuf = .exe
DllSuf = dll
OutPutOpt = /out:

# Win32 system with Microsoft Visual C/C++
!include <win32.mak>
CC = $(cc)
CXX = $(cc)
CXXFLAGS = $(cvarsdll) /O2 /G5 /MD -D_WINDOWS -I$(ROOTSYS)/include
CXXDEBUG = /Zi -Fd$*.pdb

LD = $(link)
LDFLAGS = $(conlflags)
SOFLAGS = $(dlllflags:/PDB:NONE=)
LDDEBUG = -DEBUG -PDB:$*.pdb
ROOTLIBS = $(ROOTSYS)/lib/*.lib
LIBS = $(ROOTLIBS) $(guilibsdll) MSVCIRT.LIB
LIBSALL = $(ROOTLIBS)
EVENTLIB = libEvent.lib

#-----------------------------------------------------------------------
-------

EVENTO = Event.$(ObjSuf) \
EventDict.$(ObjSuf)

EVENTS = Event.$(SrcSuf) \
EventDict.$(SrcSuf)

MAINEVENTS = MainEvent.$(SrcSuf)

MAINEVENTO = MainEvent.$(ObjSuf)

EVENT = Event$(ExeSuf)
EVENTSO = libEvent.$(DllSuf)

HWORLDO = hworld.$(ObjSuf)
HWORLDS = hworld.$(SrcSuf)
HWORLD = hworld$(ExeSuf)

HSIMPLEO = hsimple.$(ObjSuf)
HSIMPLES = hsimple.$(SrcSuf)
HSIMPLE = hsimple$(ExeSuf)

MINEXAMO = minexam.$(ObjSuf)
MINEXAMS = minexam.$(SrcSuf)
MINEXAM = minexam$(ExeSuf)

HELLOO = Hello.$(ObjSuf) HelloDict.$(ObjSuf)
HELLOS = Hello.$(SrcSuf) HelloDict.$(SrcSuf)
HELLOSO = Hello.$(DllSuf)

ACLOCKO = Aclock.$(ObjSuf) AclockDict.$(ObjSuf)
ACLOCKS = Aclock.$(SrcSuf) AclockDict.$(SrcSuf)
ACLOCKSO = Aclock.$(DllSuf)

TSTRINGO = tstring.$(ObjSuf)
TSTRINGS = tstring.$(SrcSuf)
TSTRING = tstring$(ExeSuf)

TCOLLEXO = tcollex.$(ObjSuf)
TCOLLEXS = tcollex.$(SrcSuf)
TCOLLEX = tcollex$(ExeSuf)

VVECTORO = vvector.$(ObjSuf)
VVECTORS = vvector.$(SrcSuf)
VVECTOR = vvector$(ExeSuf)

VMATRIXO = vmatrix.$(ObjSuf)
VMATRIXS = vmatrix.$(SrcSuf)
VMATRIX = vmatrix$(ExeSuf)

VLAZYO = vlazy.$(ObjSuf)
VLAZYS = vlazy.$(SrcSuf)
VLAZY = vlazy$(ExeSuf)

STRESSO = stress.$(ObjSuf)
STRESSS = stress.$(SrcSuf)
STRESS = stress$(ExeSuf)

OBJS = $(EVENTO) $(MAINEVENTO) $(HWORLDO) $(HSIMPLEO) $(MINEXAMO)
\
$(TSTRINGO) $(TCOLLEXO) $(VVECTORO) $(VMATRIXO) $(VLAZYO) \
$(GUITESTO) $(HELLOO) $(ACLOCKO) $(STRESSO) $(EVENTSO)

PROGRAMS = $(EVENT) $(HWORLD) $(HSIMPLE) $(MINEXAM) $(TSTRING) \
$(TCOLLEX) $(VVECTOR) $(VMATRIX) $(VLAZY) $(GUITEST) \
$(HELLOSO) $(ACLOCKSO) $(STRESS)

all: $(PROGRAMS)

$(EVENTSO): $(EVENTO)
BINDEXPLIB $* $(EVENTO) > $*.def
lib /nologo /MACHINE:IX86 $(EVENTO) /def:$*.def
$(OutPutOpt)$(EVENTLIB)
$(LD) $(LDDEBUG) $(SOFLAGS) $(EVENTO) $*.exp $(LIBS)
$(OutPutOpt)$(EVENTSO)

$(EVENT): $(EVENTSO) $(MAINEVENTO)
@echo "libEvent.dll done"
$(LD) $(LDFLAGS) $(MAINEVENTO) $(EVENTLIB) $(LIBS)
$(OutPutOpt)$(EVENT)
@echo "$(EVENT) done"

$(HWORLD): $(HWORLDO)
$(LD) $(LDFLAGS) $(HWORLDO) $(LIBS) $(OutPutOpt)$(HWORLD)
@echo "$(HWORLD) done"

$(HSIMPLE): $(HSIMPLEO)
$(LD) $(LDFLAGS) $(HSIMPLEO) $(LIBS) $(OutPutOpt)$(HSIMPLE)
@echo "$(HSIMPLE) done"

$(MINEXAM): $(MINEXAMO)
$(LD) $(LDFLAGS) $(MINEXAMO) $(LIBS) $(OutPutOpt)$(MINEXAM)
@echo "$(MINEXAM) done"

$(TSTRING): $(TSTRINGO)
$(LD) $(LDFLAGS) $(TSTRINGO) $(LIBS) $(OutPutOpt)$(TSTRING)
@echo "$(TSTRING) done"

$(TCOLLEX): $(TCOLLEXO)
$(LD) $(LDFLAGS) $(TCOLLEXO) $(LIBS) $(OutPutOpt)$(TCOLLEX)
@echo "$(TCOLLEX) done"

$(VVECTOR): $(VVECTORO)
$(LD) $(LDFLAGS) $(VVECTORO) $(LIBS) $(OutPutOpt)$(VVECTOR)
@echo "$(VVECTOR) done"

$(VMATRIX): $(VMATRIXO)
$(LD) $(LDFLAGS) $(VMATRIXO) $(LIBS) $(OutPutOpt)$(VMATRIX)
@echo "$(VMATRIX) done"

$(VLAZY): $(VLAZYO)
$(LD) $(LDFLAGS) $(VLAZYO) $(LIBS) $(OutPutOpt)$(VLAZY)
@echo "$(VLAZY) done"
@echo "$(VMATRIX) done"

$(STRESS): $(STRESSO) $(EVENT)
$(LD) $(LDFLAGS) $(STRESSO) $(EVENTLIB) $(LIBS)
$(OutPutOpt)$(STRESS)
@echo "$(STRESS) done"

$(HELLOSO): $(HELLOO)
$(LD) $(SOFLAGS) $(HELLOO) $(LIBS) $(OutPutOpt)$(HELLOSO)

$(ACLOCKSO): $(ACLOCKO)
$(LD) $(SOFLAGS) $(ACLOCKO) $(LIBS) $(OutPutOpt)$(ACLOCKSO)

clean:
@del /q $(OBJS) EventCint.$(SrcSuf) EventCint.h

###
Event.$(ObjSuf): Event.h
MainEvent.$(ObjSuf): Event.h
EventDict.$(SrcSuf): Event.h EventLinkDef.h
@echo "Generating dictionary EventDict..."
@$(ROOTSYS)\bin\rootcint -f EventDict.$(SrcSuf) -c Event.h
EventLinkDef.h

Hello.$(ObjSuf): Hello.h
HelloDict.$(SrcSuf): Hello.h
@echo "Generating dictionary HelloDict..."
@$(ROOTSYS)\bin\rootcint -f HelloDict.$(SrcSuf) -c Hello.h

Aclock.$(ObjSuf): Aclock.h
AclockDict.$(SrcSuf): Aclock.h
@echo "Generating dictionary AclockDict..."
@$(ROOTSYS)\bin\rootcint -f AclockDict.$(SrcSuf) -c Aclock.h

.$(SrcSuf).$(ObjSuf):
$(CXX) $(CXXFLAGS) $(CXXDEBUG) -c $<

=================================================================
Dr. Valeri Faine (Fine)
------------------- Phone: +1 516 344 7806
Brookhaven National Laboratory FAX : +1 516 344 4206
Bldg. 510A /STAR mailto:fine@bnl.gov
Upton, New York, 11973-5000 http://nicewww.cern.ch/~fine
USA

Dr. Valery Fine Telex : 911621 dubna su
-----------
LCTA/Joint Inst.for Nuclear Res. Phone : +7 09621 6 40 80
141980 Dubna, Moscow region Fax : +7 09621 6 51 45
Russia mailto:fine@main1.jinr.dubna.su